{"id":1030,"date":"2026-01-14T13:47:37","date_gmt":"2026-01-14T13:47:37","guid":{"rendered":"https:\/\/allintheloop.com\/nata-2026-convention\/?page_id=1030"},"modified":"2026-01-14T13:50:30","modified_gmt":"2026-01-14T13:50:30","slug":"networking-schedule","status":"publish","type":"page","link":"https:\/\/allintheloop.com\/nata-2026-convention\/networking-schedule\/","title":{"rendered":"Networking Schedule"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1030\" class=\"elementor elementor-1030\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0180ebb e-flex e-con-boxed e-con e-parent\" data-id=\"0180ebb\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0656f98 elementor-widget elementor-widget-heading\" data-id=\"0656f98\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Networking Schedule<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-92a04ca e-flex e-con-boxed e-con e-parent\" data-id=\"92a04ca\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1ef34a7 elementor-widget elementor-widget-shortcode\" data-id=\"1ef34a7\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t    <!-- SIDEBAR FILTER PANEL -->\n        <div class=\"filter-sidebar\">\n            <div class=\"filter-sidebar-inner\">\n                <div class=\"filter-header\">\n                    <h3>Filter by Type<\/h3>\n                    <button class=\"filter-close-btn\">&times;<\/button>\n                <\/div>\n                <div class=\"filter-clear-bar\" style=\"padding: 0 20px 15px; display: none;\">\n                    <button class=\"clear-filter-btn\" style=\"\n                        background: transparent;\n                        border: 1px solid #dc3545;\n                        color: #dc3545;\n                        padding: 8px 16px;\n                        border-radius: 6px;\n                        cursor: pointer;\n                        font-size: 14px;\n                        font-weight: 500;\n                        display: flex;\n                        align-items: center;\n                        gap: 6px;\n                        transition: all 0.2s ease;\n                    \">\n                        <i class=\"fa fa-times-circle\"><\/i> Clear All\n                    <\/button>\n                <\/div>\n        \n                <div class=\"filter-body\">\n                    <!-- Dynamic Types -->\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"6971\">\n                            Access                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-6971\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45236\"\n                                            data-group=\"6971\"\n                                            data-type-color=\"#2E2D66\">\n\n                                        <span class=\"checkbox-label\">\n                                            Pre-registration required.                                        <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45275\"\n                                            data-group=\"6971\"\n                                            data-type-color=\"#2E2D66\">\n\n                                        <span class=\"checkbox-label\">\n                                            Invitation only.                                        <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"6973\">\n                            Domains                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-6973\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45237\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45238\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45262\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45239\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45255\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45242\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45265\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45256\"\n                                            data-group=\"6973\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"7177\">\n                            Event Format                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-7177\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45241\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45257\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45267\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45260\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45246\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"46180\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"46179\"\n                                            data-group=\"7177\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"7009\">\n                            On Demand                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-7009\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45248\"\n                                            data-group=\"7009\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"6991\">\n                            Pathways                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-6991\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45249\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45243\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45266\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45258\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45247\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45268\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45270\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45264\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45259\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45253\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45250\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45244\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45251\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45252\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45269\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45245\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45254\"\n                                            data-group=\"6991\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"6981\">\n                            Skill Level                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-6981\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45240\"\n                                            data-group=\"6981\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45263\"\n                                            data-group=\"6981\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45261\"\n                                            data-group=\"6981\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    \n                    <div class=\"filter-group\">\n                        <h5 class=\"group-title\" data-group=\"7010\">\n                            Track                            <span class=\"toggle-icon\">\n                                <i class=\"fa-solid fa-chevron-down\"><\/i>\n                            <\/span>\n                        <\/h5>\n\n                        <ul class=\"filter-checkbox-list\" id=\"group-7010\">\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45234\"\n                                            data-group=\"7010\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                            <li>\n                                    <label>\n                                        <input type=\"checkbox\"\n                                            class=\"filter-checkbox\"\n                                            value=\"45233\"\n                                            data-group=\"7010\"\n                                            data-type-color=\"#0073aa\">\n\n                                        <span class=\"checkbox-label\">\n                                                                                    <\/span>\n                                    <\/label>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                                                            <div class=\"filter-footer\">\n                        <div class=\"filter-mode-toggle\">\n                            <label class=\"toggle-label\">\n                                <input type=\"radio\" name=\"filter-mode\" value=\"and\" checked>\n                                <span>AND<\/span>\n                            <\/label>\n                            <label class=\"toggle-label\">\n                                <input type=\"radio\" name=\"filter-mode\" value=\"or\">\n                                <span>OR<\/span>\n                            <\/label>\n                        <\/div>\n                        <button class=\"apply-filter-btn\">Apply Filter<\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- BACKDROP -->\n        <div class=\"filter-backdrop\"><\/div>\n        \t\t<div class=\"elementor-shortcode\">    <section class=\"schedule-section style-two\">\n                <div class=\"schedule-section-inner\">\n            <div class=\"schedule-tabs style-two tabs-box\">\n                <!-- ============================== -->\n                <!--     SEARCH BAR ADDED HERE     -->\n                <!-- ============================== -->\n                <div class=\"schedule-search-filter-main\">\n                    <div class=\"schedule-search-wrapper\" style=\"margin-bottom: 25px; text-align:center; position: relative; display: flex; align-items: center; gap: 10px;\">\n                        <input type=\"text\" id=\"scheduleSearch\" \n                            placeholder=\"Search sessions...\"\n                            style=\"\n                                width: 60%;\n                                padding: 12px 15px;\n                                font-size: 16px;\n                                border: 1px solid #ccc;\n                                border-radius: 8px;\n                            \">\n                        <button type=\"button\" id=\"clearSearchBtn\" \n                            style=\"\n                                padding: 12px 20px;\n                                font-size: 14px;\n                                background: #dc3545;\n                                color: #fff;\n                                border: none;\n                                border-radius: 8px;\n                                cursor: pointer;\n                                display: none;\n                            \">\n                            <i class=\"fa fa-times\"><\/i> Clear\n                        <\/button>\n                    <\/div>  \n                    <button type=\"button\" id=\"clearFilterMainBtn\" \n                        style=\"\n                            padding: 10px 18px;\n                            font-size: 14px;\n                            background: #dc3545;\n                            color: #fff;\n                            border: none;\n                            border-radius: 6px;\n                            cursor: pointer;\n                            margin-left: 10px;\n                            display: none;\n                            margin-bottom: 25px;\n                            margin-right: 10px;\n                        \">\n                        <i class=\"fa fa-times\"><\/i> Clear Filter\n                    <\/button> \n                    <button class=\"open-filter-btn\">\n                        <i class=\"fa fa-filter\"><\/i> Filter\n                    <\/button>\n                    \n                <\/div>\n                <!-- Tabs Navigation -->\n                <div class=\"tab-buttons-wrapper\">\n                    <button class=\"carousel-nav-btn carousel-prev\" type=\"button\">\n                        <i class=\"fa fa-chevron-left\"><\/i>\n                    <\/button>\n                    <div class=\"tab-buttons-carousel-container\">\n                        <ul class=\"tab-buttons-carousel\">\n                                                            <li class=\"tab-btn-item\">\n                                    <div class=\"tab-btn active-btn\"\n                                        data-tab=\"#tab-1\"\n                                        data-index=\"0\"\n                                        data-date=\"2026-06-29\">\n                                        <span class=\"date\">29<\/span>\n                                        <span class=\"month\">Jun<\/span>\n                                        \n                                        <span class=\"day-name\">MON<\/span>\n                                    <\/div>\n                                <\/li>\n                                                            <li class=\"tab-btn-item\">\n                                    <div class=\"tab-btn \"\n                                        data-tab=\"#tab-2\"\n                                        data-index=\"1\"\n                                        data-date=\"2026-06-30\">\n                                        <span class=\"date\">30<\/span>\n                                        <span class=\"month\">Jun<\/span>\n                                        \n                                        <span class=\"day-name\">TUE<\/span>\n                                    <\/div>\n                                <\/li>\n                                                            <li class=\"tab-btn-item\">\n                                    <div class=\"tab-btn \"\n                                        data-tab=\"#tab-3\"\n                                        data-index=\"2\"\n                                        data-date=\"2026-07-01\">\n                                        <span class=\"date\">01<\/span>\n                                        <span class=\"month\">Jul<\/span>\n                                        \n                                        <span class=\"day-name\">WED<\/span>\n                                    <\/div>\n                                <\/li>\n                                                            <li class=\"tab-btn-item\">\n                                    <div class=\"tab-btn \"\n                                        data-tab=\"#tab-4\"\n                                        data-index=\"3\"\n                                        data-date=\"2026-07-02\">\n                                        <span class=\"date\">02<\/span>\n                                        <span class=\"month\">Jul<\/span>\n                                        \n                                        <span class=\"day-name\">THU<\/span>\n                                    <\/div>\n                                <\/li>\n                                                    <\/ul>\n                    <\/div>\n                    <button class=\"carousel-nav-btn carousel-next\" type=\"button\">\n                        <i class=\"fa fa-chevron-right\"><\/i>\n                    <\/button>\n                <\/div>\n\n                <div class=\"tabs-content\" \n                     data-ajax-url=\"https:\/\/allintheloop.com\/nata-2026-convention\/wp-admin\/admin-ajax.php\"\n                     data-nonce=\"97d26b1098\">\n                                            <div class=\"tab active-tab color-1\"\n                             id=\"tab-1\"\n                             data-date=\"2026-06-29\"\n                             data-loaded=\"true\">\n                            \n                                                        <!-- <div class=\"tab-date-header\" style=\"\n                                font-size: 20px;\n                                font-weight: 600;\n                                margin-bottom: 20px;\n                                padding: 15px 0;\n                                border-bottom: 2px solid #e0e0e0;\n                                color: #222;\n                            \">\n                               \/*esc_html($dayName . ', ' . $monthName . ' ' . $dayNumber);*\/ \n                            <\/div> -->\n\n                            <div class=\"schedule-timeline\">\n                                \n                                <div class=\"schedule-block color-1  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"career center live open visit the online nata career center at any time before, during or after the 77th nata clinical symposia &amp; at expo.the nata career center live allows candidates and recruiting institutions to make in-person career connections. see the career center live section in the left-hand menu for more information.sponsored by:\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                8:00 AM - 5:00 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/allintheloop.com\/nata-2026-convention\/schedule-details\/?agenda_id=Ab%2FieSEoHinD3G8ch6tN3g%3D%3D\">\n                                                        Career Center Live Open                                                    <\/a>\n                                                                                                <\/h4>\n\n                                                                                            <div class=\"text\"><p>Visit the <a href=\"https:\/\/www.nata.org\/career-education\/career-center\" target=\"_blank\">online NATA Career Center<\/a> at any time before, during or after the 77th NATA Clinical Symposia & AT Expo.<br><br>The NATA Career Center live allows candidates and recruiting institutions to make in-person career connections. See the Career Center Live section in the left-hand menu for more information.<br><br>Sponsored by:<br><img decoding=\"async\" src=\"https:\/\/allintheloop.info\/media\/4990\/6a18066e0950b_.png\" width=\"65%\"><\/p><\/div>\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\n                                                                                            <div class=\"agenda-locations\">\n                                                    <span class=\"icon fa fa-map-marker-alt\"><\/span>\n                                                    PCC, 204A                                                <\/div>\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                \n                                <div class=\"schedule-block color-2  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"nata happy hour pick up your convention badge at registration and kick off your convention experience by grabbing a free drink at the nata happy hour attendee reception from 5:15 to 6:15 p.m. june 29 at the pennsylvania convention center (pcc). one complimentary beverage (beer, wine, soda or water) per paid registrant. additional beverages available for purchase.\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                5:15 PM - 6:15 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/allintheloop.com\/nata-2026-convention\/schedule-details\/?agenda_id=iGZG67xsqRty0sgF4P54hA%3D%3D\">\n                                                        NATA Happy Hour                                                    <\/a>\n                                                                                                <\/h4>\n\n                                                                                            <div class=\"text\"><p>Pick up your convention badge at registration and kick off your convention experience by grabbing a free drink at the NATA Happy Hour attendee reception from 5:15 to 6:15 p.m. June 29 at the Pennsylvania Convention Center (PCC). One complimentary beverage (beer, wine, soda or water) per paid registrant. Additional beverages available for purchase.<\/p><\/div>\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\n                                                                                            <div class=\"agenda-locations\">\n                                                    <span class=\"icon fa fa-map-marker-alt\"><\/span>\n                                                    PCC, Hall B                                                <\/div>\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                \n                                <div class=\"schedule-block color-3  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"nata district meetings hear from your district leadership and connect with peers from your area during the nata district meetings. locations:district 1: pcc, 121a district 2:  pcc, 103a district 3:  pcc, 201c district 4 &amp; 11:  pcc, 108a district 5:  pcc, 113a district 6:  pcc, 120a district 7:  pcc, 105a district 8:  pcc, 119a district 9:  pcc, 201a district 10:  pcc, 108b\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                6:30 PM - 7:30 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/allintheloop.com\/nata-2026-convention\/schedule-details\/?agenda_id=Gi4aRrX5OivpgYLMKoqZQA%3D%3D\">\n                                                        NATA District Meetings                                                    <\/a>\n                                                                                                <\/h4>\n\n                                                                                            <div class=\"text\"><p>Hear from your district leadership and connect with peers from your area during the NATA district meetings. <br><br>Locations:<br><br>District 1: PCC, 121A <br><br>District 2:  PCC, 103A <br><br>District 3:  PCC, 201C <br><br>District 4 & 11:  PCC, 108A <br><br>District 5:  PCC, 113A <br><br>District 6:  PCC, 120A <br><br>District 7:  PCC, 105A <br><br>District 8:  PCC, 119A <br><br>District 9:  PCC, 201A <br><br>District 10:  PCC, 108B <\/p><\/div>\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                \n                                <div class=\"schedule-block color-4  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"nata foundation fundraiser - 35th anniversary party ticket required for entryrock &amp; bowl at lucky strike - celebrating 35 years of impact - 90\u2019s style!get ready to roll, rock, and relive the 90\u2019s!join the nata research &amp; education foundation for an unforgettable night of bowling, live music, great food, and fundraising as we celebrate 35 years of advancing the athletic training profession.rock &amp; bowl at lucky strike philadelphia brings together unlimited bowling, interactive games, and high-energy live entertainment from the flying ivories, a dueling piano act playing your favorite 90\u2019s hits. whether you\u2019re hitting the lanes, singing along in the lounge, or catching up with colleagues, there\u2019s something for everyone.break out your best 90\u2019s outfit or band t-shirt and help us celebrate this milestone anniversary in style! why should you attend? - 3 hours of non-stop fun: bowl to your heart\u2019s content, dance and sing along to 90\u2019s classics from dueling pianos, challenge friends at pool and ping pong, and enjoy a lively, social atmosphere. - food &amp; drinks included: enjoy a pizza and fajita buffet, plus an open bar featuring beer, wine, and soda throughout the evening. - exciting on-site fundraising games: take part in a wine pull, browse and bid in the silent auction, and join in additional fun games\u2014all supporting a great cause. - support a worthy cause: all proceeds benefit the nata foundation, helping fund research, scholarships, and educational programs that strengthen the future of athletic training.important information - limited tickets available: space is limited- tickets must be purchased by june 15. be sure to secure yours when registering for nata 2026. - why you shouldn\u2019t miss it: celebrate 35 years of impact, connect with colleagues, enjoy a high-energy night out, and support the profession - all in one unforgettable evening.for more information, visit the nata foundation website.  pre-registration required.\" data-types=\"45236\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                7:30 PM - 10:30 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/allintheloop.com\/nata-2026-convention\/schedule-details\/?agenda_id=r%2FNtIQUN7RFKZ%2BlBiM22gQ%3D%3D\">\n                                                        NATA Foundation Fundraiser - 35th Anniversary Party                                                    <\/a>\n                                                                                                <\/h4>\n\n                                                                                            <div class=\"text\"><p>TICKET REQUIRED FOR ENTRY<BR><BR>Rock & Bowl at Lucky Strike - Celebrating 35 Years of Impact - 90\u2019s Style!<br><br>Get ready to roll, rock, and relive the 90\u2019s!<br><br>Join the NATA Research & Education Foundation for an unforgettable night of bowling, live music, great food, and fundraising as we celebrate 35 years of advancing the athletic training profession.<br><br>Rock & Bowl at Lucky Strike Philadelphia brings together unlimited bowling, interactive games, and high-energy live entertainment from The Flying Ivories, a dueling piano act playing your favorite 90\u2019s hits. Whether you\u2019re hitting the lanes, singing along in the lounge, or catching up with colleagues, there\u2019s something for everyone.<br><br>Break out your best 90\u2019s outfit or band T-shirt and help us celebrate this milestone anniversary in style! <br><br>Why Should You Attend?<br><br> - 3 Hours of Non-Stop Fun: Bowl to your heart\u2019s content, dance and sing along to 90\u2019s classics from dueling pianos, challenge friends at pool and ping pong, and enjoy a lively, social atmosphere.<br><br> - Food & Drinks Included: Enjoy a pizza and fajita buffet, plus an open bar featuring beer, wine, and soda throughout the evening.<br><br> - Exciting On-Site Fundraising Games: Take part in a wine pull, browse and bid in the silent auction, and join in additional fun games\u2014all supporting a great cause.<br><br> - Support a Worthy Cause: All proceeds benefit the NATA Foundation, helping fund research, scholarships, and educational programs that strengthen the future of athletic training.<br><br>Important Information<br><br> - Limited Tickets Available: Space is limited- tickets must be purchased by June 15. Be sure to secure yours when registering for NATA 2026.<br><br> - Why You Shouldn\u2019t Miss It: Celebrate 35 years of impact, connect with colleagues, enjoy a high-energy night out, and support the profession - all in one unforgettable evening.<br><br>For more information, visit the NATA Foundation website.<\/p><\/div>\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #2E2D66;\n                                                                color: #fff;\n                                                                padding: 4px 10px;\n                                                                border-radius: 6px;\n                                                                font-size: 16px;\n                                                                margin-right: 6px;\n                                                                margin-bottom: 15px;\n                                                                display: inline-block;\n                                                            \">\n                                                            Pre-registration required.                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                                            <\/div>\n                        <\/div>\n                                            <div class=\"tab  color-2\"\n                             id=\"tab-2\"\n                             data-date=\"2026-06-30\"\n                             data-loaded=\"false\">\n                            \n                                                        <!-- <div class=\"tab-date-header\" style=\"\n                                font-size: 20px;\n                                font-weight: 600;\n                                margin-bottom: 20px;\n                                padding: 15px 0;\n                                border-bottom: 2px solid #e0e0e0;\n                                color: #222;\n                            \">\n                               \/*esc_html($dayName . ', ' . $monthName . ' ' . $dayNumber);*\/ \n                            <\/div> -->\n\n                            <div class=\"schedule-timeline\">\n                                                            <\/div>\n                        <\/div>\n                                            <div class=\"tab  color-3\"\n                             id=\"tab-3\"\n                             data-date=\"2026-07-01\"\n                             data-loaded=\"false\">\n                            \n                                                        <!-- <div class=\"tab-date-header\" style=\"\n                                font-size: 20px;\n                                font-weight: 600;\n                                margin-bottom: 20px;\n                                padding: 15px 0;\n                                border-bottom: 2px solid #e0e0e0;\n                                color: #222;\n                            \">\n                               \/*esc_html($dayName . ', ' . $monthName . ' ' . $dayNumber);*\/ \n                            <\/div> -->\n\n                            <div class=\"schedule-timeline\">\n                                                            <\/div>\n                        <\/div>\n                                            <div class=\"tab  color-4\"\n                             id=\"tab-4\"\n                             data-date=\"2026-07-02\"\n                             data-loaded=\"false\">\n                            \n                                                        <!-- <div class=\"tab-date-header\" style=\"\n                                font-size: 20px;\n                                font-weight: 600;\n                                margin-bottom: 20px;\n                                padding: 15px 0;\n                                border-bottom: 2px solid #e0e0e0;\n                                color: #222;\n                            \">\n                               \/*esc_html($dayName . ', ' . $monthName . ' ' . $dayNumber);*\/ \n                            <\/div> -->\n\n                            <div class=\"schedule-timeline\">\n                                                            <\/div>\n                        <\/div>\n                                    <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Pagination -->\n            <\/section>\n    \n    <!-- Global Schedule Data -->\n    <script>\n    window.scheduleUserData = {\n        isLoggedIn: false,\n        eventId: '4990',\n        userId: '',\n        userAgendaIds: [],\n        scheduleDetailUrl: 'https:\/\/allintheloop.com\/nata-2026-convention\/schedule-details\/',\n        templateDirUri: 'https:\/\/allintheloop.com\/nata-2026-convention\/wp-content\/themes\/hello-elementor',\n        firstDate: '2026-06-29',\n        currentLoadedDate: '2026-06-29',\n        initialAgendaData: [{\"agenda_id\":\"566620\",\"Start_date\":\"2026-06-29\",\"Start_time\":\"08:00:00\",\"End_date\":\"2026-06-29\",\"End_time\":\"17:00:00\",\"checking_datetime\":\"\",\"Maximum_People\":1,\"Heading\":\"Career Center Live Open\",\"Types\":\"\",\"Agenda_status\":\"1\",\"Speaker_id\":\"\",\"Chair_id\":\"\",\"sponsor_id\":\"\",\"type_ids\":[],\"document_id\":\"\",\"document_ids\":\"\",\"presentation_id\":\"\",\"Address_map\":\"\",\"other_types\":\"\",\"location\":\"PCC, 204A\",\"short_desc\":\"\",\"description\":\"<p>Visit the <a href=\\\"https:\\\/\\\/www.nata.org\\\/career-education\\\/career-center\\\" target=\\\"_blank\\\">online NATA Career Center<\\\/a> at any time before, during or after the 77th NATA Clinical Symposia & AT Expo.<br><br>The NATA Career Center live allows candidates and recruiting institutions to make in-person career connections. See the Career Center Live section in the left-hand menu for more information.<br><br>Sponsored by:<br><img src=\\\"https:\\\/\\\/allintheloop.info\\\/media\\\/4990\\\/6a18066e0950b_.png\\\" width=\\\"65%\\\"><\\\/p>\",\"Event_show_time_zone\":\"UTC-4\",\"time_zone\":\"\",\"Documents\":\"\",\"session_image\":\"\",\"thumbnail\":\"\",\"s3_image\":\"\",\"s3_image_thumbnail\":\"\",\"show_checking_in\":\"0\",\"speaker\":\"\",\"sponsor\":\"\",\"chair\":\"\",\"survey_id\":\"\",\"session_tracks\":\"\",\"hide_save_session\":\"0\",\"Address_map_id\":\"\",\"Map_title\":\"\",\"tname\":\"\",\"font_color\":null,\"document_file\":\"\",\"custom_location\":\"PCC, 204A\",\"show_rating\":\"0\",\"qasession_id\":\"0\",\"allow_comments\":\"0\",\"video_link\":\"\",\"multi_broadcasters\":[],\"check_dwg_files\":\"0\",\"show_places_remaining\":\"0\",\"is_live_stream\":\"0\",\"video_link_ondemand\":\"\",\"is_meeting_room\":\"0\",\"is_green_room\":\"0\",\"is_zoom_link\":\"0\",\"zoom_link\":\"\",\"is_hide_ls_discussion\":\"\",\"is_hide_mr_discussion\":\"0\",\"is_hide_mr_presenters\":\"0\",\"moderation\":\"0\",\"remaining_place_message\":\"\",\"video_description\":\"\",\"isExpoFpFplan\":\"\",\"expoFP_Url\":\"\",\"show_reminder_button\":\"0\",\"location_time_zone\":\"America\\\/New_York\",\"type_id\":\"\",\"sort_order\":\"0\",\"is_on_demand\":\"0\",\"category_ids\":[\"12538\"],\"font_icon\":\"\",\"is_checked_in\":false,\"user_flag\":\"0\",\"start_time_for_reversetimer\":\"08:00 am\",\"show_comment_box\":\"1\",\"show_feedback\":\"0\",\"max_count\":\"14\",\"is_map_visible_btn\":\"0\",\"map_details\":[],\"multi_broadcasters_details\":[],\"documents_data\":[],\"rating\":\"\",\"is_saved\":\"0\",\"check_max_people\":\"0\",\"available_user\":\"14\",\"checkout\":\"0\",\"is_user_checkin\":\"0\",\"scan_badge\":\"0\",\"is_next_session\":\"0\",\"utc_date\":\"2026-06-12\",\"utc_time\":\"04:46:24\",\"timestamp\":1782720000,\"speakers\":[],\"chairs\":[],\"sponsors\":[],\"exhibitors\":[],\"time_slot\":\"morning\",\"search_text\":\"career center live open visit the online nata career center at any time before, during or after the 77th nata clinical symposia & at expo.the nata career center live allows candidates and recruiting institutions to make in-person career connections. see the career center live section in the left-hand menu for more information.sponsored by:\"},{\"agenda_id\":\"566594\",\"Start_date\":\"2026-06-29\",\"Start_time\":\"17:15:00\",\"End_date\":\"2026-06-29\",\"End_time\":\"18:15:00\",\"checking_datetime\":\"\",\"Maximum_People\":1,\"Heading\":\"NATA Happy Hour\",\"Types\":\"\",\"Agenda_status\":\"1\",\"Speaker_id\":\"\",\"Chair_id\":\"\",\"sponsor_id\":\"307295\",\"type_ids\":[],\"document_id\":\"\",\"document_ids\":\"\",\"presentation_id\":\"\",\"Address_map\":\"\",\"other_types\":\"\",\"location\":\"PCC, Hall B\",\"short_desc\":\"\",\"description\":\"<p>Pick up your convention badge at registration and kick off your convention experience by grabbing a free drink at the NATA Happy Hour attendee reception from 5:15 to 6:15 p.m. June 29 at the Pennsylvania Convention Center (PCC). One complimentary beverage (beer, wine, soda or water) per paid registrant. Additional beverages available for purchase.<\\\/p>\",\"Event_show_time_zone\":\"UTC-4\",\"time_zone\":\"\",\"Documents\":\"\",\"session_image\":\"\",\"thumbnail\":\"\",\"s3_image\":\"\",\"s3_image_thumbnail\":\"\",\"show_checking_in\":\"0\",\"speaker\":\"\",\"sponsor\":\"1AITL3\",\"chair\":\"\",\"survey_id\":\"\",\"session_tracks\":\"\",\"hide_save_session\":\"0\",\"Address_map_id\":\"\",\"Map_title\":\"\",\"tname\":\"\",\"font_color\":null,\"document_file\":\"\",\"custom_location\":\"PCC, Hall B\",\"show_rating\":\"0\",\"qasession_id\":\"0\",\"allow_comments\":\"0\",\"video_link\":\"\",\"multi_broadcasters\":[],\"check_dwg_files\":\"0\",\"show_places_remaining\":\"0\",\"is_live_stream\":\"0\",\"video_link_ondemand\":\"\",\"is_meeting_room\":\"0\",\"is_green_room\":\"0\",\"is_zoom_link\":\"0\",\"zoom_link\":\"\",\"is_hide_ls_discussion\":\"\",\"is_hide_mr_discussion\":\"0\",\"is_hide_mr_presenters\":\"0\",\"moderation\":\"0\",\"remaining_place_message\":\"\",\"video_description\":\"\",\"isExpoFpFplan\":\"\",\"expoFP_Url\":\"\",\"show_reminder_button\":\"0\",\"location_time_zone\":\"America\\\/New_York\",\"type_id\":\"\",\"sort_order\":\"0\",\"is_on_demand\":\"0\",\"category_ids\":[\"12538\"],\"font_icon\":\"\",\"is_checked_in\":false,\"user_flag\":\"0\",\"start_time_for_reversetimer\":\"05:15 pm\",\"show_comment_box\":\"1\",\"show_feedback\":\"0\",\"max_count\":\"14\",\"is_map_visible_btn\":\"0\",\"map_details\":[],\"multi_broadcasters_details\":[],\"documents_data\":[],\"rating\":\"\",\"is_saved\":\"0\",\"check_max_people\":\"0\",\"available_user\":\"14\",\"checkout\":\"0\",\"is_user_checkin\":\"0\",\"scan_badge\":\"0\",\"is_next_session\":\"0\",\"utc_date\":\"2026-06-12\",\"utc_time\":\"04:46:24\",\"timestamp\":1782753300,\"speakers\":[],\"chairs\":[],\"sponsors\":[],\"exhibitors\":[],\"time_slot\":\"evening\",\"search_text\":\"nata happy hour pick up your convention badge at registration and kick off your convention experience by grabbing a free drink at the nata happy hour attendee reception from 5:15 to 6:15 p.m. june 29 at the pennsylvania convention center (pcc). one complimentary beverage (beer, wine, soda or water) per paid registrant. additional beverages available for purchase.\"},{\"agenda_id\":\"566593\",\"Start_date\":\"2026-06-29\",\"Start_time\":\"18:30:00\",\"End_date\":\"2026-06-29\",\"End_time\":\"19:30:00\",\"checking_datetime\":\"\",\"Maximum_People\":1,\"Heading\":\"NATA District Meetings\",\"Types\":\"\",\"Agenda_status\":\"1\",\"Speaker_id\":\"\",\"Chair_id\":\"\",\"sponsor_id\":\"\",\"type_ids\":[],\"document_id\":\"\",\"document_ids\":\"\",\"presentation_id\":\"\",\"Address_map\":\"\",\"other_types\":\"\",\"location\":\"\",\"short_desc\":\"\",\"description\":\"<p>Hear from your district leadership and connect with peers from your area during the NATA district meetings. <br><br>Locations:<br><br>District 1: PCC, 121A <br><br>District 2:  PCC, 103A <br><br>District 3:  PCC, 201C <br><br>District 4 & 11:  PCC, 108A <br><br>District 5:  PCC, 113A <br><br>District 6:  PCC, 120A <br><br>District 7:  PCC, 105A <br><br>District 8:  PCC, 119A <br><br>District 9:  PCC, 201A <br><br>District 10:  PCC, 108B <\\\/p>\",\"Event_show_time_zone\":\"UTC-4\",\"time_zone\":\"\",\"Documents\":\"\",\"session_image\":\"\",\"thumbnail\":\"\",\"s3_image\":\"\",\"s3_image_thumbnail\":\"\",\"show_checking_in\":\"0\",\"speaker\":\"\",\"sponsor\":\"\",\"chair\":\"\",\"survey_id\":\"\",\"session_tracks\":\"\",\"hide_save_session\":\"0\",\"Address_map_id\":\"\",\"Map_title\":\"\",\"tname\":\"\",\"font_color\":null,\"document_file\":\"\",\"custom_location\":\"\",\"show_rating\":\"0\",\"qasession_id\":\"0\",\"allow_comments\":\"0\",\"video_link\":\"\",\"multi_broadcasters\":[],\"check_dwg_files\":\"0\",\"show_places_remaining\":\"0\",\"is_live_stream\":\"0\",\"video_link_ondemand\":\"\",\"is_meeting_room\":\"0\",\"is_green_room\":\"0\",\"is_zoom_link\":\"\",\"zoom_link\":\"\",\"is_hide_ls_discussion\":\"\",\"is_hide_mr_discussion\":\"0\",\"is_hide_mr_presenters\":\"0\",\"moderation\":\"0\",\"remaining_place_message\":\"\",\"video_description\":\"\",\"isExpoFpFplan\":\"\",\"expoFP_Url\":\"\",\"show_reminder_button\":\"0\",\"location_time_zone\":\"America\\\/New_York\",\"type_id\":\"\",\"sort_order\":\"0\",\"is_on_demand\":\"0\",\"category_ids\":[\"12538\"],\"font_icon\":\"\",\"is_checked_in\":false,\"user_flag\":\"0\",\"start_time_for_reversetimer\":\"06:30 pm\",\"show_comment_box\":\"1\",\"show_feedback\":\"0\",\"max_count\":\"14\",\"is_map_visible_btn\":\"0\",\"map_details\":[],\"multi_broadcasters_details\":[],\"documents_data\":[],\"rating\":\"\",\"is_saved\":\"0\",\"check_max_people\":\"0\",\"available_user\":\"14\",\"checkout\":\"0\",\"is_user_checkin\":\"0\",\"scan_badge\":\"0\",\"is_next_session\":\"0\",\"utc_date\":\"2026-06-12\",\"utc_time\":\"04:46:24\",\"timestamp\":1782757800,\"speakers\":[],\"chairs\":[],\"sponsors\":[],\"exhibitors\":[],\"time_slot\":\"evening\",\"search_text\":\"nata district meetings hear from your district leadership and connect with peers from your area during the nata district meetings. locations:district 1: pcc, 121a district 2:  pcc, 103a district 3:  pcc, 201c district 4 & 11:  pcc, 108a district 5:  pcc, 113a district 6:  pcc, 120a district 7:  pcc, 105a district 8:  pcc, 119a district 9:  pcc, 201a district 10:  pcc, 108b \"},{\"agenda_id\":\"566659\",\"Start_date\":\"2026-06-29\",\"Start_time\":\"19:30:00\",\"End_date\":\"2026-06-29\",\"End_time\":\"22:30:00\",\"checking_datetime\":\"\",\"Maximum_People\":1,\"Heading\":\"NATA Foundation Fundraiser - 35th Anniversary Party\",\"Types\":\"Pre-registration required.\",\"Agenda_status\":\"1\",\"Speaker_id\":\"\",\"Chair_id\":\"\",\"sponsor_id\":\"\",\"type_ids\":[{\"type_id\":\"45236\",\"name\":\"Pre-registration required.\",\"color\":\"#2E2D66\",\"font_icon\":\"\",\"order_no\":\"1\",\"font_color\":\"#FFFFFF\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2E2D66\"}],\"document_id\":\"\",\"document_ids\":\"\",\"presentation_id\":\"\",\"Address_map\":\"\",\"other_types\":\"\",\"location\":\"\",\"short_desc\":\"\",\"description\":\"<p>TICKET REQUIRED FOR ENTRY<BR><BR>Rock & Bowl at Lucky Strike - Celebrating 35 Years of Impact - 90\\u2019s Style!<br><br>Get ready to roll, rock, and relive the 90\\u2019s!<br><br>Join the NATA Research & Education Foundation for an unforgettable night of bowling, live music, great food, and fundraising as we celebrate 35 years of advancing the athletic training profession.<br><br>Rock & Bowl at Lucky Strike Philadelphia brings together unlimited bowling, interactive games, and high-energy live entertainment from The Flying Ivories, a dueling piano act playing your favorite 90\\u2019s hits. Whether you\\u2019re hitting the lanes, singing along in the lounge, or catching up with colleagues, there\\u2019s something for everyone.<br><br>Break out your best 90\\u2019s outfit or band T-shirt and help us celebrate this milestone anniversary in style! <br><br>Why Should You Attend?<br><br> - 3 Hours of Non-Stop Fun: Bowl to your heart\\u2019s content, dance and sing along to 90\\u2019s classics from dueling pianos, challenge friends at pool and ping pong, and enjoy a lively, social atmosphere.<br><br> - Food & Drinks Included: Enjoy a pizza and fajita buffet, plus an open bar featuring beer, wine, and soda throughout the evening.<br><br> - Exciting On-Site Fundraising Games: Take part in a wine pull, browse and bid in the silent auction, and join in additional fun games\\u2014all supporting a great cause.<br><br> - Support a Worthy Cause: All proceeds benefit the NATA Foundation, helping fund research, scholarships, and educational programs that strengthen the future of athletic training.<br><br>Important Information<br><br> - Limited Tickets Available: Space is limited- tickets must be purchased by June 15. Be sure to secure yours when registering for NATA 2026.<br><br> - Why You Shouldn\\u2019t Miss It: Celebrate 35 years of impact, connect with colleagues, enjoy a high-energy night out, and support the profession - all in one unforgettable evening.<br><br>For more information, visit the NATA Foundation website.<\\\/p>\",\"Event_show_time_zone\":\"UTC-4\",\"time_zone\":\"\",\"Documents\":\"\",\"session_image\":\"\",\"thumbnail\":\"\",\"s3_image\":\"\",\"s3_image_thumbnail\":\"\",\"show_checking_in\":\"0\",\"speaker\":\"\",\"sponsor\":\"\",\"chair\":\"\",\"survey_id\":\"\",\"session_tracks\":\"45236\",\"hide_save_session\":\"0\",\"Address_map_id\":\"\",\"Map_title\":\"\",\"tname\":\"Pre-registration required.\",\"font_color\":\"#FFFFFF\",\"document_file\":\"\",\"custom_location\":\"\",\"show_rating\":\"0\",\"qasession_id\":\"0\",\"allow_comments\":\"0\",\"video_link\":\"\",\"multi_broadcasters\":[],\"check_dwg_files\":\"0\",\"show_places_remaining\":\"0\",\"is_live_stream\":\"0\",\"video_link_ondemand\":\"\",\"is_meeting_room\":\"0\",\"is_green_room\":\"0\",\"is_zoom_link\":\"\",\"zoom_link\":\"\",\"is_hide_ls_discussion\":\"\",\"is_hide_mr_discussion\":\"0\",\"is_hide_mr_presenters\":\"0\",\"moderation\":\"0\",\"remaining_place_message\":\"\",\"video_description\":\"\",\"isExpoFpFplan\":\"\",\"expoFP_Url\":\"\",\"show_reminder_button\":\"0\",\"location_time_zone\":\"America\\\/New_York\",\"type_id\":\"45236\",\"sort_order\":\"0\",\"is_on_demand\":\"0\",\"category_ids\":[\"12538\"],\"font_icon\":\"\",\"is_checked_in\":false,\"user_flag\":\"0\",\"start_time_for_reversetimer\":\"07:30 pm\",\"show_comment_box\":\"1\",\"show_feedback\":\"0\",\"max_count\":\"14\",\"is_map_visible_btn\":\"0\",\"map_details\":[],\"multi_broadcasters_details\":[],\"documents_data\":[],\"rating\":\"\",\"is_saved\":\"0\",\"check_max_people\":\"0\",\"available_user\":\"14\",\"checkout\":\"0\",\"is_user_checkin\":\"0\",\"scan_badge\":\"0\",\"is_next_session\":\"0\",\"utc_date\":\"2026-06-12\",\"utc_time\":\"04:46:24\",\"timestamp\":1782761400,\"speakers\":[],\"chairs\":[],\"sponsors\":[],\"exhibitors\":[],\"time_slot\":\"evening\",\"search_text\":\"nata foundation fundraiser - 35th anniversary party ticket required for entryrock & bowl at lucky strike - celebrating 35 years of impact - 90\\u2019s style!get ready to roll, rock, and relive the 90\\u2019s!join the nata research & education foundation for an unforgettable night of bowling, live music, great food, and fundraising as we celebrate 35 years of advancing the athletic training profession.rock & bowl at lucky strike philadelphia brings together unlimited bowling, interactive games, and high-energy live entertainment from the flying ivories, a dueling piano act playing your favorite 90\\u2019s hits. whether you\\u2019re hitting the lanes, singing along in the lounge, or catching up with colleagues, there\\u2019s something for everyone.break out your best 90\\u2019s outfit or band t-shirt and help us celebrate this milestone anniversary in style! why should you attend? - 3 hours of non-stop fun: bowl to your heart\\u2019s content, dance and sing along to 90\\u2019s classics from dueling pianos, challenge friends at pool and ping pong, and enjoy a lively, social atmosphere. - food & drinks included: enjoy a pizza and fajita buffet, plus an open bar featuring beer, wine, and soda throughout the evening. - exciting on-site fundraising games: take part in a wine pull, browse and bid in the silent auction, and join in additional fun games\\u2014all supporting a great cause. - support a worthy cause: all proceeds benefit the nata foundation, helping fund research, scholarships, and educational programs that strengthen the future of athletic training.important information - limited tickets available: space is limited- tickets must be purchased by june 15. be sure to secure yours when registering for nata 2026. - why you shouldn\\u2019t miss it: celebrate 35 years of impact, connect with colleagues, enjoy a high-energy night out, and support the profession - all in one unforgettable evening.for more information, visit the nata foundation website. pre-registration required.\"}],\n        allDates: [\"2026-06-29\",\"2026-06-30\",\"2026-07-01\",\"2026-07-02\"],\n        categoryId: '12538'\n    };\n    <\/script>\n    \n    <!-- Loader -->\n    <div class=\"pagination-loader\" style=\"display: none;\">\n        <div class=\"loader-spinner\"><\/div>\n        <span class=\"loader-text\">Loading...<\/span>\n    <\/div>\n     <!-- Zoom Meeting Popup -->\n    <div id=\"zoom-meeting-popup\" class=\"zoom-popup-overlay\" style=\"display: none;\">\n        <div class=\"zoom-popup-container\">\n            <div class=\"zoom-popup-header\">\n                <h3>Join Zoom Meeting<\/h3>\n                <button class=\"zoom-popup-close\" id=\"zoom-popup-close\">\n                    <i class=\"fa fa-times\"><\/i>\n                <\/button>\n            <\/div>\n            <div class=\"zoom-popup-body\">\n                <div id=\"zoom-meeting-container\">\n                    <div id=\"zmmtg-root\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    <style>\n        .agenda-speaker-card{\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            text-align: center;\n            border: 1px solid #cccccc;\n            margin-right: 10px;\n            padding: 12px 6px 6px 6px;\n            border-radius: 10px;\n        }\n        .filtered-hide {\n            display: none !important;\n        }\n        .search-hide {\n            display: none !important;\n        }\n        \/* Date header styling *\/\n        .tab-date-header {\n            font-size: 20px;\n            font-weight: 600;\n            margin-bottom: 20px;\n            padding: 15px 0;\n            border-bottom: 2px solid #e0e0e0;\n            color: #222;\n            font-family: Poppins-Medium, sans-serif;\n        }\n        \/* When searching, show all tabs with results in a unified view *\/\n        .schedule-section.search-active .tabs-content .tab.active-tab {\n            display: block !important;\n        }\n        .schedule-section.search-active .tabs-content .tab.active-tab + .tab.active-tab {\n            margin-top: 40px;\n            padding-top: 20px;\n            border-top: 1px solid #e0e0e0;\n        }\n        button.open-filter-btn,\n        button.apply-filter-btn{\n            float: right;\n            margin-bottom: 25px;\n            background: #000;\n            color: #fff;\n            border-radius: 5px;\n            border-color: #000;\n        }\n        button.apply-filter-btn {\n            float: none;\n            margin-top: 20px;\n            width: 100%;\n        }\n        \n        \/* Filter Mode Toggle *\/\n        .filter-mode-toggle {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 15px;\n            justify-content: center;\n        }\n        \n        .toggle-label {\n            display: flex;\n            align-items: center;\n            cursor: pointer;\n            padding: 8px 16px;\n            border: 2px solid #ddd;\n            border-radius: 5px;\n            background: #fff;\n            transition: all 0.3s;\n        }\n        \n        .toggle-label input[type=\"radio\"] {\n            margin-right: 6px;\n        }\n        \n        .toggle-label input[type=\"radio\"]:checked + span {\n            font-weight: 600;\n        }\n        \n        .toggle-label:has(input[type=\"radio\"]:checked) {\n            border-color: #000;\n            background: #f5f5f5;\n        }\n        \n        \/* Collapsible Filter Groups *\/\n        .filter-group {\n            margin-bottom: 10px;\n            border: none;\n            border-radius: 0;\n            overflow: hidden;\n        }\n        \n        .group-title {\n            background: #f5f5f5;\n            padding: 10px 15px;\n            margin: 0;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            font-weight: 600;\n            color: #333;\n            transition: background-color 0.3s;\n            user-select: none;\n            border-bottom: 1px solid #e0e0e0;\n        }\n        \n        .group-title:hover {\n            background: #eeeeee;\n        }\n        \n        .toggle-icon {\n            font-size: 12px;\n            transition: transform 0.3s;\n            color: #666;\n        }\n        \n        .group-title.collapsed .toggle-icon {\n            transform: rotate(-90deg);\n        }\n        \n        .filter-checkbox-list {\n            margin: 0;\n            padding: 15px;\n            background: #fff;\n            max-height: 500px;\n            opacity: 1;\n            overflow-y: scroll;\n            transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;\n        }\n        \n        .filter-checkbox-list.collapsed {\n            max-height: 0;\n            padding: 0 15px;\n            opacity: 0;\n            overflow: hidden;\n        }\n\n        \/* Custom Scrollbar Styling *\/\n        .filter-checkbox-list::-webkit-scrollbar {\n            width: 6px;\n        }\n \n        .filter-checkbox-list::-webkit-scrollbar-track {\n            background: #f1f1f1;\n            border-radius: 3px;\n        }\n \n        .filter-checkbox-list::-webkit-scrollbar-thumb {\n            background: #c1c1c1;\n            border-radius: 3px;\n            transition: background 0.2s ease;\n        }\n \n        .filter-checkbox-list::-webkit-scrollbar-thumb:hover {\n            background: #a1a1a1;\n        }\n \n        \/* Firefox scrollbar *\/\n        .filter-checkbox-list {\n            scrollbar-width: thin;\n            scrollbar-color: #c1c1c1 #f1f1f1;\n        }\n        \n        \/* Colored Checkboxes *\/\n        .filter-checkbox-list label {\n            display: flex;\n            \/*align-items: center;*\/\n            cursor: pointer;\n        }\n        \n        .filter-checkbox-list input[type=\"checkbox\"] {\n            width: 18px;\n            height: 18px;\n            margin-right: 10px;\n            cursor: pointer;\n            -webkit-appearance: none;\n            -moz-appearance: none;\n            appearance: none;\n            border: 2px solid #ccc;\n            border-radius: 3px;\n            position: relative;\n            transition: all 0.3s;\n        }\n        \n        .filter-checkbox-list input[type=\"checkbox\"]:checked {\n            background-color: var(--checkbox-color, #0073aa);\n            border-color: var(--checkbox-color, #0073aa);\n        }\n        \n        .filter-checkbox-list input[type=\"checkbox\"]:checked::after {\n            content: '\u2713';\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            color: #fff;\n            font-size: 12px;\n            font-weight: bold;\n        }\n        \n        .filter-checkbox-list input[type=\"checkbox\"]:not(:checked) {\n            border-color: #ccc;\n        }\n        \n        .filter-checkbox-list input[type=\"checkbox\"]:hover {\n            border-color: var(--checkbox-color, #0073aa);\n        }\n        \n        \/* Filter Sidebar Styles *\/\n        .filter-sidebar {\n            position: fixed;\n            top: 0;\n            right: -400px;\n            width: 350px;\n            height: 100vh;\n            background: #fff;\n            box-shadow: -2px 0 10px rgba(0,0,0,0.1);\n            z-index: 1001;\n            transition: right 0.3s ease;\n            overflow-y: auto;\n        }\n        \n        .filter-sidebar.active {\n            right: 0;\n        }\n\n        .filter-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-bottom: 20px;\n            padding-bottom: 15px;\n            border-bottom: 1px solid #e0e0e0;\n        }\n        \n        .filter-header h3 {\n            margin: 0;\n            font-size: 18px;\n            font-weight: 600;\n        }\n        \n        .filter-close-btn {\n            background: none;\n            border: none;\n            font-size: 24px;\n            cursor: pointer;\n            padding: 0;\n            width: 30px;\n            height: 30px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .filter-backdrop {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: rgba(0,0,0,0.5);\n            z-index: 1000;\n            opacity: 0;\n            visibility: hidden;\n            transition: opacity 0.3s ease, visibility 0.3s ease;\n        }\n        \n        .filter-backdrop.active {\n            opacity: 1;\n            visibility: visible;\n        }\n        \n        \/* Date Carousel Styles *\/\n        .tab-buttons-wrapper {\n            position: relative;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin-bottom: 30px;\n            padding: 0 50px;\n        }\n        \n        .tab-buttons-carousel-container {\n            position: relative;\n            width: 100%;\n            overflow: hidden;\n            flex: 1;\n        }\n        \n        .tab-buttons-carousel {\n            display: flex;\n            list-style: none;\n            margin: 0;\n            padding: 0;\n            transition: transform 0.4s ease;\n            will-change: transform;\n        }\n        \n        .tab-buttons-carousel .tab-btn-item {\n            flex-shrink: 0;\n            padding: 0 7.5px;\n        }\n        \n        .tab-buttons-carousel .tab-btn {\n            position: relative;\n            display: inline-block;\n            \/* height: 135px; *\/\n            width: 160px;\n            border-radius: 20px;\n            background-color: #ffffff;\n            font-size: 16px;\n            line-height: 20px;\n            color: #222222;\n            font-weight: 600;\n            text-align: center;\n            padding: 35px 15px;\n            cursor: pointer;\n            margin: 0;\n            border: 1px solid #dddddd;\n            -webkit-transition: all 300ms ease;\n            -moz-transition: all 300ms ease;\n            -ms-transition: all 300ms ease;\n            -o-transition: all 300ms ease;\n            transition: all 300ms ease;\n            font-family: Poppins-Medium;\n            box-sizing: border-box;\n        }\n        \n        .tab-buttons-carousel .tab-btn:hover {\n            border-color: #404040;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        }\n        \n        .tab-buttons-carousel .tab-btn.active-btn {\n            border-color: #404040;\n            box-shadow: 0 0px 30px #404040;\n        }\n        \n        .tab-buttons-carousel .tab-btn .date {\n            position: relative;\n            left: auto;\n            top: auto;\n            width: 100%;\n            display: block;\n            font-size: 38px;\n            line-height: 20px;\n            font-weight: 600;\n            color: #222222;\n            margin-bottom: 5px;\n            font-family: Poppins-Medium;\n        }\n        \n        .tab-buttons-carousel .tab-btn .month {\n            display: block;\n            font-size: 20px;\n            line-height: 1em;\n            font-weight: 600;\n            color: #222222;\n            text-transform: uppercase;\n            margin-bottom: 3px;\n            font-family: Poppins-Medium;\n        }\n        \n        \/* Carousel Navigation Buttons *\/\n        .carousel-nav-btn {\n            background: #222222;\n            color: #ffffff;\n            border: none;\n            width: 40px;\n            height: 40px;\n            border-radius: 50%;\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 18px;\n            transition: all 0.3s ease;\n            flex-shrink: 0;\n            z-index: 10;\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n        }\n        \n        .carousel-nav-btn:hover {\n            background: #404040;\n            transform: translateY(-50%) scale(1.1);\n        }\n        \n        .carousel-nav-btn:disabled {\n            opacity: 0.3;\n            cursor: not-allowed;\n            transform: translateY(-50%);\n        }\n        \n        .carousel-prev {\n            left: 0;\n        }\n        \n        .carousel-next {\n            right: 0;\n        }\n        \n        \/* Hide filtered items in carousel *\/\n        .tab-buttons-carousel .tab-btn-item.filtered-hide {\n            display: none !important;\n        }\n        \n        @media (max-width: 768px) {\n            .tab-buttons-wrapper {\n                padding: 0 40px;\n            }\n        }\n        \n        \/* Pagination Styles *\/\n        .schedule-pagination-wrapper {\n            margin-top: 40px;\n            text-align: center;\n            padding: 20px 0;\n            position: relative;\n        }\n        \n        .schedule-pagination {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            flex-wrap: wrap;\n            justify-content: center;\n        }\n        \n        .pagination-btn {\n            padding: 10px 20px;\n            background-color: #222;\n            color: #fff;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 15px;\n            font-weight: 600;\n            transition: all 0.2s ease;\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            white-space: nowrap;\n        }\n        \n        .pagination-btn:hover:not(:disabled) {\n            background-color: #404040;\n            transform: translateY(-1px);\n            box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n        }\n        \n        .pagination-btn:disabled {\n            opacity: 0.5;\n            cursor: not-allowed;\n            background-color: #ccc;\n        }\n        \n        .pagination-numbers {\n            display: inline-flex;\n            align-items: center;\n            gap: 4px;\n            margin: 0 10px;\n        }\n        \n        .pagination-number {\n            min-width: 40px;\n            height: 40px;\n            padding: 0 8px;\n            background-color: #fff;\n            color: #222;\n            border: 1px solid #ddd;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 15px;\n            font-weight: 500;\n            transition: all 0.2s ease;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n        }\n        \n        .pagination-number:hover:not(:disabled) {\n            background-color: #f5f5f5;\n            border-color: #222;\n            transform: translateY(-1px);\n        }\n        \n        .pagination-number.active {\n            background-color: #222;\n            color: #fff;\n            border-color: #222;\n            font-weight: 600;\n            cursor: default;\n        }\n        \n        .pagination-number:disabled {\n            cursor: default;\n        }\n        \n        .pagination-dots {\n            padding: 0 8px;\n            color: #999;\n            font-size: 16px;\n            user-select: none;\n        }\n        \n        .pagination-loading {\n            opacity: 0.6;\n            pointer-events: none;\n        }\n        \n        \/* Loader Styles *\/\n        .pagination-loader {\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            background-color: rgba(255, 255, 255, 0.95);\n            display: none;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            gap: 15px;\n            z-index: 1000;\n            border-radius: 8px;\n            backdrop-filter: blur(2px);\n        }\n        \n        .pagination-loader[style*=\"display: flex\"],\n        .pagination-loader.show {\n            display: flex !important;\n        }\n        \n        .loader-spinner {\n            width: 40px;\n            height: 40px;\n            border: 4px solid #f3f3f3;\n            border-top: 4px solid #222;\n            border-radius: 50%;\n            animation: spin 1s linear infinite;\n        }\n        \n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        \n        .loader-text {\n            font-size: 16px;\n            color: #222;\n            font-weight: 500;\n        }\n        \n        @media (max-width: 768px) {\n            .schedule-pagination {\n                flex-direction: column;\n                gap: 15px;\n            }\n            \n            .pagination-btn {\n                width: 100%;\n                max-width: 200px;\n                justify-content: center;\n            }\n            \n            .pagination-numbers {\n                margin: 10px 0;\n                flex-wrap: wrap;\n                justify-content: center;\n            }\n            \n            .pagination-number {\n                min-width: 36px;\n                height: 36px;\n                font-size: 14px;\n            }\n        }\n    <\/style>\n    <script>\n        \/\/ Global filter state \u2014 must be declared before any IIFE references them\n        var selectedTypesGlobal  = [];\n        var filterModeGlobal     = 'and';\n        var filterPayloadGlobal  = null; \/\/ \u2190 ADD THIS\n        var filterResultCache    = {};   \/\/ cache filter results by serialised filter key\n    \/\/ ===============================\n    \/\/ LIVE SEARCH SYSTEM - Search ONLY within the currently selected date\n    \/\/ ===============================\n    (function() {\n        function initScheduleSearch() {\n            if (typeof jQuery === 'undefined') {\n                setTimeout(initScheduleSearch, 100);\n                return;\n            }\n            \n            var $ = jQuery;\n            var searchTimeout;\n            var $scheduleSection = $('.schedule-section.style-two');\n            var $searchInput = $('#scheduleSearch');\n            var $clearSearchBtn = $('#clearSearchBtn');\n            var currentActiveDate = window.scheduleUserData ? window.scheduleUserData.currentLoadedDate : '';\n\n            \/\/ Show\/hide clear button based on search input\n            function updateClearSearchButton() {\n                if ($searchInput.val().trim().length > 0) {\n                    $clearSearchBtn.show();\n                } else {\n                    $clearSearchBtn.hide();\n                }\n            }\n\n            \/\/ Handle clear search button click\n            $clearSearchBtn.on('click', function() {\n                $searchInput.val('');\n                $clearSearchBtn.hide();\n                \n                \/\/ Check if any filters are checked\n                var hasCheckedFilters = $('.filter-checkbox:checked').length > 0;\n                \n                if (hasCheckedFilters) {\n                    \/\/ Rebuild and apply filter payload\n                    selectedTypesGlobal = [];\n                    filterModeGlobal = $('input[name=\"filter-mode\"]:checked').val() || 'and';\n                    \n                    var groupedFilters = {};\n                    $('.filter-checkbox:checked').each(function () {\n                        var typeId  = $(this).val();\n                        var groupId = $(this).data('group');\n                        if (!groupedFilters[groupId]) {\n                            groupedFilters[groupId] = [];\n                        }\n                        groupedFilters[groupId].push(typeId);\n                        selectedTypesGlobal.push(typeId);\n                    });\n                    \n                    var filtersArray = [];\n                    Object.keys(groupedFilters).forEach(function(groupKey) {\n                        filtersArray.push({\n                            group_key: groupKey,\n                            values:    groupedFilters[groupKey]\n                        });\n                    });\n                    \n                    filterPayloadGlobal = filtersArray.length > 0 ? {\n                        filter_type: filterModeGlobal.toUpperCase(),\n                        filters:     filtersArray\n                    } : null;\n                    \n                    \/\/ Reload agenda with filters\n                    let $activeTab  = $('.tab.active-tab');\n                    let currentDate = $activeTab.data('date');\n                    if (!currentDate) {\n                        currentDate = $('.tab-buttons-carousel .tab-btn.active-btn').data('date') || $('.tab-buttons-carousel .tab-btn').first().data('date') || '';\n                        if (currentDate) {\n                            $activeTab = $('.tabs-content .tab[data-date=\"' + currentDate + '\"]');\n                        }\n                    }\n                    \n                    $('.tab').data('loaded', false);\n                    \n                     if (currentDate && $activeTab.length) {\n                        window.loadAgendaByDate(currentDate, $activeTab, { sendDate: true });\n                    } else if (typeof window.loadDefaultAgendaData === 'function') {\n                        window.loadDefaultAgendaData();\n                    }\n                } else {\n                    \/\/ No filters checked, reload default agenda data\n                    if (typeof window.loadDefaultAgendaData === 'function') {\n                        window.loadDefaultAgendaData();\n                    } else if (typeof loadDefaultAgendaData === 'function') {\n                        loadDefaultAgendaData();\n                    }\n                }\n            });\n\n            \/\/ Update clear button visibility on input\n            $searchInput.on('input', function() {\n                updateClearSearchButton();\n            });\n            \n            \/\/ Update current active date when tab changes\n            $(document).on('click', '.tab-buttons-carousel .tab-btn', function() {\n                var date = $(this).data('date');\n                if (date) {\n                    currentActiveDate = date;\n                    if (window.scheduleUserData) {\n                        window.scheduleUserData.currentLoadedDate = date;\n                    }\n                }\n            });\n            \n            \/\/ Listen for agenda loaded events\n            $(document).on('agenda:loaded', function(e, date, agendaList) {\n                if (currentActiveDate === date) {\n                    \/\/ Search results are now fetched from API directly via input handler.\n                    \/\/ Keep this hook only for date state synchronization.\n                }\n            });\n            \n            \/\/ Only initialize if schedule section and search input exist\n            if (!$scheduleSection.length || !$searchInput.length) {\n                setTimeout(initScheduleSearch, 100);\n                return;\n            }\n\n            \/\/ Initial check for clear button visibility\n            updateClearSearchButton();\n            \n            \/\/ Remove any existing handlers to prevent duplicates\n            $searchInput.off('input.search keyup.search');\n            \n            function performSearch(searchVal) {\n                if (searchVal) {\n                    $scheduleSection.addClass('search-active');\n                } else {\n                    $scheduleSection.removeClass('search-active');\n                }\n\n                var $activeTab = $scheduleSection.find('.tab.active-tab');\n                if (!$activeTab.length || typeof window.loadAgendaByDate !== 'function') {\n                    return;\n                }\n\n                var activeDate = $activeTab.data('date') || currentActiveDate;\n                if (!activeDate) {\n                    var $firstBtn = $('.tab-buttons-carousel .tab-btn').first();\n                    activeDate = $firstBtn.data('date') || '';\n                }\n\n                if (!activeDate) {\n                    return;\n                }\n\n                \/\/ Force reload so AJAX runs for each search term.\n                $('.tab').data('loaded', false);\n                \/\/ Don't send date when searching - search across all dates\n                window.loadAgendaByDate(activeDate, $activeTab, { sendDate: searchVal ? false : true });\n            }\n            \n            $searchInput.on('input.search keyup.search', function() {\n                clearTimeout(searchTimeout);\n                var $input = $(this);\n                \n                searchTimeout = setTimeout(function() {\n                    var searchVal = $input.val().trim();\n                    if (!searchVal && !filterPayloadGlobal) {\n                        if (typeof window.loadDefaultAgendaData === 'function') {\n                            window.loadDefaultAgendaData();\n                            return;\n                        }\n                    }\n                    performSearch(searchVal);\n                }, 350); \/\/ Debounce API search calls\n            });\n        }\n        \n        \/\/ Initialize search when DOM is ready\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initScheduleSearch);\n        } else {\n            \/\/ DOM already loaded, try to initialize\n            if (window.requestIdleCallback) {\n                requestIdleCallback(initScheduleSearch);\n            } else {\n                setTimeout(initScheduleSearch, 100);\n            }\n        } \n    })();\n\n     jQuery(document).ready(function($) {\n        \/\/ When blocked agenda clicked\n        $(\".schedule-block.blocked-agenda\").on(\"click\", function(e) {\n            e.preventDefault();\n            e.stopPropagation();\n    \n            let message = $(this).data(\"message\");\n            $(\"#blockedMessage\").text(message);\n    \n            $(\"#blockedPopup\").fadeIn();\n        });\n    \n        \/\/ Close popup button\n        $(\".close-blocked-popup\").on(\"click\", function() {\n            $(\"#blockedPopup\").fadeOut();\n        });\n    \n        \/\/ Click outside closes popup\n        $(\"#blockedPopup\").on(\"click\", function(e) {\n            if (e.target.id === \"blockedPopup\") {\n                $(\"#blockedPopup\").fadeOut();\n            }\n        });\n    \n        \/\/ Prevent links inside blocked item from working\n        $(\".schedule-block.blocked-agenda a\").on(\"click\", function(e) {\n            e.preventDefault();\n        });\n    \n    });\n    \/\/ Disable right-click \n    \/\/document.addEventListener(\"contextmenu\", event => event.preventDefault());\n    \n    \/\/ Disable F12, Ctrl+Shift+I, Ctrl+U\n    document.onkeydown = function(e) {\n        if (e.keyCode == 123) return false; \n        if (e.ctrlKey && e.shiftKey && e.keyCode == 73) return false;\n        if (e.ctrlKey && e.keyCode == 85) return false;\n    };\n\n    jQuery(document).ready(function($) {\n        \/\/ First date is automatically selected by PHP - no persistence needed\n        \/\/ The first tab is always active on page load\n    });\n\n    \/\/ ==================================================\n    \/\/ AJAX LOADING OF AGENDA BY DATE\n    \/\/ ==================================================\n    (function() {\n        function initDateAjaxLoading() {\n            if (typeof jQuery === 'undefined') {\n                setTimeout(initDateAjaxLoading, 100);\n                return;\n            }\n            \n            var $ = jQuery;\n            var isLoading = false;\n            var dateCache = {};\n            var currentDateXHR = null;\n            var $tabsContent = $('.tabs-content');\n            var ajaxUrl = $tabsContent.data('ajax-url');\n            var nonce = $tabsContent.data('nonce');\n\n            function formatDateHeader(dateStr) {\n                var d = new Date(dateStr + 'T00:00:00');\n                if (isNaN(d.getTime())) {\n                    return dateStr;\n                }\n                return d.toLocaleDateString('en-US', {\n                    weekday: 'long',\n                    month: 'short',\n                    day: '2-digit'\n                });\n            }\n\n            function rebuildDateTabsFromApiDates(dates, activeDate) {\n                if (!Array.isArray(dates) || !dates.length) {\n                    $('.tab-buttons-wrapper').hide();\n                    return null;\n                }\n                $('.tab-buttons-wrapper').show();\n\n                var $carousel = $('.tab-buttons-carousel');\n                var $tabsWrap = $('.tabs-content');\n                if (!$carousel.length || !$tabsWrap.length) {\n                    return null;\n                }\n\n                var active = activeDate && dates.indexOf(activeDate) !== -1 ? activeDate : dates[0];\n                var buttonsHtml = '';\n                var tabsHtml = '';\n\n                dates.forEach(function(dateStr, index) {\n                    var d = new Date(dateStr + 'T00:00:00');\n                    var dayNum = !isNaN(d.getTime()) ? String(d.getDate()).padStart(2, '0') : '';\n                    var month = !isNaN(d.getTime()) ? d.toLocaleString('en-US', { month: 'short' }) : '';\n                    var dayName = !isNaN(d.getTime()) ? d.toLocaleString('en-US', { weekday: 'short' }).toUpperCase() : '';\n                    var tabId = 'tab-' + (index + 1);\n                    var isActive = (dateStr === active);\n\n                    buttonsHtml += '<li class=\"tab-btn-item\">' +\n                        '<div class=\"tab-btn' + (isActive ? ' active-btn' : '') + '\" data-tab=\"#' + tabId + '\" data-index=\"' + index + '\" data-date=\"' + dateStr + '\">' +\n                        '<span class=\"date\">' + dayNum + '<\/span>' +\n                        '<span class=\"month\">' + month + '<\/span>' +\n                        '<span class=\"day-name\">' + dayName + '<\/span>' +\n                        '<\/div><\/li>';\n\n                    tabsHtml += '<div class=\"tab' + (isActive ? ' active-tab' : '') + '\" id=\"' + tabId + '\" data-date=\"' + dateStr + '\" data-loaded=\"false\" style=\"' + (isActive ? '' : 'display:none;') + '\">' +\n                        '<div class=\"schedule-timeline\"><p style=\"text-align:center;padding:40px;color:#fff;\">Loading agenda...<\/p><\/div>' +\n                        '<\/div>';\n                });\n\n                $carousel.html(buttonsHtml);\n                $tabsWrap.html(tabsHtml);\n\n                $(window).trigger('resize');\n                return active;\n            }\n            \n            \/\/ Function to load agenda for a specific date\n            window.loadAgendaByDate = function(date, $tab, options) {\n\n                options = options || {};\n                if (isLoading || !date) return;\n                \n                var searchKeyword = $.trim($('#scheduleSearch').val() || '');\n                var hasFilterPayload = !!(filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length);\n                var hasSearchKeyword = searchKeyword.length > 0;\n\n                \/\/ Skip cache when search or filter is active \u2014 always re-fetch fresh results.\n                var isFiltered = hasSearchKeyword || hasFilterPayload || selectedTypesGlobal.length > 0;\n                if ($tab.data('loaded') === true && !isFiltered) {\n                    return;\n                }\n\n                \/\/ Serve from memory cache instantly when no filter\/search active\n                if (!isFiltered && dateCache[date]) {\n                    renderAgendaForDate($tab, dateCache[date], date);\n                    $tab.data('loaded', true);\n                    $(document).trigger('agenda:loaded', [date, dateCache[date]]);\n                    setTimeout(function() {\n                        if (typeof window.processSpeakerImages === 'function') {\n                            window.processSpeakerImages();\n                        }\n                    }, 50);\n                    return;\n                }\n\n                \/\/ Serve from filter cache instantly \u2014 no AJAX needed for repeat tab clicks with same filter\n                if (hasFilterPayload && !hasSearchKeyword && filterPayloadGlobal) {\n                    var _fck = JSON.stringify(filterPayloadGlobal);\n                    if (filterResultCache[_fck]) {\n                        renderAgendaForDate($tab, filterResultCache[_fck], date);\n                        $tab.data('loaded', true);\n                        $(document).trigger('agenda:loaded', [date, filterResultCache[_fck]]);\n                        setTimeout(function() {\n                            if (typeof window.processSpeakerImages === 'function') window.processSpeakerImages();\n                        }, 50);\n                        return;\n                    }\n                }\n\n                \/\/ Abort any in-flight request so the user gets the new date immediately\n                if (currentDateXHR) { currentDateXHR.abort(); currentDateXHR = null; isLoading = false; }\n                if (isLoading) return;\n                isLoading = true;\n                \n                \/\/ Show loading state\n                var $timeline = $tab.find('.schedule-timeline');\n                if (!$timeline.length) {\n                    $timeline = $('<div class=\"schedule-timeline\"><div class=\"date-loading\" style=\"text-align:center;padding:40px;\"><div class=\"loader-spinner\" style=\"width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #222;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px;\"><\/div><span style=\"color:#fff;\">Loading agenda...<\/span><\/div><\/div>');\n                    $tab.append($timeline);\n                } else {\n                    $timeline.html('<div class=\"date-loading\" style=\"text-align:center;padding:40px;\"><div class=\"loader-spinner\" style=\"width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #222;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px;\"><\/div><span style=\"color:#fff;\">Loading agenda...<\/span><\/div>');\n                }\n                \n                var sendDate = (typeof options.sendDate === 'boolean') ? options.sendDate : true;\n                var requestData = {\n                    action: 'ssp_get_agenda_by_date',\n                    page_no: 0,\n                    nonce: nonce\n                };\n\n                \/\/ if (hasSearchKeyword) {\n                \/\/     requestData.serach_keyword = searchKeyword;\n                \/\/ }\n\n                if (hasFilterPayload) {\n                    requestData.filter_payload = JSON.stringify(filterPayloadGlobal);\n                }\n\n                \/\/ For search + filter apply, date can be intentionally blank.\n                \/\/ On tab click we always pass date.\n                if (date && sendDate && !hasSearchKeyword) {\n                    requestData.date = date;\n                }\n\n                \/\/ Always pass category_id if set from shortcode\n                var scheduleCategoryId = (window.scheduleUserData && window.scheduleUserData.categoryId) ? window.scheduleUserData.categoryId : '';\n                if (scheduleCategoryId) {\n                    requestData.category_id = scheduleCategoryId;\n                }\n\n                currentDateXHR = $.ajax({\n                    url: ajaxUrl,\n                    type: 'POST',\n                    dataType: 'json',\n                    data: requestData,\n                    success: function(response) {\n                        if (response.success && response.data && response.data.agenda_list) {\n                            var targetDate = date;\n                            var apiDates = response.data.dates || [];\n\n                            if (hasFilterPayload || searchKeyword.length > 0) {\n                                \/\/ Derive which dates have matching results by applying the same\n                                \/\/ client-side filter\/search logic used in renderAgendaForDate.\n                                \/\/ This prevents empty date tabs from appearing after filter\/search.\n                                var listForDateCalc = (response.data.agenda_list || []).slice();\n                                if (hasFilterPayload && filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length) {\n                                    var fModeCalc = (filterPayloadGlobal.filter_type || 'AND').toUpperCase();\n                                    listForDateCalc = listForDateCalc.filter(function(item) {\n                                        if (!item) return false;\n                                        var tIds = [];\n                                        if (Array.isArray(item.type_ids)) {\n                                            item.type_ids.forEach(function(t) { tIds.push(String(t.type_id)); });\n                                        }\n                                        if (fModeCalc === 'OR') {\n                                            return filterPayloadGlobal.filters.some(function(g) {\n                                                return g.values.some(function(v) { return tIds.indexOf(String(v)) !== -1; });\n                                            });\n                                        }\n                                        return filterPayloadGlobal.filters.every(function(g) {\n                                            return g.values.some(function(v) { return tIds.indexOf(String(v)) !== -1; });\n                                        });\n                                    });\n                                }\n                                if (searchKeyword.length > 0) {\n                                    var lcKey = searchKeyword.toLowerCase();\n                                    listForDateCalc = listForDateCalc.filter(function(item) {\n                                        if (!item) return false;\n                                        var h = [String(item.Heading || ''), String((item.description || '').replace(\/<[^>]*>\/g, '')), String(item.search_text || '')].join(' ').toLowerCase();\n                                        if (Array.isArray(item.type_ids)) { item.type_ids.forEach(function(t) { h += ' ' + String((t && t.name) || '').toLowerCase(); }); }\n                                        if (Array.isArray(item.speakers)) { item.speakers.forEach(function(s) { h += ' ' + String(s.custom_speaker_name || s.name || '').toLowerCase(); }); }\n                                        return h.indexOf(lcKey) !== -1;\n                                    });\n                                }\n                                var derivedDates = [];\n                                listForDateCalc.forEach(function(item) {\n                                    if (item && item.Start_date && derivedDates.indexOf(item.Start_date) === -1) {\n                                        derivedDates.push(item.Start_date);\n                                    }\n                                });\n                                if (derivedDates.length > 0) {\n                                    apiDates = derivedDates.sort();\n                                }\n                            } else if ((!apiDates || apiDates.length === 0) && response.data.agenda_list.length > 0) {\n                                var uniqueDates = [];\n                                response.data.agenda_list.forEach(function(item) {\n                                    if (item.Start_date && uniqueDates.indexOf(item.Start_date) === -1) {\n                                        uniqueDates.push(item.Start_date);\n                                    }\n                                });\n                                apiDates = uniqueDates.sort();\n                            }\n                            \n                            \n                            if (hasFilterPayload || searchKeyword.length > 0) {\n                                \/\/ Rebuild tabs whenever filter or search is active to show only dates with matching results\n                                var rebuiltActiveDate = rebuildDateTabsFromApiDates(apiDates, date || response.data.selected_date);\n                                if (rebuiltActiveDate) {\n                                    \/\/ Keep the originally requested date if it exists in results.\n                                    targetDate = (date && apiDates.indexOf(date) !== -1) ? date : rebuiltActiveDate;\n                                    $tab = $('.tabs-content .tab[data-date=\"' + targetDate + '\"]');\n                                    \/\/ Fallback to first rebuilt date if tab not found.\n                                    if (!$tab.length) {\n                                        targetDate = rebuiltActiveDate;\n                                        $tab = $('.tabs-content .tab[data-date=\"' + targetDate + '\"]');\n                                    }\n                                }\n                            }\n                            \n                            \n\n                            renderAgendaForDate($tab, response.data.agenda_list, targetDate);\n\n                            \/\/ Cache unfiltered date results for instant re-use\n                            if (!hasFilterPayload && !hasSearchKeyword && date) {\n                                dateCache[date] = response.data.agenda_list;\n                            }\n                            \/\/ Cache filter results for instant tab switching with same filter\n                            if (hasFilterPayload && !hasSearchKeyword && filterPayloadGlobal) {\n                                filterResultCache[JSON.stringify(filterPayloadGlobal)] = response.data.agenda_list;\n                            }\n\n                            \/\/ \u2705 Mark ONLY this tab as loaded\n                            $tab.data('loaded', true);\n\n                            $(document).trigger('agenda:loaded', [targetDate, response.data.agenda_list]);\n                        } else {\n                            \/\/ API returned no results \u2014 if search\/filter active, rebuild tabs from response dates\n                            \/\/ so the UI reflects which dates matched (could be empty set).\n                            if ((hasSearchKeyword || hasFilterPayload) && response.data) {\n                                var emptyDates = response.data.dates || [];\n                                if (emptyDates.length > 0) {\n                                    var rebuiltDate = rebuildDateTabsFromApiDates(emptyDates, date || response.data.selected_date);\n                                    if (rebuiltDate) {\n                                        $tab = $('.tabs-content .tab[data-date=\"' + rebuiltDate + '\"]');\n                                    }\n                                } else {\n                                    \/\/ No dates returned \u2014 hide the carousel\n                                    $('.tab-buttons-wrapper').hide();\n                                }\n                            }\n                            var noResultsMsg = (hasSearchKeyword || hasFilterPayload)\n                                ? '<p style=\"text-align:center;padding:40px;\">No results found for this date.<\/p>'\n                                : '<p style=\"text-align:center;padding:40px;\">No agenda available for this date.<\/p>';\n                            $timeline.html(noResultsMsg);\n                        }\n                    },\n                    error: function() {\n                        $timeline.html('<p style=\"text-align:center;padding:40px;color:#dc3545;\">Error loading agenda. Please try again.<\/p>');\n                    },\n                    complete: function() {\n                        isLoading = false;\n                        currentDateXHR = null;\n                    }\n                });\n            }\n\n            window.loadDefaultAgendaData = function() {\n                \/\/ Restore carousel visibility in case it was hidden by search\/filter\n                $('.tab-buttons-wrapper').show();\n                \/\/ Restore from in-memory cache \u2014 instant, no AJAX needed\n                var allDates   = (window.scheduleUserData && window.scheduleUserData.allDates) || [];\n                var curDate    = (window.scheduleUserData && window.scheduleUserData.currentLoadedDate) || '';\n                var restoreDate = (curDate && dateCache[curDate]) ? curDate : '';\n                if (!restoreDate) {\n                    for (var i = 0; i < allDates.length; i++) {\n                        if (dateCache[allDates[i]]) { restoreDate = allDates[i]; break; }\n                    }\n                }\n                if (restoreDate && allDates.length) {\n                    var rebuiltDate = rebuildDateTabsFromApiDates(allDates, restoreDate);\n                    if (rebuiltDate) {\n                        var $restoredTab = $('.tabs-content .tab[data-date=\"' + rebuiltDate + '\"]');\n                        if ($restoredTab.length && dateCache[rebuiltDate]) {\n                            renderAgendaForDate($restoredTab, dateCache[rebuiltDate], rebuiltDate);\n                            $restoredTab.data('loaded', true);\n                            $(document).trigger('agenda:loaded', [rebuiltDate, dateCache[rebuiltDate]]);\n                            setTimeout(function() {\n                                if (typeof window.processSpeakerImages === 'function') window.processSpeakerImages();\n                            }, 50);\n                            return;\n                        }\n                    }\n                }\n\n                \/\/ Fall back to AJAX if nothing is cached yet\n                if (isLoading) return;\n                isLoading = true;\n                $.ajax({\n                    url: ajaxUrl,\n                    type: 'POST',\n                    dataType: 'json',\n                    data: {\n                        action: 'ssp_get_agenda_by_date',\n                        page_no: 0,\n                        nonce: nonce\n                    },\n                    success: function(response) {\n                        if (response.success && response.data) {\n                            var activeDate = rebuildDateTabsFromApiDates(response.data.dates || [], response.data.selected_date || '');\n                            if (activeDate) {\n                                var $activeTab = $('.tabs-content .tab[data-date=\"' + activeDate + '\"]');\n                                renderAgendaForDate($activeTab, response.data.agenda_list || [], activeDate);\n                                $activeTab.data('loaded', true);\n                                $(document).trigger('agenda:loaded', [activeDate, response.data.agenda_list || []]);\n                            }\n                        }\n                    },\n                    complete: function() {\n                        isLoading = false;\n                    }\n                });\n            };\n            \n            \/\/ Function to render agenda HTML\n            function renderAgendaForDate($tab, agendaList, date) {\n                \n                var $timeline = $tab.find('.schedule-timeline');\n                if (!$timeline.length) {\n                    $timeline = $('<div class=\"schedule-timeline\"><\/div>');\n                    $tab.append($timeline);\n                }\n                \n           \n                    \n               \n                \/\/ Check if search is active\n                var activeSearchTerm = $.trim($('#scheduleSearch').val() || '').toLowerCase();\n                var isSearchActive = activeSearchTerm.length > 0;\n\n                var filteredAgendaList = Array.isArray(agendaList) ? agendaList.slice() : [];\n                \/\/ Only filter by date if not searching - search results may span multiple dates\n                if (date) {\n                    filteredAgendaList = filteredAgendaList.filter(function(agendaItem) {\n                        return (agendaItem && agendaItem.Start_date === date);\n                    });\n                }\n\n                \/\/ Client-side type filter \u2014 ensures correct results even when the API does not\n                \/\/ apply filter_payload without a date parameter\n                if (filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length) {\n                    var fModeRender = (filterPayloadGlobal.filter_type || 'AND').toUpperCase();\n                    filteredAgendaList = filteredAgendaList.filter(function(agendaItem) {\n                        if (!agendaItem) return false;\n                        var sessionTypeIds = [];\n                        if (Array.isArray(agendaItem.type_ids)) {\n                            agendaItem.type_ids.forEach(function(t) {\n                                sessionTypeIds.push(String(t.type_id));\n                            });\n                        }\n                        if (fModeRender === 'OR') {\n                            return filterPayloadGlobal.filters.some(function(group) {\n                                return group.values.some(function(v) {\n                                    return sessionTypeIds.indexOf(String(v)) !== -1;\n                                });\n                            });\n                        }\n                        return filterPayloadGlobal.filters.every(function(group) {\n                            return group.values.some(function(v) {\n                                return sessionTypeIds.indexOf(String(v)) !== -1;\n                            });\n                        });\n                    });\n                }\n\n                if (activeSearchTerm) {\n                    filteredAgendaList = filteredAgendaList.filter(function(agendaItem) {\n                        if (!agendaItem) return false;\n                        var searchHaystack = [\n                            String(agendaItem.Heading || ''),\n                            String((agendaItem.description || '').replace(\/<[^>]*>\/g, '')),\n                            String(agendaItem.search_text || '')\n                        ].join(' ').toLowerCase();\n\n                       if (Array.isArray(agendaItem.type_ids)) {\n                            agendaItem.type_ids.forEach(function(typeItem) {\n                                searchHaystack += ' ' + String((typeItem && typeItem.name) || '').toLowerCase();\n                            });\n                        }\n\n                        \/\/ Add speaker names to haystack\n                        if (Array.isArray(agendaItem.speakers)) {\n                            agendaItem.speakers.forEach(function(speaker) {\n                                var name = speaker.custom_speaker_name || speaker.name || '';\n                                searchHaystack += ' ' + name.toLowerCase();\n                            });\n                        }\n\n                        return searchHaystack.indexOf(activeSearchTerm) !== -1;\n                    });\n                }\n\n                if (filteredAgendaList.length === 0) {\n                    var hasActiveFilter = filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length > 0;\n                    var noResultsMsg = (activeSearchTerm || hasActiveFilter)\n                        ? 'No sessions match your search\/filter for this date.'\n                        : 'No agenda available for this date.';\n                    if (activeSearchTerm || hasActiveFilter) {\n                        $('.tab-buttons-wrapper').hide();\n                    }\n                    $timeline.html('<p style=\"text-align:center;padding:40px;color:#fff\">' + noResultsMsg + '<\/p>');\n                    return;\n                }\n                $('.tab-buttons-wrapper').show();\n                \n                \/\/ Get user data from global scope (set by PHP)\n                var userAgendaIds = window.scheduleUserData ? window.scheduleUserData.userAgendaIds : [];\n                var isLoggedIn = window.scheduleUserData ? window.scheduleUserData.isLoggedIn : false;\n                var eventId = window.scheduleUserData ? window.scheduleUserData.eventId : '';\n                var userId = window.scheduleUserData ? window.scheduleUserData.userId : '';\n                \n                \/\/ Compute once \u2014 reused for every agenda item\n                var html = '';\n                var _fmt = function(t) {\n                    if (!t) return '';\n                    var d = new Date('2000-01-01T' + t);\n                    return isNaN(d.getTime()) ? t : d.toLocaleTimeString('en-US', {hour: 'numeric', minute: '2-digit'});\n                };\n                var _baseUrl = (window.scheduleUserData && window.scheduleUserData.scheduleDetailUrl)\n                    ? window.scheduleUserData.scheduleDetailUrl.replace('\/schedule-details\/', '')\n                    : window.location.origin;\n                var _tmplUri = (window.scheduleUserData && window.scheduleUserData.templateDirUri)\n                    ? window.scheduleUserData.templateDirUri : '';\n\n                filteredAgendaList.forEach(function(agenda, index) {\n                    var agendaColorClass = 'color-' + ((index % 4) + 1);\n                    var isFavourite = userAgendaIds.indexOf(agenda.agenda_id) !== -1;\n                    var typeIds = [];\n                    var searchText = (agenda.Heading || '').toLowerCase() + ' ' +\n                                     (agenda.description ? agenda.description.replace(\/<[^>]*>\/g, ' ').toLowerCase() : '');\n                    \n                  \/\/ Build type IDs and search text\n                    if (agenda.type_ids && agenda.type_ids.length) {\n                        agenda.type_ids.forEach(function(type) {\n                            typeIds.push(type.type_id);\n                            searchText += ' ' + (type.name || '').toLowerCase();\n                        });\n                    }\n\n                    \/\/ Add speaker names to search text\n                    if (agenda.speakers && agenda.speakers.length) {\n                        agenda.speakers.forEach(function(spk) {\n                            searchText += ' ' + (spk.custom_speaker_name || spk.name || '').toLowerCase();\n                        });\n                    }\n                    var startTime = _fmt(agenda.Start_time);\n                    var endTime   = _fmt(agenda.End_time);\n                    var timeDisplay = startTime + (endTime ? ' - ' + endTime : '');\n                    \n                    var isBlocked = agenda.isBlocked == 1;\n                    var blockMessage = agenda.blockMessage || 'You do not have access to this session.';\n                    \n                    html += '<div class=\"schedule-block ' + agendaColorClass + (isFavourite ? ' favourited' : '') + (isBlocked ? ' blocked-agenda' : '') + '\" ' +\n                            'data-message=\"' + blockMessage + '\" ' +\n                            'data-search=\"' + searchText.replace(\/\"\/g, '&quot;') + '\" ' +\n                            'data-types=\"' + typeIds.join(',') + '\">' +\n                            '<div class=\"inner-box\"><div class=\"inner\">' +\n                            '<div class=\"date\">' + timeDisplay + '<\/div>';\n                    \n                    \/\/ Favorite button\n                    if (isLoggedIn) {\n                        var heartClass = isFavourite ? 'fa-solid fa-bookmark active' : 'fa-regular fa-bookmark';\n                        html += '<div class=\"favourite_icon ' + (isFavourite ? 'favourited' : '') + '\" ' +\n                                'data-agenda_id=\"' + agenda.agenda_id + '\" ' +\n                                'data-event_id=\"' + eventId + '\" ' +\n                                'data-user_id=\"' + userId + '\">' +\n                                '<i class=\"' + heartClass + '\"><\/i><\/div>';\n                    }\n                    \n                    \/\/ Title\n                    html += '<h4>';\n                    if (isBlocked) {\n                        html += '<a class=\"agenda-link\" href=\"javascript:void(0);\" style=\"pointer-events:none;opacity:0.6;\">' + (agenda.Heading || '') + '<\/a>';\n                    } else {\n                        html += '<a class=\"agenda-link\" href=\"' + (window.scheduleUserData ? window.scheduleUserData.scheduleDetailUrl : '\/schedule-details\/') + '?agenda_id=' + encodeURIComponent(agenda.agenda_id) + '\">' + (agenda.Heading || '') + '<\/a>';\n                    }\n                    html += '<\/h4>';\n                    \n                    \/\/ Description\n                    if (agenda.description) {\n                        html += '<div class=\"text\">' + agenda.description + '<\/div>';\n                    }\n                    \n                    \/\/ Zoom link\n                    if (agenda.zoom_link) {\n                        html += '<div class=\"zoom-join-button-wrapper\">' +\n                                '<a class=\"zoom-join-btns\" href=\"' + agenda.zoom_link + '\" target=\"_blank\" rel=\"noopener noreferrer\" ' +\n                                'data-zoom-link=\"' + agenda.zoom_link + '\">' +\n                                '<i class=\"fa fa-video\"><\/i> Join Zoom Meeting<\/a><\/div>';\n                    }\n                    \n                    \/\/ Type badges\n                    if (agenda.type_ids && agenda.type_ids.length) {\n                        html += '<div class=\"type-buttons\" style=\"padding-bottom:20px;\">';\n                        agenda.type_ids.forEach(function(type) {\n                            html += '<span class=\"type-badge\" style=\"background:' + (type.color || '#000') + ';color:#fff;padding:4px 10px;border-radius:6px;font-size:16px;margin-right:6px;margin-bottom:15px;display:inline-block;\">' + \n                                    (type.name || '') + '<\/span>';\n                        });\n                        html += '<\/div>';\n                    }\n                    \n                    \/\/ Location\n                    if (agenda.location) {\n                        html += '<div class=\"agenda-locations\"><span class=\"icon fa fa-map-marker-alt\"><\/span>' + agenda.location + '<\/div>';\n                    }\n                    \/\/ Speakers\n                    if (agenda.speakers && agenda.speakers.length) {\n                        html += '<div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">';\n                        agenda.speakers.forEach(function(speaker) {\n                            var objectKey = speaker.s3_image_thumbnail || '';\n                            var imgUrl = _tmplUri + '\/assets\/images\/profile-placeholder.png';\n                            if (!objectKey && speaker.logo) {\n                                imgUrl = 'https:\/\/allintheloop.info\/media\/user_profile\/' + parseInt(eventId || '0') + '\/' + speaker.logo;\n                            }\n                            if (speaker.resolved_img_url) {\n                                imgUrl = speaker.resolved_img_url;\n                                objectKey = '';\n                            }\n                            var speakerName = speaker.custom_speaker_name || speaker.name || '';\n                            var designation = speaker.speaker_designation || '';\n                            var firstLetter = speakerName ? speakerName.charAt(0).toUpperCase() : 'S';\n                            var userId = speaker.User_id || '';\n\n                           const baseUrl = _baseUrl;\n\n                            html += '<div class=\"agenda-speaker-card\">' +\n                                    '<div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">' +\n                                    '<a href=\"' + baseUrl + '\/speakers-detail\/?speaker=' + encodeURIComponent(userId) + '\">' +\n                                    '<img loading=\"lazy\" class=\"speaker-img\" src=\"' + imgUrl + '\" data-object-key=\"' + objectKey + '\" loading=\"lazy\" decoding=\"async\" width=\"80\" height=\"80\" alt=\"' + firstLetter + '\" style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\" \/>' +\n                                    '<\/a>' +\n                                    '<\/div>' +\n                                    '<h5 class=\"agenda-speaker-name\">' +\n                                    '<a href=\"' + baseUrl + '\/speakers-detail\/?speaker=' + encodeURIComponent(userId) + '\">' + speakerName + '<\/a>' +\n                                    '<\/h5>';\n                            if (designation) {\n                                html += '<div class=\"agenda-speaker-designation\" style=\"color:#9a9a9a; font-size:12px; line-height:1.3; margin-top:2px;\">' + designation + '<\/div>';\n                            }\n                            html += '<\/div>';\n                        });\n                        html += '<\/div>';\n                    }\n\n                    html += '<\/div><\/div><\/div>';\n                });\n                \n                $timeline.html(html);\n                \n                \/\/ Re-initialize image loading for new content\n                setTimeout(function() {\n                    if (typeof window.processSpeakerImages === 'function') {\n                        window.processSpeakerImages();\n                    } else if (typeof window.initSpeakerImageLoading === 'function') {\n                        window.initSpeakerImageLoading();\n                    }\n                }, 50);\n            }\n            \n            \/\/ Handle tab clicks for AJAX loading\n            $(document).on('click', '.tab-buttons-carousel .tab-btn', function(e) {\n                 var date = $(this).data('date');\n                var tabId = $(this).data('tab');\n                var $tab = $(tabId);\n                if (!date || !$tab.length) return;\n\n                var currentSearch = $.trim($('#scheduleSearch').val() || '');\n                var hasFilter = filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length > 0;\n\n                if (currentSearch.length > 0) {\n                    \/\/ Search active \u2014 fetch this specific date with date param\n                    \/\/ so API returns full speaker data, then client filters by keyword\n                    var $tl = $tab.find('.schedule-timeline');\n                    if (!$tl.length) {\n                        $tl = $('<div class=\"schedule-timeline\"><\/div>');\n                        $tab.append($tl);\n                    }\n                    $tl.html('<div style=\"text-align:center;padding:40px;\"><div class=\"loader-spinner\" style=\"width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #222;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px;\"><\/div><span>Loading...<\/span><\/div>');\n\n                    var tabClickData = {\n                        action: 'ssp_get_agenda_by_date',\n                        page_no: 0,\n                        nonce: nonce,\n                        date: date\n                    };\n                    if (filterPayloadGlobal && filterPayloadGlobal.filters && filterPayloadGlobal.filters.length) {\n                        tabClickData.filter_payload = JSON.stringify(filterPayloadGlobal);\n                    }\n                    \/\/ Pass category_id if set from shortcode\n                    var _catId = (window.scheduleUserData && window.scheduleUserData.categoryId) ? window.scheduleUserData.categoryId : '';\n                    if (_catId) { tabClickData.category_id = _catId; }\n                    $.ajax({\n                        url: ajaxUrl,\n                        type: 'POST',\n                        dataType: 'json',\n                        data: tabClickData,\n                        success: function(response) {\n                            if (response.success && response.data && response.data.agenda_list) {\n                                renderAgendaForDate($tab, response.data.agenda_list, date);\n                            } else {\n                                $tl.html('<p style=\"text-align:center;padding:40px;\">No results found.<\/p>');\n                            }\n                        },\n                        error: function() {\n                            $tl.html('<p style=\"text-align:center;padding:40px;color:#dc3545;\">Error loading.<\/p>');\n                        }\n                    });\n                } else if (hasFilter) {\n                    \/\/ Send date + filter_payload for a fast, targeted query\n                    loadAgendaByDate(date, $tab, { sendDate: true });\n                } else {\n                    \/\/ No search or filter \u2014 normal load\n                    loadAgendaByDate(date, $tab, { sendDate: true });\n                }\n            });\n            \n            \/\/ AUTO-LOAD: Load first date's agenda when page loads\n            setTimeout(function() {\n                var $firstTabBtn = $('.tab-buttons-carousel .tab-btn').first();\n                if ($firstTabBtn.length) {\n                    var firstDate = $firstTabBtn.data('date');\n                    var firstTabId = $firstTabBtn.data('tab');\n                    var $firstTab = $(firstTabId);\n\n                    if (firstDate && $firstTab.length) {\n                        var ud = window.scheduleUserData;\n                        \/\/ Use PHP-inlined data \u2014 renders first tab instantly, no AJAX call\n                        if (ud && ud.initialAgendaData && ud.initialAgendaData.length && ud.firstDate === firstDate) {\n                            renderAgendaForDate($firstTab, ud.initialAgendaData, firstDate);\n                            $firstTab.data('loaded', true);\n                            dateCache[firstDate] = ud.initialAgendaData;\n                            $(document).trigger('agenda:loaded', [firstDate, ud.initialAgendaData]);\n                            if (typeof window.processSpeakerImages === 'function') {\n                                window.processSpeakerImages();\n                            }\n                        } else {\n                            loadAgendaByDate(firstDate, $firstTab, { sendDate: true });\n                        }\n\n                        if (ud) {\n                            ud.currentLoadedDate = firstDate;\n                        }\n                    }\n                }\n            }, 100); \/\/ Small delay to ensure DOM is fully ready\n        }\n        \n        \/\/ Initialize when DOM is ready\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initDateAjaxLoading);\n        } else {\n            initDateAjaxLoading();\n        }\n    })();\n\n    \/\/ ==================================================\n    \/\/ DATE CAROUSEL FUNCTIONALITY - JQUERY CAROUSEL\n    \/\/ ==================================================\n    jQuery(document).ready(function($) {\n        var $carousel = $('.tab-buttons-carousel');\n        var $container = $('.tab-buttons-carousel-container');\n        var $prevBtn = $('.carousel-prev');\n        var $nextBtn = $('.carousel-next');\n        var currentPosition = 0;\n        var itemWidth = 0;\n        var visibleItems = 0;\n        var totalItems = 0;\n        var maxPosition = 0;\n        \n        function initCarousel() {\n            if (!$carousel.length) return;\n            \n            \/\/ Calculate dimensions\n            var containerWidth = $container.width();\n            var firstItem = $carousel.find('.tab-btn-item:not(.filtered-hide)').first();\n            \n            if (!firstItem.length) return;\n            \n            itemWidth = firstItem.outerWidth(true);\n            visibleItems = Math.floor(containerWidth \/ itemWidth);\n            totalItems = $carousel.find('.tab-btn-item:not(.filtered-hide)').length;\n            maxPosition = Math.max(0, (totalItems - visibleItems) * itemWidth);\n            \n            \/\/ Reset position if needed\n            if (currentPosition > maxPosition) {\n                currentPosition = maxPosition;\n            }\n            \n            updateCarousel();\n            updateButtons();\n        }\n        \n        function updateCarousel() {\n            $carousel.css('transform', 'translateX(-' + currentPosition + 'px)');\n        }\n        \n        function updateButtons() {\n            $prevBtn.prop('disabled', currentPosition <= 0);\n            $nextBtn.prop('disabled', currentPosition >= maxPosition || totalItems <= visibleItems);\n        }\n        \n        function centerItem($item) {\n            if (!$item.length) return;\n            \n            \/\/ Get all visible items (not filtered)\n            var $allItems = $carousel.find('.tab-btn-item:not(.filtered-hide)');\n            var itemIndex = $allItems.index($item);\n            \n            if (itemIndex === -1) return;\n            \n            var containerWidth = $container.width();\n            var itemWidth = $item.outerWidth(true);\n            \n            \/\/ Calculate position to center this item\n            var centerOffset = (containerWidth \/ 2) - (itemWidth \/ 2);\n            var targetPosition = (itemIndex * itemWidth) - centerOffset;\n            \n            \/\/ Clamp to valid range\n            targetPosition = Math.max(0, Math.min(maxPosition, targetPosition));\n            \n            currentPosition = targetPosition;\n            updateCarousel();\n            updateButtons();\n        }\n        \n        function scrollCarousel(direction) {\n            var scrollAmount = itemWidth * Math.max(1, Math.floor(visibleItems \/ 2));\n            \n            if (direction === 'prev') {\n                currentPosition = Math.max(0, currentPosition - scrollAmount);\n            } else {\n                currentPosition = Math.min(maxPosition, currentPosition + scrollAmount);\n            }\n            \n            updateCarousel();\n            updateButtons();\n        }\n        \n        \/\/ Navigation button handlers\n        $prevBtn.on('click', function() {\n            if (!$(this).prop('disabled')) {\n                scrollCarousel('prev');\n            }\n        });\n        \n        $nextBtn.on('click', function() {\n            if (!$(this).prop('disabled')) {\n                scrollCarousel('next');\n            }\n        });\n        \n        \/\/ Handle tab switching and center selected date when tab button is clicked\n        $(document).on('click', '.tab-buttons-carousel .tab-btn', function(e) {\n            e.preventDefault();\n            var $clickedBtn = $(this);\n            var $item = $clickedBtn.closest('.tab-btn-item');\n            var target = $($clickedBtn.attr('data-tab'));\n            var $scheduleSection = $clickedBtn.closest('.schedule-section');\n            \n            \/\/ Switch tabs\n            if (target.length) {\n                if (!target.is(':visible')) {\n                    \/\/ Remove active classes\n                    $scheduleSection.find('.tab-buttons-carousel .tab-btn').removeClass('active-btn');\n                    $clickedBtn.addClass('active-btn');\n                    \n                    \/\/ Hide all tabs and show selected\n                    $scheduleSection.find('.tabs-content .tab').fadeOut(0);\n                    $scheduleSection.find('.tabs-content .tab').removeClass('active-tab animated fadeIn');\n                    target.fadeIn(300);\n                    target.addClass('active-tab animated fadeIn');\n                }\n            }\n            \n            \/\/ Center the clicked item in carousel\n            setTimeout(function() {\n                centerItem($item);\n            }, 50);\n        });\n        \n        \/\/ Initialize on load\n        initCarousel();\n        \n        \/\/ Re-initialize on window resize\n        var resizeTimer;\n        $(window).on('resize', function() {\n            clearTimeout(resizeTimer);\n            resizeTimer = setTimeout(function() {\n                initCarousel();\n            }, 250);\n        });\n        \n        \/\/ Re-initialize after filter is applied\n        $(document).on('click', '.apply-filter-btn', function() {\n            setTimeout(function() {\n                currentPosition = 0;\n                initCarousel();\n            }, 300);\n        });\n        \n        \/\/ First tab is always centered on page load - no saved state\n        setTimeout(function() {\n            var $firstBtn = $carousel.find('.tab-btn').first();\n            if ($firstBtn.length) {\n                var $item = $firstBtn.closest('.tab-btn-item');\n                centerItem($item);\n            }\n        }, 500);\n    });\n\n    jQuery(document).ready(function ($) {\n        \/* ==============================\n           OPEN SIDEBAR\n        ============================== *\/\n        $('.open-filter-btn').on('click', function(){\n            $('.filter-sidebar').addClass('active');\n            $('.filter-backdrop').addClass('active');\n        });\n\n        \/* ==============================\n           CLOSE SIDEBAR\n        ============================== *\/\n        $('.filter-close-btn, .filter-backdrop').on('click', function(){\n            $('.filter-sidebar').removeClass('active');\n            $('.filter-backdrop').removeClass('active');\n        });\n\n        \/\/ Set checkbox colors on page load\n        $('.filter-checkbox').each(function() {\n            var color = $(this).data('type-color');\n            if (color) {\n                $(this).css('--checkbox-color', color);\n            }\n        });\n\n        \/\/ Show\/hide clear button based on checkbox selection\n        function updateClearButton() {\n            var hasChecked = $('.filter-checkbox:checked').length > 0;\n            $('.filter-clear-bar').toggle(hasChecked);\n            $('#clearFilterMainBtn').toggle(hasChecked);\n        }\n\n        \/\/ Check on page load\n        updateClearButton();\n\n        \/\/ Check when any checkbox changes\n        $(document).on('change', '.filter-checkbox', function() {\n            updateClearButton();\n        });\n\n        function reloadAfterFilterClear() {\n            var searchVal = $.trim($('#scheduleSearch').val() || '');\n            var $activeTab = $('.tab.active-tab');\n            var activeDate = $activeTab.data('date') || $('.tab-buttons-carousel .tab-btn.active-btn').data('date') || $('.tab-buttons-carousel .tab-btn').first().data('date') || '';\n\n            \/\/ Re-resolve active tab by date if active class state is stale.\n            if ((!$activeTab.length || !$activeTab.data('date')) && activeDate) {\n                $activeTab = $('.tabs-content .tab[data-date=\"' + activeDate + '\"]');\n            }\n\n            \/\/ Final fallback to first tab if still not found.\n            if ((!$activeTab.length || !activeDate) && $('.tabs-content .tab').length) {\n                $activeTab = $('.tabs-content .tab').first();\n                activeDate = $activeTab.data('date') || activeDate;\n            }\n            \/\/ If search still exists, keep search result (not default).\n            if (searchVal && activeDate && $activeTab.length && typeof window.loadAgendaByDate === 'function') {\n                $('.tab').data('loaded', false);\n                window.loadAgendaByDate(activeDate, $activeTab, { sendDate: true });\n                return;\n            }\n\n            \/\/ If no search and no filter, load default data.\n            if (typeof window.loadDefaultAgendaData === 'function') {\n                window.loadDefaultAgendaData();\n            }\n        }\n\n        \/\/ Clear all checkboxes when clear button is clicked (sidebar button)\n        $(document).on('click', '.clear-filter-btn', function() {\n            $('.filter-checkbox:checked').prop('checked', false);\n            selectedTypesGlobal = [];\n            filterPayloadGlobal = null;\n            filterResultCache = {};\n            updateClearButton();\n            reloadAfterFilterClear();\n        });\n\n        \/\/ Clear filter from main button (next to Filter button)\n        $('#clearFilterMainBtn').on('click', function() {\n            $('.filter-checkbox:checked').prop('checked', false);\n            selectedTypesGlobal = [];\n            filterPayloadGlobal = null;\n            filterResultCache = {};\n            updateClearButton();\n            reloadAfterFilterClear();\n        });\n\n        \/\/ Track current active date for filtering\n        var currentFilterDate = window.scheduleUserData ? window.scheduleUserData.currentLoadedDate : '';\n        \n        \/\/ Update current date when tab changes\n        $(document).on('click', '.tab-buttons-carousel .tab-btn', function() {\n            var date = $(this).data('date');\n            if (date) {\n                currentFilterDate = date;\n            }\n        });\n        \n        $('.apply-filter-btn').on('click', function () {\n\n            selectedTypesGlobal = [];\n            filterModeGlobal = $('input[name=\"filter-mode\"]:checked').val() || 'and';\n\n            \/\/ Build grouped filter structure: { group_id: [type_id, ...], ... }\n            var groupedFilters = {};\n\n            $('.filter-checkbox:checked').each(function () {\n                var typeId  = $(this).val();\n                var groupId = $(this).data('group'); \/\/ \u2190 reads data-group from checkbox\n\n                if (!groupedFilters[groupId]) {\n                    groupedFilters[groupId] = [];\n                }\n                groupedFilters[groupId].push(typeId);\n\n                selectedTypesGlobal.push(typeId); \/\/ keep for backward compat \/ loaded check\n            });\n\n            \/\/ Build filters array in required format\n            var filtersArray = [];\n            Object.keys(groupedFilters).forEach(function(groupKey) {\n                filtersArray.push({\n                    group_key: groupKey,\n                    values:    groupedFilters[groupKey]\n                });\n            });\n\n            \/\/ Store globally so AJAX can access it\n            filterPayloadGlobal = filtersArray.length > 0 ? {\n                filter_type: filterModeGlobal.toUpperCase(), \/\/ \"AND\" or \"OR\"\n                filters:     filtersArray\n            } : null;\n\n            let $activeTab  = $('.tab.active-tab');\n            let currentDate = $activeTab.data('date');\n            if (!currentDate) {\n                currentDate = $('.tab-buttons-carousel .tab-btn.active-btn').data('date') || $('.tab-buttons-carousel .tab-btn').first().data('date') || '';\n                if (currentDate) {\n                    $activeTab = $('.tabs-content .tab[data-date=\"' + currentDate + '\"]');\n                }\n            }\n\n            \/\/ Reset ALL tabs so API reloads\n            filterResultCache = {};\n            $('.tab').data('loaded', false);\n\n            \/\/ Reload API with filters \u2014 don't send date initially so API returns all sessions\n            \/\/ across all dates, then we can filter and show only dates with matching results\n            if (currentDate && $activeTab.length) {\n                window.loadAgendaByDate(currentDate, $activeTab, { sendDate: false });\n            } else if (typeof window.loadDefaultAgendaData === 'function') {\n                window.loadDefaultAgendaData();\n            }\n\n            closeFilter();\n            });\n    \n        \/\/ =====================\n        \/\/ HELPERS\n        \/\/ =====================\n        function closeFilter() {\n            $('.filter-sidebar').removeClass('active');\n            $('.filter-backdrop').removeClass('active');\n        }\n    });\n    \n    \n    \/\/ ***************************************************************\/\/\n    \/\/***** Load speakers image after page loading with API CURL *****\/\/\n    \/\/ ***************************************************************\/\/\n    var siteData = {\n        restUrl: \"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/custom\/v1\/speaker-images\"\n    };\n    \n    \/\/ Optimized image loading - deferred to prevent blocking navigation\n    (function() {\n        'use strict';\n        \n        const CHUNK_SIZE = 20; \/\/ Reduced for better performance\n        const queue = [];\n        let loading = false;\n        const processed = new Set();\n        const urlCache = new Map(); \/\/ objectKey \u2192 resolved URL\n        let observer = null;\n        let mutationObserver = null;\n        let initialized = false;\n\n        \/\/ Ensure links navigate immediately without waiting for images\n        document.addEventListener('click', function(e) {\n            const link = e.target.closest('.agenda-link');\n            if (link && link.href && !link.href.includes('javascript:')) {\n                \/\/ Allow immediate navigation - don't block\n                return true;\n            }\n        }, true); \/\/ Use capture phase for immediate handling\n\n        \/\/ Initialize image loading after page is ready and idle\n        function initImageLoading() {\n            if (initialized) {\n                \/\/ Reset for AJAX re-runs - process new images\n                processNewImages();\n                return;\n            }\n            initialized = true;\n\n            \/\/ Use requestIdleCallback if available, otherwise setTimeout\n            const initCallback = window.requestIdleCallback || ((cb) => setTimeout(cb, 500));\n            \n            initCallback(() => {\n                \/\/ Only load images in viewport initially\n                const viewportImgs = [];\n                const allImgs = document.querySelectorAll('.speaker-img[data-object-key], .agenda-description img[data-object-key]');\n                \n                allImgs.forEach(img => {\n                    if (img.dataset.objectKey && !processed.has(img.dataset.objectKey)) {\n                        processed.add(img.dataset.objectKey);\n                        \n                        \/\/ Check if in viewport\n                        const rect = img.getBoundingClientRect();\n                        const isInViewport = rect.top < window.innerHeight + 100 && \n                                           rect.bottom > -100 &&\n                                           img.closest('.tab.active-tab') !== null;\n                        \n                        if (isInViewport) {\n                            viewportImgs.push(img);\n                        }\n                    }\n                });\n\n                \/\/ Load only viewport images in small batches\n                if (viewportImgs.length > 0) {\n                    loadImagesBatch(viewportImgs.slice(0, 10), true); \/\/ Load first 10 immediately\n                    \n                    \/\/ Load rest in background\n                    if (viewportImgs.length > 10) {\n                        setTimeout(() => {\n                            loadImagesBatch(viewportImgs.slice(10), false);\n                        }, 200);\n                    }\n                }\n\n                \/\/ Setup IntersectionObserver for lazy loading\n                observer = new IntersectionObserver(entries => {\n                    entries.forEach(entry => {\n                        if (entry.isIntersecting) {\n                            observer.unobserve(entry.target);\n                            if (entry.target.dataset.objectKey && !queue.includes(entry.target)) {\n                                queue.push(entry.target);\n                                processQueue();\n                            }\n                        }\n                    });\n                }, {\n                    rootMargin: '150px'\n                });\n\n                \/\/ Observe all non-viewport images\n                allImgs.forEach(img => {\n                    if (!viewportImgs.includes(img) && img.dataset.objectKey) {\n                        observer.observe(img);\n                    }\n                });\n\n                \/\/ Setup MutationObserver for dynamic content\n                mutationObserver = new MutationObserver(mutations => {\n                    mutations.forEach(mutation => {\n                        mutation.addedNodes.forEach(node => {\n                            if (node.nodeType === 1) {\n                                const imgs = node.querySelectorAll ? \n                                    node.querySelectorAll('.speaker-img[data-object-key], img[data-object-key]') : [];\n                                \n                                Array.from(imgs).forEach(img => {\n                                    if (!img.dataset.objectKey) return;\n                                    const key = img.dataset.objectKey;\n                                    const isPlaceholder = !img.src || img.src.includes('profile-placeholder');\n\n                                    \/\/ Apply cached URL immediately if available\n                                    if (isPlaceholder && urlCache.has(key)) {\n                                        const placeholderUrl = 'https:\/\/allintheloop.com\/nata-2026-convention\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png';\n                                        img.src = urlCache.get(key);\n                                        img.onerror = function() { this.src = placeholderUrl; };\n                                        processed.add(key);\n                                        return;\n                                    }\n\n                                    const isNew = !processed.has(key);\n                                    if (isNew) processed.add(key);\n\n                                    if (isNew || isPlaceholder) {\n                                        const rect = img.getBoundingClientRect();\n                                        const isInViewport = rect.top < window.innerHeight + 100 && rect.bottom > -100;\n\n                                        if (isInViewport) {\n                                            loadImagesBatch([img], false);\n                                        } else {\n                                            observer.observe(img);\n                                        }\n                                    }\n                                });\n                            }\n                        });\n                    });\n                });\n\n                \/\/ Watch agenda descriptions\n                document.querySelectorAll('.agenda-description').forEach(container => {\n                    mutationObserver.observe(container, {\n                        childList: true,\n                        subtree: true\n                    });\n                });\n                \n                \/\/ Watch tab containers for AJAX-loaded content\n                document.querySelectorAll('.tab-content, .tab, .tabs-content').forEach(container => {\n                    mutationObserver.observe(container, {\n                        childList: true,\n                        subtree: true\n                    });\n                });\n            });\n        }\n\n        function loadImagesBatch(images, immediate = false) {\n            if (images.length === 0) return Promise.resolve();\n\n            const keys = images.map(img => img.dataset.objectKey).filter(Boolean);\n            if (keys.length === 0) return Promise.resolve();\n\n            const batchSize = immediate ? Math.min(keys.length, 10) : CHUNK_SIZE;\n            const placeholderUrl = 'https:\/\/allintheloop.com\/nata-2026-convention\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png';\n            \n            \/\/ Collect all promises for batches\n            const batchPromises = [];\n            \n            for (let i = 0; i < keys.length; i += batchSize) {\n                const batch = keys.slice(i, i + batchSize);\n                const batchImages = images.slice(i, i + batchSize);\n\n                \/\/ Create a promise for each batch\n                const batchPromise = new Promise((resolve) => {\n                    const loadBatch = () => {\n                         fetch(siteData.restUrl, {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({ keys: batch })\n                        })\n                        .then(res => res.json())\n                        .then(data => {\n                            batchImages.forEach(img => {\n                                const key = img.dataset.objectKey;\n                                if (data[key] && img.dataset.objectKey === key) {\n                                    urlCache.set(key, data[key]); \/\/ cache resolved URL\n                                    img.src = data[key];\n                                    img.onerror = function() {\n                                        this.src = placeholderUrl;\n                                    };\n                                }\n                            });\n                            resolve();\n                        })\n                        .catch(err => {\n                            console.error('Error loading speaker images:', err);\n                            batchImages.forEach(img => {\n                                if (!img.src || img.src.includes('profile-placeholder')) {\n                                    img.src = placeholderUrl;\n                                }\n                            });\n                            resolve(); \/\/ Resolve even on error to continue processing\n                        });\n                    };\n\n                    if (immediate && i === 0) {\n                        loadBatch(); \/\/ Load first batch immediately\n                    } else {\n                        const delayCallback = window.requestIdleCallback || ((cb) => setTimeout(cb, 100));\n                        delayCallback(loadBatch);\n                    }\n                });\n\n                batchPromises.push(batchPromise);\n            }\n\n            \/\/ Return a promise that resolves when all batches are done\n            return Promise.all(batchPromises).then(() => {});\n        }\n\n        function processQueue() {\n            if (loading || queue.length === 0) return;\n\n            loading = true;\n            const chunk = queue.splice(0, CHUNK_SIZE);\n\n            loadImagesBatch(chunk).finally(() => {\n                loading = false;\n                if (queue.length > 0) {\n                    const delayCallback = window.requestIdleCallback || ((cb) => setTimeout(cb, 50));\n                    delayCallback(() => processQueue());\n                }\n            });\n        }\n\n        \/\/ Load images when tab changes (deferred)\n        jQuery(document).on('click', '.tab-btn', function() {\n            setTimeout(() => {\n\n                const activeTab = jQuery('.tab.active-tab');\n                const tabImgs = activeTab.find('.speaker-img[data-object-key]').toArray().filter(img => {\n                    return img.dataset.objectKey && \n                           (img.src.includes('profile-placeholder') || !img.src || img.complete === false);\n                });\n                \n                if (tabImgs.length > 0) {\n                    \/\/ Load first 10 immediately, rest in background\n                    loadImagesBatch(tabImgs.slice(0, 10), true);\n                    if (tabImgs.length > 10) {\n                        setTimeout(() => loadImagesBatch(tabImgs.slice(10), false), 200);\n                    }\n                }\n            }, 50);\n        });\n\n        \/\/ Process new images (for AJAX re-runs)\n        function processNewImages() {\n            const placeholderUrl = 'https:\/\/allintheloop.com\/nata-2026-convention\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png';\n            const allImgs = document.querySelectorAll('.speaker-img[data-object-key]');\n            const newImgs = [];\n\n            allImgs.forEach(img => {\n                const key = img.dataset.objectKey;\n                if (!key) return;\n                const isPlaceholder = !img.src || img.src.includes('profile-placeholder');\n\n                \/\/ If we already resolved this key, apply the cached URL immediately \u2014 no API call needed\n                if (isPlaceholder && urlCache.has(key)) {\n                    img.src = urlCache.get(key);\n                    img.onerror = function() { this.src = placeholderUrl; };\n                    processed.add(key);\n                    return;\n                }\n\n                const isNew = !processed.has(key);\n                if (isNew) processed.add(key);\n\n                \/\/ Process if new OR if still showing placeholder after AJAX re-render\n                if (isNew || isPlaceholder) {\n                    const rect = img.getBoundingClientRect();\n                    const isInViewport = rect.top < window.innerHeight + 100 && rect.bottom > -100;\n\n                    if (isInViewport) {\n                        newImgs.push(img);\n                    } else if (observer) {\n                        observer.observe(img);\n                    }\n                }\n            });\n\n            if (newImgs.length > 0) {\n                loadImagesBatch(newImgs.slice(0, 10), true);\n                if (newImgs.length > 10) {\n                    setTimeout(() => loadImagesBatch(newImgs.slice(10), false), 200);\n                }\n            }\n        }\n        \n        \/\/ Expose globally for AJAX calls\n        window.initSpeakerImageLoading = initImageLoading;\n        window.processSpeakerImages = processNewImages;\n\n        \/\/ Initialize after DOM is ready\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initImageLoading);\n        } else {\n            initImageLoading();\n        }\n    })();\n    \n    jQuery(document).on('click', '.zoom-join-btns', function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        \/\/ Use the original zoom link directly from data attribute or href\n        let zoomLink = jQuery(this).data('zoom-link') || jQuery(this).attr('href');\n\n        if (!zoomLink) {\n            alert('Zoom link not available.');\n            return;\n        }\n\n        \/\/ Validate it's a zoom link\n        if (!zoomLink.includes('zoom.us') && !zoomLink.includes('zoom.com')) {\n            alert('Invalid Zoom link.');\n            return;\n        }\n\n        \/\/ Convert to direct join link (skip landing page)\n        \/\/ Convert format: https:\/\/domain.zoom.us\/j\/MEETING_ID to https:\/\/domain.zoom.us\/wc\/join\/MEETING_ID\n        try {\n            const url = new URL(zoomLink);\n            \n            \/\/ Check if it's already a direct join link\n            if (url.pathname.includes('\/wc\/join\/')) {\n                \/\/ Already a direct join link, use as-is\n                window.open(zoomLink, '_blank', 'noopener,noreferrer');\n                return;\n            }\n            \n            \/\/ Extract meeting ID from \/j\/MEETING_ID format\n            const meetingMatch = url.pathname.match(\/\\\/j\\\/(\\d{9,11})\/);\n            if (meetingMatch) {\n                const meetingId = meetingMatch[1];\n                \/\/ Build direct join URL: replace \/j\/ with \/wc\/join\/\n                const directJoinUrl = `${url.protocol}\/\/${url.host}\/wc\/join\/${meetingId}`;\n                \n                \/\/ Preserve all query parameters (pwd, etc.)\n                if (url.search) {\n                    window.open(directJoinUrl + url.search, '_blank', 'noopener,noreferrer');\n                } else {\n                    window.open(directJoinUrl, '_blank', 'noopener,noreferrer');\n                }\n            } else {\n                \/\/ If we can't parse it, try to use original link\n                \/\/ Try alternative patterns\n                const altMatch = zoomLink.match(\/(https?:\\\/\\\/[^\\\/]+)\\\/(?:j\\\/|meeting\\\/join\\\/|s\\\/|s\\\/join\\\/)(\\d{9,11})\/);\n                if (altMatch) {\n                    const domain = altMatch[1];\n                    const meetingId = altMatch[2];\n                    const queryString = zoomLink.includes('?') ? zoomLink.substring(zoomLink.indexOf('?')) : '';\n                    const directJoinUrl = `${domain}\/wc\/join\/${meetingId}${queryString}`;\n                    window.open(directJoinUrl, '_blank', 'noopener,noreferrer');\n                } else {\n                    \/\/ Fallback: use original link\n                    window.open(zoomLink, '_blank', 'noopener,noreferrer');\n                }\n            }\n        } catch (error) {\n            \/\/ If URL parsing fails, try regex approach\n            const regexMatch = zoomLink.match(\/(https?:\\\/\\\/[^\\\/]+(?:\\.[^\\\/]+)*)\\\/j\\\/(\\d{9,11})(.*)\/);\n            if (regexMatch) {\n                const domain = regexMatch[1];\n                const meetingId = regexMatch[2];\n                const queryString = regexMatch[3] || '';\n                const directJoinUrl = `${domain}\/wc\/join\/${meetingId}${queryString}`;\n                window.open(directJoinUrl, '_blank', 'noopener,noreferrer');\n            } else {\n                \/\/ Final fallback: use original link\n                console.warn('Could not convert Zoom link to direct join format, using original:', error);\n                window.open(zoomLink, '_blank', 'noopener,noreferrer');\n            }\n        }\n    });\n    \n    \/\/ ==================================================\n    \/\/ PAGINATION AJAX HANDLER (OPTIMIZED)\n    \/\/ ==================================================\n    jQuery(document).ready(function($) {\n        var $pagination = $('.schedule-pagination');\n        var $paginationWrapper = $('.schedule-pagination-wrapper');\n        var $loader = $('.pagination-loader');\n        \n        if (!$pagination.length) return;\n        \n        var ajaxUrl = 'https:\/\/allintheloop.com\/nata-2026-convention\/wp-admin\/admin-ajax.php';\n        var currentPage = parseInt($pagination.data('current-page')) || 1;\n        var totalPages = parseInt($pagination.data('total-pages')) || 1;\n        var isLoading = false;\n        var ajaxRequest = null;\n        \n        \/\/ Optimized function to load page\n        function loadPage(targetPage) {\n            \/\/ Validation\n            if (!targetPage || targetPage < 1 || targetPage > totalPages || targetPage === currentPage) {\n                \/\/ If validation fails, hide loader\n                resetLoadingState();\n                return;\n            }\n            \n            \/\/ Cancel any pending request\n            if (ajaxRequest && ajaxRequest.readyState !== 4) {\n                ajaxRequest.abort();\n            }\n            \n            \/\/ Loading state and loader already shown by showLoaderImmediately\n            \n            \/\/ Scroll to top smoothly\n            var $scheduleSection = $('.schedule-section');\n            if ($scheduleSection.length) {\n                $('html, body').stop().animate({\n                    scrollTop: $scheduleSection.offset().top - 100\n                }, 300);\n            }\n            \n            \/\/ Make optimized AJAX request with timeout - Get HTML content\n            ajaxRequest = $.ajax({\n                url: ajaxUrl,\n                type: 'POST',\n                dataType: 'json',\n                timeout: 30000, \/\/ 30 second timeout\n                cache: false,\n                data: {\n                    action: 'get_agenda_pagination_html',\n                    page_no: targetPage,\n                    agenda_id: (window.scheduleUserData && window.scheduleUserData.categoryId) ? window.scheduleUserData.categoryId : ''\n                },\n                success: function(response) {\n                    if (response && response.success && response.data && response.data.html) {\n                        \/\/ Update URL without reload using History API\n                        var url = new URL(window.location.href);\n                        url.searchParams.set('schedule_page', targetPage);\n                        window.history.pushState({page: targetPage}, '', url.toString());\n                        \n                        \/\/ Get the schedule section container\n                        var $scheduleSection = $('.schedule-section.style-two');\n                        \n                        \/\/ Parse the new HTML - wrap in a temporary container\n                        var $tempContainer = $('<div>').html(response.data.html);\n                        var $newScheduleInner = $tempContainer.find('.schedule-section-inner').first();\n                        var $newPagination = $tempContainer.find('.schedule-pagination-wrapper').first();\n                        \n                        \/\/ If not found, the HTML might be the section itself, try finding within it\n                        if (!$newScheduleInner.length) {\n                            var $sectionInHtml = $tempContainer.find('.schedule-section.style-two');\n                            if ($sectionInHtml.length) {\n                                $newScheduleInner = $sectionInHtml.find('.schedule-section-inner').first();\n                                $newPagination = $sectionInHtml.find('.schedule-pagination-wrapper').first();\n                            }\n                        }\n                        \n                        \/\/ Fade out old content\n                        $scheduleSection.find('.schedule-section-inner, .schedule-pagination-wrapper').fadeOut(200, function() {\n                            \/\/ Replace schedule inner content\n                            if ($newScheduleInner.length) {\n                                $scheduleSection.find('.schedule-section-inner').replaceWith($newScheduleInner);\n                            }\n                            \n                            \/\/ Update pagination\n                            if ($newPagination.length) {\n                                var $existingPagination = $scheduleSection.find('.schedule-pagination-wrapper');\n                                if ($existingPagination.length) {\n                                    $existingPagination.replaceWith($newPagination);\n                                } else {\n                                    $scheduleSection.append($newPagination);\n                                }\n                            } else {\n                                $scheduleSection.find('.schedule-pagination-wrapper').remove();\n                            }\n                            \n                            \/\/ Update pagination variables\n                            var $newPaginationEl = $scheduleSection.find('.schedule-pagination');\n                            if ($newPaginationEl.length) {\n                                currentPage = parseInt($newPaginationEl.data('current-page')) || targetPage;\n                                totalPages = parseInt($newPaginationEl.data('total-pages')) || 1;\n                                $pagination = $newPaginationEl;\n                                $paginationWrapper = $scheduleSection.find('.schedule-pagination-wrapper');\n                            }\n                            \n                            \/\/ Update loader reference (loader is now outside section, as sibling)\n                            $loader = $('.pagination-loader');\n                            \n                            \/\/ Re-initialize necessary handlers\n                            reinitializeHandlers();\n                            \n                            \/\/ Fade in new content\n                            $scheduleSection.find('.schedule-section-inner, .schedule-pagination-wrapper').hide().fadeIn(300);\n                            \n                            \/\/ Reset loading state - hide loader after content is visible\n                            setTimeout(function() {\n                                resetLoadingState();\n                            }, 100);\n                        });\n                    } else {\n                        showError('Error loading page. Please try again.');\n                    }\n                },\n                error: function(xhr, status, error) {\n                    if (status !== 'abort') {\n                        console.error('Pagination AJAX Error:', error);\n                        showError('Error loading page. Please try again.');\n                    }\n                },\n                complete: function() {\n                    \/\/ Loading state will be reset in success handler\n                }\n            });\n        }\n        \n        \/\/ Show error and reset\n        function showError(message) {\n            alert(message);\n            resetLoadingState();\n        }\n        \n        \/\/ Reset loading state\n        function resetLoadingState() {\n            isLoading = false;\n            \n            \/\/ Update references in case content was replaced\n            $pagination = $('.schedule-pagination');\n            $loader = $('.pagination-loader');\n            \n            if ($pagination.length) {\n                $pagination.removeClass('pagination-loading');\n            }\n            $('.pagination-btn, .pagination-number').prop('disabled', false);\n            \n            \/\/ Hide loader - ensure it's hidden\n            if ($loader.length) {\n                $loader.stop(true, true).fadeOut(200, function() {\n                    $(this).css({\n                        'display': 'none',\n                        'opacity': '0'\n                    });\n                });\n            } else {\n                \/\/ If loader not found, try to hide by class\n                $('.pagination-loader').stop(true, true).fadeOut(200, function() {\n                    $(this).css({\n                        'display': 'none',\n                        'opacity': '0'\n                    });\n                });\n            }\n        }\n        \n        \/\/ Re-initialize handlers after content update\n        function reinitializeHandlers() {\n            \/\/ Re-initialize carousel if it exists\n            if (typeof initCarousel === 'function') {\n                setTimeout(function() {\n                    if ($('.tab-buttons-carousel').length) {\n                        \/\/ Trigger carousel re-initialization\n                        $(window).trigger('resize');\n                    }\n                }, 100);\n            }\n            \n            \/\/ Re-initialize image loading for new content\n            if (typeof initImageLoading === 'function') {\n                setTimeout(function() {\n                    initImageLoading();\n                }, 200);\n            }\n            \n            \/\/ Re-initialize search functionality\n            var $searchInput = $('#scheduleSearch');\n            if ($searchInput.length) {\n                \/\/ Search is already set up with delegated events, should work automatically\n            }\n        }\n        \n        \/\/ Handle browser back\/forward buttons\n        window.addEventListener('popstate', function(event) {\n            var urlParams = new URLSearchParams(window.location.search);\n            var pageParam = urlParams.get('schedule_page');\n            if (pageParam) {\n                var pageNum = parseInt(pageParam);\n                if (pageNum && pageNum !== currentPage && pageNum >= 1 && pageNum <= totalPages) {\n                    loadPage(pageNum);\n                }\n            }\n        });\n        \n        \/\/ Show loader immediately on click (before validation)\n        function showLoaderImmediately() {\n            \/\/ Update loader reference to ensure we have the current element\n            $loader = $('.pagination-loader');\n            \n            \/\/ Show loader instantly for immediate feedback\n            if ($loader.length) {\n                $loader.css({\n                    'display': 'flex',\n                    'opacity': '0'\n                }).stop(true, true).animate({\n                    'opacity': '1'\n                }, 150);\n            }\n            \n            \/\/ Update pagination reference\n            $pagination = $('.schedule-pagination');\n            if ($pagination.length) {\n                $pagination.addClass('pagination-loading');\n            }\n            $('.pagination-btn, .pagination-number').prop('disabled', true);\n            isLoading = true; \/\/ Set loading flag immediately\n        }\n        \n        \/\/ Handle Previous\/Next button clicks (delegated event for performance)\n        $(document).on('click', '.pagination-btn:not(:disabled)', function(e) {\n            e.preventDefault();\n            e.stopPropagation();\n            \n            \/\/ Show loader immediately before any processing\n            showLoaderImmediately();\n            \n            var targetPage = parseInt($(this).data('page'));\n            \n            \/\/ Use setTimeout to ensure loader is visible before AJAX starts\n            setTimeout(function() {\n                loadPage(targetPage);\n            }, 50);\n        });\n        \n        \/\/ Handle numbered pagination clicks (delegated event for performance)\n        $(document).on('click', '.pagination-number:not(:disabled):not(.active)', function(e) {\n            e.preventDefault();\n            e.stopPropagation();\n            \n            \/\/ Show loader immediately before any processing\n            showLoaderImmediately();\n            \n            var targetPage = parseInt($(this).data('page'));\n            \n            \/\/ Use setTimeout to ensure loader is visible before AJAX starts\n            setTimeout(function() {\n                loadPage(targetPage);\n            }, 50);\n        });\n        \n        \/\/ Prevent multiple rapid clicks\n        var clickCooldown = false;\n        $(document).on('click', '.pagination-btn, .pagination-number', function(e) {\n            if (clickCooldown || isLoading) {\n                e.preventDefault();\n                e.stopPropagation();\n                return false;\n            }\n            clickCooldown = true;\n            setTimeout(function() {\n                clickCooldown = false;\n            }, 500);\n        });\n        \n    });\n    \n    \/\/ Collapsible Filter Groups - Global handler\n    jQuery(function($) {\n        \/\/ Start all groups in collapsed state\n        $('.filter-checkbox-list').addClass('collapsed');\n        $('.group-title').addClass('collapsed');\n        \n        \/\/ Open the first group by default\n        $('.filter-group').first().find('.group-title').removeClass('collapsed');\n        $('.filter-group').first().find('.filter-checkbox-list').removeClass('collapsed');\n        \n        \/\/ Delegate click handler for group titles\n        $(document).off('click.groupTitle').on('click.groupTitle', '.group-title', function(e) {\n            e.preventDefault();\n            e.stopPropagation();\n            \n            var $groupTitle = $(this);\n            var $checkboxList = $groupTitle.next('.filter-checkbox-list');\n            var isCollapsed = $groupTitle.hasClass('collapsed');\n            \n            if (isCollapsed) {\n                \/\/ Expand\n                $groupTitle.removeClass('collapsed');\n                $checkboxList.removeClass('collapsed');\n            } else {\n                \/\/ Collapse\n                $groupTitle.addClass('collapsed');\n                $checkboxList.addClass('collapsed');\n            }\n        });\n    });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\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>Networking Schedule<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1030","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/pages\/1030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/comments?post=1030"}],"version-history":[{"count":4,"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/pages\/1030\/revisions"}],"predecessor-version":[{"id":1043,"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/pages\/1030\/revisions\/1043"}],"wp:attachment":[{"href":"https:\/\/allintheloop.com\/nata-2026-convention\/wp-json\/wp\/v2\/media?parent=1030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}