{"id":23,"date":"2025-08-18T13:36:06","date_gmt":"2025-08-18T13:36:06","guid":{"rendered":"https:\/\/sample-events.allintheloop.com\/?page_id=23"},"modified":"2026-06-19T12:35:47","modified_gmt":"2026-06-19T12:35:47","slug":"home","status":"publish","type":"page","link":"https:\/\/vetvacation.net\/kauai-2026\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"23\" class=\"elementor elementor-23\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc71cd8 e-flex e-con-boxed e-con e-parent\" data-id=\"fc71cd8\" data-element_type=\"container\" data-e-type=\"container\" id=\"banner-home-main\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-809078c e-con-full banner-conference e-flex e-con e-child\" data-id=\"809078c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f41c964 elementor-widget elementor-widget-heading\" data-id=\"f41c964\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Kauai, Hawaii 2026<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53e20e3 elementor-widget elementor-widget-heading\" data-id=\"53e20e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">July 23 - 25, 2026<\/h4>\t\t\t\t<\/div>\n\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-c0316af e-flex e-con-boxed e-con e-parent\" data-id=\"c0316af\" data-element_type=\"container\" data-e-type=\"container\" id=\"speakers\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-282cd78 e-grid e-con-full e-con e-child\" data-id=\"282cd78\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b0077b4 elementor-widget elementor-widget-image\" data-id=\"b0077b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/vetvacationce.com\/wp-content\/uploads\/2023\/12\/rroyal_kauai_resort_lihhi-beach-activities_web.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c59fe58 e-con-full e-flex e-con e-child\" data-id=\"c59fe58\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-89f73e1 elementor-widget elementor-widget-heading\" data-id=\"89f73e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Online Conference Sports Medicine and Rehabilitation and Osteoarthritis Management June 2026<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e24185 elementor-widget elementor-widget-text-editor\" data-id=\"8e24185\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Learn about Veterinary Dentistry and Emergency Critical Care while on your beach vacation in Kauai Hawaii. Escape to paradise at The Royal Sonesta Kaua\u2019i Resort Lihue, surrounded by lush, verdant landscapes. Our Kauai beachfront resort is perfectly located just 2 miles from Lihue Airport. The Royal Sonesta offers a FREE shuttle service to and from the airport for guests. Stay mere moments from stunning stretches of golden sand and an array of thrilling outdoor adventures. Settle into the comfort of our well-appointed rooms boasting views of the ocean, gardens, or pool. Enjoy lavish amenities such as four on-site restaurants, beachside spa treatments, the largest one-level pool in Hawaii, and a fitness center.<\/p><div><p>Individual CE certificates will be available through the APP at the end of the meeting.<\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6150390 e-con-full e-flex e-con e-child\" data-id=\"6150390\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c05c2d6 elementor-widget__width-auto elementor-widget elementor-widget-button\" data-id=\"c05c2d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/vetvacation.net\/kauai-2026\/ce-certificate\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Get Your CE Certificate<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-75f339d e-flex e-con-boxed e-con e-parent\" data-id=\"75f339d\" data-element_type=\"container\" data-e-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-994e732 gallery-spacing-custom elementor-widget elementor-widget-image-gallery\" data-id=\"994e732\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-gallery\">\n\t\t\t<div id='gallery-1' class='gallery galleryid-23 gallery-columns-4 gallery-size-full'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"994e732\" data-elementor-lightbox-title=\"rroyal_kauai_resort_lihhi-beach-activities_web\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTI2MCwidXJsIjoiaHR0cHM6XC9cL3ZldHZhY2F0aW9uLm5ldFwva2F1YWktMjAyNlwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDZcL3Jyb3lhbF9rYXVhaV9yZXNvcnRfbGloaGktYmVhY2gtYWN0aXZpdGllc193ZWIuanBnIiwic2xpZGVzaG93IjoiOTk0ZTczMiJ9\" href='https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-beach-activities_web.jpg'><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-beach-activities_web.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-beach-activities_web.jpg 800w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-beach-activities_web-300x225.jpg 300w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-beach-activities_web-768x576.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"994e732\" data-elementor-lightbox-title=\"royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTI2MSwidXJsIjoiaHR0cHM6XC9cL3ZldHZhY2F0aW9uLm5ldFwva2F1YWktMjAyNlwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDZcL3JveWFsX2thdWFpX3Jlc29ydF9saWhoaS1vY2VhbmZyb250LTAwNjUtaG9yLWNsc2Nfd2ViLmpwZyIsInNsaWRlc2hvdyI6Ijk5NGU3MzIifQ%3D%3D\" href='https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web.jpg'><img decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web.jpg 800w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web-300x225.jpg 300w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/royal_kauai_resort_lihhi-oceanfront-0065-hor-clsc_web-768x576.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"994e732\" data-elementor-lightbox-title=\"rroyal_kauai_resort_lihhi-gazebo-dining-night_web\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTI2MiwidXJsIjoiaHR0cHM6XC9cL3ZldHZhY2F0aW9uLm5ldFwva2F1YWktMjAyNlwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDZcL3Jyb3lhbF9rYXVhaV9yZXNvcnRfbGloaGktZ2F6ZWJvLWRpbmluZy1uaWdodF93ZWIuanBnIiwic2xpZGVzaG93IjoiOTk0ZTczMiJ9\" href='https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-gazebo-dining-night_web.jpg'><img decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-gazebo-dining-night_web.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-gazebo-dining-night_web.jpg 800w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-gazebo-dining-night_web-300x225.jpg 300w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-gazebo-dining-night_web-768x576.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"994e732\" data-elementor-lightbox-title=\"rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTI2MywidXJsIjoiaHR0cHM6XC9cL3ZldHZhY2F0aW9uLm5ldFwva2F1YWktMjAyNlwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDZcL3Jyb3lhbF9rYXVhaV9yZXNvcnRfbGloaGktb2NlYW4tZ29sZi1jb3Vyc2UtYXQtaG9rdWFsYV93ZWIuanBnIiwic2xpZGVzaG93IjoiOTk0ZTczMiJ9\" href='https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web.jpg 800w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web-300x225.jpg 300w, https:\/\/vetvacation.net\/kauai-2026\/wp-content\/uploads\/2026\/06\/rroyal_kauai_resort_lihhi-ocean-golf-course-at-hokuala_web-768x576.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\t\t<\/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<div class=\"elementor-element elementor-element-18c30e3 e-flex e-con-boxed e-con e-parent\" data-id=\"18c30e3\" data-element_type=\"container\" data-e-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-f4c9f4c elementor-widget elementor-widget-heading\" data-id=\"f4c9f4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Speakers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4933914 elementor-widget elementor-widget-shortcode\" data-id=\"4933914\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <div class=\"speakers-module-wrap\" id=\"spk_1\">\n\n        \n        <!-- Loading indicator (hidden when server preloaded data is available) -->\n        <div class=\"speaker-loading\" id=\"spk_1_loading\" style=\"display:none;\">\n            <span class=\"speaker-spinner\"><\/span> Loading speakers...\n        <\/div>\n\n        <!-- Speaker grid (populated by JS) -->\n        <div class=\"speaker-custom-section-main-wrp\" id=\"spk_1_grid\"><\/div>\n\n        <!-- No results -->\n        <p class=\"speaker-no-results\" id=\"spk_1_noresults\" style=\"display:none;\">\n            No speakers found matching your search.\n        <\/p>\n\n        <!-- Pagination -->\n        <div class=\"speaker-pagination-wrap\" id=\"spk_1_pagination\"\n             aria-label=\"Speaker list pagination\" style=\"display:none;\"><\/div>\n\n    <\/div>\n\n    <script>\n    (function($) {\n        var UID          = \"spk_1\";\n        var AJAX_URL     = \"https:\\\/\\\/vetvacation.net\\\/kauai-2026\\\/wp-admin\\\/admin-ajax.php\";\n        var NONCE        = \"2c9464e56c\";\n        var PLACEHOLDER  = \"https:\\\/\\\/vetvacation.net\\\/kauai-2026\\\/wp-content\\\/themes\\\/hello-elementor\\\/assets\\\/images\\\/profile-placeholder.png\";\n        var DETAIL_BASE  = \"https:\\\/\\\/vetvacation.net\\\/kauai-2026\\\/speakers-detail\\\/?speaker=\";\n        var LIMIT        = 8;\n        var BM_NONCE     = \"21411cbf5d\";\n        var BM_USER_ID   = \"\";\n        var EVENT_ID     = \"5130\";\n        var INITIAL_DATA = {\"speakers\":[{\"Id\":\"3483824\",\"Salutation\":\"\",\"Firstname\":\"Jessica\",\"Lastname\":\"S. Johnson DVM, DAVDC\",\"Company_name\":\"\",\"Title\":\"\",\"Speaker_desc\":\"<p>Dr. Johnson grew up in Southlake, Texas. She graduated with honors from Texas A&M's College of Veterinary Medicine in 2008. She dedicated the first ten years of her career to small animal general practice, where she acquired valuable experience in both companion animal day practice and emergency medicine.<\\\/p><p>Driven by her passion for dentistry, Dr. Johnson completed a dental residency under Dr. Heidi Lobprise, DVM, DAVDC, in 2020. During her residency, she contributed original research to the Journal of Veterinary Dentistry with the publication titled \\\"Characterization and Classification of Keratinized Odontogenic Cysts in 29 Dogs.\\\" In 2022, she achieved the status of Board Certified Veterinary Dentist through the American Veterinary Dental College.<\\\/p><p>Dr. Johnson is dedicated to delivering high-quality, evidence-based care to pets in North Texas. She emphasizes the importance of evaluating each case individually, recognizing that many patients may face multiple health challenges yet can still safely undergo necessary procedures to relieve pain and infection. Her approach involves thoroughly assessing the health of her patients and collaborating with pet owners to develop the most effective treatment plans.<\\\/p><p>A strong advocate for dental education, Dr. Johnson teaches a monthly wet lab designed to help new veterinary graduates build confidence and skills in oral surgery. She also serves on the Training and Support Committee for residents at the American Veterinary Dental College.<\\\/p>\",\"Email\":\"spk_10001@vvce5130.com\",\"speaker_key_words\":\"\",\"Logo\":\"5130\\\/new_1777366828_user_crop_logo_image.png\",\"thumbnail\":\"5130_Speaker_813975_new_1777366828_user_crop_logo_image.png\",\"s3_image\":\"aws_info\\\/5130\\\/Speaker\\\/new_1777366828_user_crop_logo_image.png\",\"s3_image_thumbnail\":\"aws_info\\\/5130\\\/thumbnail\\\/Speaker\\\/5130_Speaker_617593_new_1777366828_user_crop_logo_image.png\",\"total_count\":\"2\",\"unread_count\":\"0\",\"document\":[],\"agenda\":[{\"Heading\":\"Dental Equipment for the General Practitioner\",\"Id\":\"576483\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"13:00\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"13:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"1:00 PM\",\"End_time_new\":\"1:50 PM\",\"timestamp\":1784811600,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Normal and Abnormal Intraoral Radiographs in Dogs & Cats\",\"Id\":\"576484\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"14:00\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"14:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"2:00 PM\",\"End_time_new\":\"2:50 PM\",\"timestamp\":1784815200,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Juvenile Dentistry, Dogs & Cats\",\"Id\":\"576485\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"15:00\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"15:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"3:00 PM\",\"End_time_new\":\"3:50 PM\",\"timestamp\":1784818800,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Canine Oral Medicine, Pathology and Biopsy Techniques Part 1\",\"Id\":\"576491\",\"Start_date\":\"07\\\/24\\\/2026\",\"Start_time\":\"08:00\",\"End_date\":\"07\\\/24\\\/2026\",\"End_time\":\"08:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"8:00 AM\",\"End_time_new\":\"8:50 AM\",\"timestamp\":1784880000,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Canine Oral Medicine, Pathology and Biopsy Techniques Part 2\",\"Id\":\"576492\",\"Start_date\":\"07\\\/24\\\/2026\",\"Start_time\":\"09:00\",\"End_date\":\"07\\\/24\\\/2026\",\"End_time\":\"09:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"9:00 AM\",\"End_time_new\":\"9:50 AM\",\"timestamp\":1784883600,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Sherlock Holmes and the Case of the Chief Complaints\",\"Id\":\"576493\",\"Start_date\":\"07\\\/24\\\/2026\",\"Start_time\":\"10:00\",\"End_date\":\"07\\\/24\\\/2026\",\"End_time\":\"10:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"10:00 AM\",\"End_time_new\":\"10:50 AM\",\"timestamp\":1784887200,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Cats Are Not Small Dogs, Unique Pathology for Our Feline Friends\",\"Id\":\"576495\",\"Start_date\":\"07\\\/24\\\/2026\",\"Start_time\":\"11:10\",\"End_date\":\"07\\\/24\\\/2026\",\"End_time\":\"12:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"11:10 AM\",\"End_time_new\":\"12:00 PM\",\"timestamp\":1784891400,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Complications During Extractions\",\"Id\":\"576496\",\"Start_date\":\"07\\\/24\\\/2026\",\"Start_time\":\"12:10\",\"End_date\":\"07\\\/24\\\/2026\",\"End_time\":\"13:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47002\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47002\",\"type_name\":\"Dentistry\",\"type_color\":\"#2779AE\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#2779AE\"}],\"Types\":\"Dentistry\",\"Start_time_new\":\"12:10 PM\",\"End_time_new\":\"1:00 PM\",\"timestamp\":1784895000,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]}],\"is_favorites\":\"0\",\"speaker_category_ids\":\"\",\"_group_type\":\"Dentistry\",\"_group_type_id\":\"2132\"},{\"Id\":\"3483825\",\"Salutation\":\"\",\"Firstname\":\"Lisa\",\"Lastname\":\"Powell DVM, ACVECC\",\"Company_name\":\"\",\"Title\":\"\",\"Speaker_desc\":\"<p>Dr. Lisa Powell graduated veterinary school from Texas A&M in 1995, completed a small animal rotating internship at the AMC in NYC in 1996, and then went on to a residency in small animal emergency and critical care at Tufts University, finishing in 1999. She became board certified in Veterinary Emergency and Critical Care in 2000. \\u00a0Following residency, Dr. Powell joined the faculty at the University of Minnesota where she worked as a clinical professor for 15 years. She is an author of more than 30 veterinary journal articles, book chapters, and authored a book entitled \\u201cSmall Animal Emergency and Critical Care: Case Studies in Client Communication, Morbidity and Mortality\\u201d. Dr. Powell is a national and international speaker on all things emergency and critical care! She is currently a Manager of Telehealth and ER development and an associate critical care clinician at BluePearl Veterinary Partners. Her clinical interests include cardiopulmonary disease, high flow oxygen therapy, mechanical ventilation, and innovative clinical teaching methods.<br><\\\/p>\",\"Email\":\"spk_10002@vvce5130.com\",\"speaker_key_words\":\"\",\"Logo\":\"5130\\\/new_1777366884_user_crop_logo_image.png\",\"thumbnail\":\"5130_Speaker_973818_new_1777366884_user_crop_logo_image.png\",\"s3_image\":\"aws_info\\\/5130\\\/Speaker\\\/new_1777366884_user_crop_logo_image.png\",\"s3_image_thumbnail\":\"aws_info\\\/5130\\\/thumbnail\\\/Speaker\\\/5130_Speaker_137112_new_1777366884_user_crop_logo_image.png\",\"total_count\":\"2\",\"unread_count\":\"0\",\"document\":[],\"agenda\":[{\"Heading\":\"ECC Year in Review\",\"Id\":\"576487\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"16:10\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"17:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"4:10 PM\",\"End_time_new\":\"5:00 PM\",\"timestamp\":1784823000,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"You've Got Rhythm! Arrhythmias in the ICU\",\"Id\":\"576488\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"17:10\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"18:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"5:10 PM\",\"End_time_new\":\"6:00 PM\",\"timestamp\":1784826600,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Fluid Prescriptions - Water Water Everywhere!\",\"Id\":\"576500\",\"Start_date\":\"07\\\/25\\\/2026\",\"Start_time\":\"08:00\",\"End_date\":\"07\\\/25\\\/2026\",\"End_time\":\"08:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"8:00 AM\",\"End_time_new\":\"8:50 AM\",\"timestamp\":1784966400,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Have a Heart! Cardiac Emergency Cases\",\"Id\":\"576501\",\"Start_date\":\"07\\\/25\\\/2026\",\"Start_time\":\"09:00\",\"End_date\":\"07\\\/25\\\/2026\",\"End_time\":\"09:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"9:00 AM\",\"End_time_new\":\"9:50 AM\",\"timestamp\":1784970000,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Anemia in the ER - Case Presentations and Transfusion Guidance\",\"Id\":\"576502\",\"Start_date\":\"07\\\/25\\\/2026\",\"Start_time\":\"10:00\",\"End_date\":\"07\\\/25\\\/2026\",\"End_time\":\"10:50:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"10:00 AM\",\"End_time_new\":\"10:50 AM\",\"timestamp\":1784973600,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"We Need You STAT! Cases that Commonly Present to the ER\",\"Id\":\"576504\",\"Start_date\":\"07\\\/25\\\/2026\",\"Start_time\":\"11:10\",\"End_date\":\"07\\\/25\\\/2026\",\"End_time\":\"12:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"11:10 AM\",\"End_time_new\":\"12:00 PM\",\"timestamp\":1784977800,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]},{\"Heading\":\"Your Dog Ate What?? Common Toxicities\",\"Id\":\"576505\",\"Start_date\":\"07\\\/25\\\/2026\",\"Start_time\":\"12:10\",\"End_date\":\"07\\\/25\\\/2026\",\"End_time\":\"13:00:00\",\"custom_location\":\"\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47003\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47003\",\"type_name\":\"Emergency Critical Care\",\"type_color\":\"#6FB952\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#6FB952\"}],\"Types\":\"Emergency Critical Care\",\"Start_time_new\":\"12:10 PM\",\"End_time_new\":\"1:00 PM\",\"timestamp\":1784981400,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]}],\"is_favorites\":\"0\",\"speaker_category_ids\":\"\",\"_group_type\":\"Emergency Critical Care\",\"_group_type_id\":\"2133\"},{\"Id\":\"3624063\",\"Salutation\":\"\",\"Firstname\":\"Natalyn\",\"Lastname\":\"Lewis\",\"Speaker_designation\":\"\",\"Company_name\":\"Legally Mine\",\"Title\":\"\",\"Speaker_desc\":\"<p>Natalyn is a highly sought-after speaker and coach, known for her transformative insights on business growth, leadership, and emotional intelligence. After starting and growing seven of her own companies she has a proven track record with over 200 companies, CEOs, and executive teams, she has become a trusted authority in her field, speaking on stages in over 38 countries around the world.<\\\/p><p>With 25 years of experience in marketing and sales, Natalyn has spent decades studying human behavior, business strategy, and what it takes to empower personal and professional growth.<\\\/p><p>Due to her own personal experiences as well as her work with hundreds of corporations, she has developed a passion for protecting yourself so that you feel safe to grow and thrive, knowing you are free to do the work you love, enjoy your success and build a foundation for your family that you can truly grow - without the constant battle of money flowing out the door. Now she spends her time educating others, being married to her best friend and Mom to 4 amazing kids, and enjoying her passion projects like real estate investing and tax-based financial strategy.<br><\\\/p>\",\"speaker_key_words\":\"\",\"Email\":\"spk_10003@vvce5130.com\",\"allow_msg_keypeople_to_attendee\":\"0\",\"Facebook_url\":\"\",\"Twitter_url\":\"\",\"Instagram_url\":\"\",\"Youtube_url\":\"\",\"Linkedin_url\":\"\",\"attendee_id\":\"\",\"total_count\":\"1\",\"Logo\":\"5130\\\/Natalyn_Headshot_no_background_1782806894.jpg\",\"thumbnail\":null,\"s3_image\":\"aws_info\\\/5130\\\/Attendee\\\/Natalyn_Headshot_no_background_1782806894.jpg\",\"s3_image_thumbnail\":null,\"unread_count\":\"0\",\"document\":[],\"agenda\":[{\"Heading\":\"Safeguarding Wealth; Tax Strategies, Lawsuit Protection\",\"Id\":\"576481\",\"Start_date\":\"07\\\/23\\\/2026\",\"Start_time\":\"11:50\",\"End_date\":\"07\\\/23\\\/2026\",\"End_time\":\"12:40:00\",\"custom_location\":\"Salon 1 & 2\",\"date_format\":\"1\",\"Address_map_id\":\"\",\"type_ids\":\"47004\",\"Map_title\":\"\",\"Map_address\":\"\",\"Images\":\"\",\"check_dwg_files\":\"0\",\"session_types\":[{\"type_id\":\"47004\",\"type_name\":\"Lunch and Learn\",\"type_color\":\"#000000\",\"font_color\":\"#FFFFFF\",\"font_icon\":\"\",\"order_no\":\"0\",\"icon_type\":\"0\",\"filter_checkbox_color\":\"#000000\"}],\"Types\":\"Lunch and Learn\",\"Start_time_new\":\"11:50 AM\",\"End_time_new\":\"12:40 PM\",\"timestamp\":1784807400,\"Map_image\":\"\",\"is_map_visible_btn\":\"0\",\"map_details\":[]}],\"is_favorites\":\"0\",\"speaker_category_ids\":\"\",\"_group_type\":\"\",\"_group_type_id\":\"\"}],\"current_page\":1,\"total_pages\":1,\"next_page\":0};\n\n        var $wrap       = $('#' + UID);\n        var $grid       = $('#' + UID + '_grid');\n        var $pagination = $('#' + UID + '_pagination');\n        var $noResults  = $('#' + UID + '_noresults');\n        var $loading    = $('#' + UID + '_loading');\n        var $search     = $('#' + UID + '_search');\n        var $searchBtn  = $('#' + UID + '_search_btn');\n        var $clearBtn   = $('#' + UID + '_clear_btn');\n\n        var currentPage      = 1;\n        var currentKeyword   = '';\n        var searchTimer      = null;\n        var totalPagesGlobal = 1;\n        var pageCache        = {};\n        var bookmarkedIds    = {};\n        var activeRequest    = null;\n        var RENDER_BATCH     = 16;\n        var isFetching       = false;\n\n        function cacheKey(keyword, page) {\n            return (keyword || '') + '|' + page;\n        }\n\n        function showLoader() {\n            isFetching = true;\n            $loading.show();\n            $wrap.addClass('speakers-is-loading');\n            $searchBtn.prop('disabled', true);\n            $clearBtn.prop('disabled', true);\n        }\n\n        function hideLoader() {\n            isFetching = false;\n            $loading.hide();\n            $wrap.removeClass('speakers-is-loading');\n            $searchBtn.prop('disabled', false);\n            $clearBtn.prop('disabled', false);\n        }\n\n        function applySpeakerPayload(data, fromCache) {\n            var speakers = data.speakers || [];\n            if (LIMIT > 0 && currentPage === 1 && !currentKeyword) {\n                speakers = speakers.slice(0, LIMIT);\n            }\n            renderGrid(speakers);\n            renderPagination(data.current_page, data.total_pages, data.next_page);\n            if (!fromCache && currentKeyword === '' && data.current_page === 1) {\n                prefetchPage(2, '');\n            }\n        }\n\n        \/\/ \u2500\u2500 Instant first paint from server-preloaded data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        if (INITIAL_DATA && INITIAL_DATA.speakers) {\n            pageCache[cacheKey('', 1)] = INITIAL_DATA;\n            applySpeakerPayload(INITIAL_DATA, true);\n        } else {\n            fetchSpeakers();\n        }\n\n        if (BM_USER_ID) {\n            $.ajax({\n                url:    AJAX_URL,\n                method: 'POST',\n                data:   { action: 'ssp_speaker_bookmark_ids', nonce: NONCE },\n                success: function(res) {\n                    if (!res.success || !res.data || !res.data.ids) return;\n                    res.data.ids.forEach(function(id) { bookmarkedIds[String(id)] = true; });\n                    applyBookmarkState();\n                }\n            });\n        }\n\n        \/\/ \u2500\u2500 Search controls \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        function updateSearchControls() {\n            $searchBtn.show();\n            $clearBtn.toggle(!!currentKeyword);\n        }\n\n        function runSearch() {\n            clearTimeout(searchTimer);\n            var val = $search.val().trim();\n            if (val === currentKeyword && currentPage === 1) return;\n            currentKeyword = val;\n            currentPage    = 1;\n            updateSearchControls();\n            fetchSpeakers();\n        }\n\n        function clearSearch() {\n            clearTimeout(searchTimer);\n            $search.val('');\n            currentKeyword = '';\n            currentPage    = 1;\n            updateSearchControls();\n            var defaultKey = cacheKey('', 1);\n            if (pageCache[defaultKey]) {\n                hideLoader();\n                applySpeakerPayload(pageCache[defaultKey], true);\n            } else {\n                fetchSpeakers();\n            }\n        }\n\n        $searchBtn.on('click', runSearch);\n        $clearBtn.on('click', clearSearch);\n        $search.on('keydown', function(e) {\n            if (e.which === 13) {\n                e.preventDefault();\n                runSearch();\n            }\n        });\n\n        function prefetchPage(page, keyword) {\n            var key = cacheKey(keyword, page);\n            if (pageCache[key] || page > totalPagesGlobal) return;\n\n            $.ajax({\n                url:    AJAX_URL,\n                method: 'POST',\n                data: {\n                    action:  'ssp_speaker_search',\n                    nonce:   NONCE,\n                    keyword: keyword,\n                    page_no: page,\n                },\n                success: function(res) {\n                    if (res.success) {\n                        pageCache[key] = res.data;\n                    }\n                }\n            });\n        }\n\n        \/\/ \u2500\u2500 Fetch from API (with in-memory cache + request abort) \u2500\u2500\u2500\u2500\u2500\u2500\n        function fetchSpeakers() {\n            var key = cacheKey(currentKeyword, currentPage);\n            if (pageCache[key]) {\n                hideLoader();\n                applySpeakerPayload(pageCache[key], true);\n                return;\n            }\n\n            if (activeRequest && activeRequest.readyState !== 4) {\n                activeRequest.abort();\n            }\n\n            showLoader();\n\n            activeRequest = $.ajax({\n                url:    AJAX_URL,\n                method: 'POST',\n                data: {\n                    action:  'ssp_speaker_search',\n                    nonce:   NONCE,\n                    keyword: currentKeyword,\n                    page_no: currentPage,\n                },\n                success: function(res) {\n                    if (!res.success) {\n                        showError();\n                        return;\n                    }\n                    pageCache[key] = res.data;\n                    applySpeakerPayload(res.data, false);\n                },\n                error: function(_xhr, status) {\n                    if (status === 'abort') return;\n                    showError();\n                },\n                complete: function() {\n                    hideLoader();\n                    activeRequest = null;\n                }\n            });\n        }\n\n        \/\/ \u2500\u2500 Render speaker cards in batches (keeps UI responsive) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        function renderGrid(speakers) {\n            if (!speakers || speakers.length === 0) {\n                $grid.empty();\n                $noResults.show();\n                return;\n            }\n            $noResults.hide();\n            $grid.empty();\n\n            var index = 0;\n            function renderBatch() {\n                var end   = Math.min(index + RENDER_BATCH, speakers.length);\n                var chunk = [];\n                for (var i = index; i < end; i++) {\n                    chunk.push(buildCard(speakers[i]));\n                }\n                $grid.append(chunk.join(''));\n                index = end;\n                if (index < speakers.length) {\n                    requestAnimationFrame(renderBatch);\n                } else if (Object.keys(bookmarkedIds).length) {\n                    applyBookmarkState();\n                }\n            }\n            renderBatch();\n        }\n\n        function applyBookmarkState() {\n            $grid.find('.speaker-bookmark-btn').each(function() {\n                var btn = $(this);\n                var id  = String(btn.data('speaker-id'));\n                var on  = !!bookmarkedIds[id];\n                btn.toggleClass('bookmarked', on);\n                btn.find('i').attr('class', (on ? 'fas' : 'far') + ' fa-bookmark');\n            });\n        }\n\n        function speakerImageUrl(s) {\n            var profileBase = 'https:\/\/allintheloop.info\/media\/user_profile\/';\n            var logo        = $.trim(s.logo || s.Logo || '');\n\n            if (!logo) return PLACEHOLDER;\n\n            logo = logo.replace(\/^\\\/+\/, '');\n            if (logo.indexOf('\/') === -1 && EVENT_ID) {\n                logo = EVENT_ID + '\/' + logo;\n            }\n            return profileBase + logo.split('\/').map(function(part) {\n                return encodeURIComponent(part);\n            }).join('\/');\n        }\n\n        function buildCard(s) {\n            var name        = $.trim((s.Firstname || '') + ' ' + (s.Lastname || ''));\n            var designation = s.Speaker_designation || '';\n            var title       = s.Title        || '';\n            var company     = s.Company_name || '';\n            var speakerType = s._group_type    || '';\n            var typeId      = s._group_type_id || '';\n            var image       = speakerImageUrl(s);\n            var detailUrl   = DETAIL_BASE + s.Id;\n            var isBm        = !!bookmarkedIds[String(s.Id)];\n            var bmClass     = isBm ? ' bookmarked' : '';\n            var bmIcon      = isBm ? 'fas' : 'far';\n\n            var socials = {\n                'facebook-f': s.Facebook_url  || '',\n                'twitter':    s.Twitter_url   || '',\n                'instagram':  s.Instagram_url || '',\n                'linkedin':   s.Linkedin_url  || '',\n                'youtube':    s.Youtube_url   || '',\n            };\n\n            var socialHtml = '';\n            $.each(socials, function(icon, url) {\n                if (!url) return;\n                var cls = icon === 'twitter' ? 'fa-brands fa-x-twitter' : 'fab fa-' + icon;\n                socialHtml += '<li><a href=\"' + esc(url) + '\" target=\"_blank\" rel=\"noopener\"><i class=\"' + cls + '\"><\/i><\/a><\/li>';\n            });\n\n            return '<div class=\"speaker-block-two gdgdgrdggddgdd col-lg-3 col-md-6 col-sm-12 wow fadeInUp\" data-type-id=\"' + esc(typeId) + '\">'\n                + '<div class=\"inner-box\">'\n                + '<button class=\"speaker-bookmark-btn' + bmClass + '\" data-speaker-id=\"' + esc(s.Id) + '\" data-module-type=\"7\" data-user-id=\"' + esc(BM_USER_ID) + '\" data-nonce=\"' + esc(BM_NONCE) + '\" title=\"Bookmark this speaker\" aria-label=\"Bookmark ' + esc(name) + '\"><i class=\"' + bmIcon + ' fa-bookmark\"><\/i><\/button>'\n                + '<div class=\"image-box\"><figure class=\"image\">'\n                + '<a href=\"' + esc(detailUrl) + '\">'\n                + '<img loading=\"lazy\" src=\"' + esc(image) + '\" alt=\"' + esc(name) + '\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" onerror=\"this.onerror=null;this.src=\\'' + esc(PLACEHOLDER) + '\\';\">'\n                + '<\/a><\/figure><\/div>'\n                + '<div class=\"speaker-content-wrapper\">'\n                + (speakerType ? '<div class=\"speaker-type tag-design\">' + esc(speakerType) + '<\/div>' : '')\n                + '<div class=\"info-box\"><h4 class=\"name\">'\n                + '<a href=\"' + esc(detailUrl) + '\">' + esc(name) + '<\/a>'\n                + (designation ? '<span class=\"designation\">, ' + esc(designation) + '<\/span>' : '')\n                + (title       ? '<span class=\"speaker-title\">, ' + esc(title)   + '<\/span>' : '')\n                + (company     ? '<span class=\"speaker-company\">, ' + esc(company) + '<\/span>' : '')\n                + '<\/h4><\/div>'\n                + '<div class=\"social-box\"><ul class=\"social-links social-icon-colored\">' + socialHtml + '<\/ul><\/div>'\n                + '<\/div><\/div><\/div>';\n        }\n\n        \/\/ \u2500\u2500 Render pagination \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        function renderPagination(page, totalPages, nextPage) {\n            currentPage      = page;\n            totalPagesGlobal = totalPages;\n\n            \/\/ Hide pagination when only 1 page\n            if (totalPages <= 1) {\n                $pagination.hide().html('');\n                return;\n            }\n\n            $pagination.show();\n\n            var html = '<ul class=\"speaker-pagination\">';\n\n            \/\/ Prev\n            html += '<li class=\"spk-page-item' + (page <= 1 ? ' disabled' : '') + '\">'\n                + '<a class=\"spk-page-link\" href=\"#\" data-page=\"' + (page - 1) + '\" aria-label=\"Previous\">&laquo;<\/a><\/li>';\n\n            \/\/ Page numbers (window of 5 around current)\n            var start = Math.max(1, page - 2);\n            var end   = Math.min(totalPages, page + 2);\n\n            if (start > 1) {\n                html += '<li class=\"spk-page-item\"><a class=\"spk-page-link\" href=\"#\" data-page=\"1\">1<\/a><\/li>';\n                if (start > 2) html += '<li class=\"spk-page-item disabled\"><span class=\"spk-page-link\">&hellip;<\/span><\/li>';\n            }\n\n            for (var p = start; p <= end; p++) {\n                html += '<li class=\"spk-page-item' + (p === page ? ' active' : '') + '\">'\n                    + '<a class=\"spk-page-link\" href=\"#\" data-page=\"' + p + '\">' + p + '<\/a><\/li>';\n            }\n\n            if (end < totalPages) {\n                if (end < totalPages - 1) html += '<li class=\"spk-page-item disabled\"><span class=\"spk-page-link\">&hellip;<\/span><\/li>';\n                html += '<li class=\"spk-page-item\"><a class=\"spk-page-link\" href=\"#\" data-page=\"' + totalPages + '\">' + totalPages + '<\/a><\/li>';\n            }\n\n            \/\/ Next\n            html += '<li class=\"spk-page-item' + (nextPage <= 0 ? ' disabled' : '') + '\">'\n                + '<a class=\"spk-page-link\" href=\"#\" data-page=\"' + (page + 1) + '\" aria-label=\"Next\">&raquo;<\/a><\/li>';\n\n            html += '<\/ul>';\n            html += '<p class=\"speaker-pagination-info\">Page ' + page + ' of ' + totalPages + '<\/p>';\n\n            $pagination.html(html);\n        }\n\n        \/\/ \u2500\u2500 Delegated pagination click \u2014 fires for both initial PHP render & AJAX-rendered pages \u2500\u2500\n        $pagination.on('click', 'a.spk-page-link[data-page]', function(e) {\n            e.preventDefault();\n            if (isFetching) return;\n            var p = parseInt($(this).data('page'), 10);\n            if (isNaN(p) || p < 1 || p > totalPagesGlobal || p === currentPage) return;\n            currentPage = p;\n            fetchSpeakers();\n            $wrap[0].scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n\n        function showError() {\n            $grid.html('<p class=\"speaker-no-results\">Failed to load speakers. Please try again.<\/p>');\n            $pagination.hide().html('');\n        }\n\n        function esc(str) {\n            return $('<div>').text(String(str)).html();\n        }\n\n        \/\/ \u2500\u2500 Bookmark click handler \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        var $toast     = null;\n        var toastTimer = null;\n\n        function getToast() {\n            if (!$toast || !$toast.length) {\n                $toast = $('#speaker-bookmark-toast');\n            }\n            return $toast;\n        }\n\n        function showBmToast(msg, type) {\n            var t = getToast();\n            t.text(msg).attr('class', 'toast-' + type).show();\n            clearTimeout(toastTimer);\n            toastTimer = setTimeout(function() { t.hide(); }, 3500);\n        }\n\n        $(document).on('click', '.speaker-bookmark-btn', function() {\n            var btn        = $(this);\n            var speakerId  = btn.data('speaker-id');\n            var moduleType = btn.data('module-type') || '7';\n            var userId     = btn.data('user-id');\n            var nonce      = btn.data('nonce');\n\n            if (!userId) {\n                showBmToast('Please log in to bookmark speakers.', 'error');\n                return;\n            }\n\n            btn.prop('disabled', true);\n\n            $.ajax({\n                url:  AJAX_URL,\n                method: 'POST',\n                data: {\n                    action:      'ssp_bookmark',\n                    module_id:   speakerId,\n                    module_type: moduleType,\n                    user_id:     userId,\n                    nonce:       nonce,\n                },\n                success: function(res) {\n                    if (res.success) {\n                        btn.toggleClass('bookmarked');\n                        var icon = btn.find('i');\n                        icon.attr('class', (btn.hasClass('bookmarked') ? 'fas' : 'far') + ' fa-bookmark');\n                        var sid = String(speakerId);\n                        if (btn.hasClass('bookmarked')) {\n                            bookmarkedIds[sid] = true;\n                        } else {\n                            delete bookmarkedIds[sid];\n                        }\n                        showBmToast(res.data.message || 'Speaker bookmarked.', 'success');\n                    } else {\n                        showBmToast((res.data && res.data.message) || 'Failed to bookmark speaker.', 'error');\n                    }\n                },\n                error: function() { showBmToast('Something went wrong. Please try again.', 'error'); },\n                complete: function() { btn.prop('disabled', false); }\n            });\n        });\n\n    })(jQuery);\n    <\/script>\n\n    <!-- Speaker bookmark toast -->\n    <div id=\"speaker-bookmark-toast\" role=\"alert\" aria-live=\"polite\" style=\"display:none;\"><\/div>\n\n    <style>\n    .speaker-bookmark-btn {\n        position: absolute;\n        top: 10px;\n        right: 10px;\n        background: rgba(255,255,255,0.9);\n        border: none;\n        border-radius: 50%;\n        width: 36px;\n        height: 36px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        cursor: pointer;\n        z-index: 5;\n        transition: background 0.2s;\n        font-size: 16px;\n        color: #555;\n        box-shadow: 0 1px 4px rgba(0,0,0,0.15);\n    }\n    .speaker-bookmark-btn:hover { background: #fff; color: #e63946; }\n    .speaker-bookmark-btn.bookmarked i { font-weight: 900; color: #e63946; }\n    .speaker-block-two .inner-box { position: relative; }\n    #speaker-bookmark-toast {\n        position: fixed;\n        bottom: 24px;\n        left: 50%;\n        transform: translateX(-50%);\n        background: #333;\n        color: #fff;\n        padding: 12px 24px;\n        border-radius: 6px;\n        font-size: 14px;\n        z-index: 9999;\n        box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n    }\n    #speaker-bookmark-toast.toast-error   { background: #c0392b; }\n    #speaker-bookmark-toast.toast-success { background: #27ae60; }\n\n    \/* \u2500\u2500 Pagination \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    .speaker-pagination-wrap {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 10px;\n        margin: 32px 0 16px;\n    }\n    .speaker-pagination {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 4px;\n        list-style: none;\n        margin: 0;\n        padding: 0;\n    }\n    .spk-page-item {\n        list-style: none;\n        margin: 0;\n    }\n    .spk-page-link {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        min-width: 38px;\n        height: 38px;\n        padding: 0 10px;\n        border: 1px solid #dee2e6;\n        border-radius: 6px;\n        background: #fff;\n        color: #374151;\n        font-size: 14px;\n        font-weight: 500;\n        text-decoration: none;\n        cursor: pointer;\n        transition: background 0.18s, color 0.18s, border-color 0.18s;\n        line-height: 1;\n    }\n    .spk-page-link:hover {\n        background: #f3f4f6;\n        border-color: #adb5bd;\n        color: #111;\n        text-decoration: none;\n    }\n    .spk-page-item.active .spk-page-link {\n        background: #2563eb;\n        border-color: #2563eb;\n        color: #fff;\n        cursor: default;\n        pointer-events: none;\n    }\n    .spk-page-item.disabled .spk-page-link,\n    .spk-page-item.disabled span.spk-page-link {\n        background: #f9fafb;\n        border-color: #e5e7eb;\n        color: #9ca3af;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    .speaker-pagination-info {\n        font-size: 13px;\n        color: #6b7280;\n        margin: 0;\n    }\n    \/* Loading overlay *\/\n    .speaker-loading {\n        display: none;\n        align-items: center;\n        justify-content: center;\n        gap: 10px;\n        font-size: 14px;\n        color: #6b7280;\n        margin: 16px 0;\n        padding: 12px;\n        background: #f9fafb;\n        border: 1px solid #e5e7eb;\n        border-radius: 8px;\n    }\n    .speakers-is-loading .speaker-loading {\n        display: flex;\n    }\n    .speakers-is-loading .speaker-custom-section-main-wrp {\n        opacity: 0.45;\n        pointer-events: none;\n        transition: opacity 0.2s;\n    }\n    .speakers-is-loading .speaker-pagination-wrap {\n        opacity: 0.45;\n        pointer-events: none;\n        transition: opacity 0.2s;\n    }\n    .speaker-spinner {\n        display: inline-block;\n        width: 22px;\n        height: 22px;\n        border: 3px solid #e5e7eb;\n        border-top-color: #2563eb;\n        border-radius: 50%;\n        animation: spk-spin 0.7s linear infinite;\n        flex-shrink: 0;\n    }\n    @keyframes spk-spin { to { transform: rotate(360deg); } }\n\n    \/* \u2500\u2500 Search bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    .speaker-search-bar-wrap {\n        display: flex;\n        align-items: stretch;\n        gap: 8px;\n        max-width: 100%;\n        margin-bottom: 16px;\n    }\n    .speaker-search-bar-wrap .speaker-search-input {\n        flex: 1;\n        min-width: 0;\n        max-width: 100%;\n        height: 42px;\n        padding: 0 14px;\n        border: 1px solid #dee2e6;\n        border-radius: 6px;\n        font-size: 14px;\n        line-height: 1.4;\n    }\n    .speaker-search-bar-wrap .speaker-search-input:focus {\n        outline: none;\n        border-color: #2563eb;\n        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);\n    }\n    .speaker-search-btn,\n    .speaker-search-clear-btn {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        gap: 6px;\n        height: 42px;\n        padding: 0 16px;\n        border: none;\n        border-radius: 6px;\n        font-size: 14px;\n        font-weight: 500;\n        cursor: pointer;\n        flex-shrink: 0;\n        transition: background 0.18s, color 0.18s;\n    }\n    .speaker-search-btn {\n        background: #2563eb;\n        color: #fff;\n    }\n    .speaker-search-btn:hover {\n        background: #1d4ed8;\n        color: #fff;\n    }\n    .speaker-search-clear-btn {\n        width: 42px;\n        padding: 0;\n        background: #f3f4f6;\n        color: #6b7280;\n        border: 1px solid #dee2e6;\n    }\n    .speaker-search-clear-btn:hover {\n        background: #e5e7eb;\n        color: #111;\n    }\n    <\/style>\n\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<div class=\"elementor-element elementor-element-3f116fb e-flex e-con-boxed e-con e-parent\" data-id=\"3f116fb\" data-element_type=\"container\" data-e-type=\"container\" id=\"schedule_paln\" 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-2f72d1e elementor-widget elementor-widget-heading\" data-id=\"2f72d1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Schedule<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af2e190 elementor-widget elementor-widget-shortcode\" data-id=\"af2e190\" data-element_type=\"widget\" data-e-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                                                                    <!-- No session_types_group, render types as flat list with empty group_key -->\n                        <div class=\"filter-group\">\n                            <h5 class=\"group-title\" data-group=\"\">\n                                Types\n                                <span class=\"toggle-icon\">\n                                    <i class=\"fa-solid fa-chevron-down\"><\/i>\n                                <\/span>\n                            <\/h5>\n                            <ul class=\"filter-checkbox-list\" id=\"group-types\">\n                                                                    <li>\n                                        <label>\n                                            <input type=\"checkbox\"\n                                                class=\"filter-checkbox\"\n                                                value=\"47002\"\n                                                data-group=\"\"\n                                                data-type-color=\"#2779AE\">\n                                            <span class=\"checkbox-label\">\n                                                Dentistry                                            <\/span>\n                                        <\/label>\n                                    <\/li>\n                                                                    <li>\n                                        <label>\n                                            <input type=\"checkbox\"\n                                                class=\"filter-checkbox\"\n                                                value=\"47003\"\n                                                data-group=\"\"\n                                                data-type-color=\"#6FB952\">\n                                            <span class=\"checkbox-label\">\n                                                Emergency Critical Care                                            <\/span>\n                                        <\/label>\n                                    <\/li>\n                                                                    <li>\n                                        <label>\n                                            <input type=\"checkbox\"\n                                                class=\"filter-checkbox\"\n                                                value=\"47004\"\n                                                data-group=\"\"\n                                                data-type-color=\"#000000\">\n                                            <span class=\"checkbox-label\">\n                                                Lunch and Learn                                            <\/span>\n                                        <\/label>\n                                    <\/li>\n                                                                    <li>\n                                        <label>\n                                            <input type=\"checkbox\"\n                                                class=\"filter-checkbox\"\n                                                value=\"47005\"\n                                                data-group=\"\"\n                                                data-type-color=\"#000000\">\n                                            <span class=\"checkbox-label\">\n                                                Rescuer Certification                                            <\/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-07-23\">\n                                        <span class=\"date\">23<\/span>\n                                        <span class=\"month\">Jul<\/span>\n                                        \n                                        <span class=\"day-name\">THU<\/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-07-24\">\n                                        <span class=\"date\">24<\/span>\n                                        <span class=\"month\">Jul<\/span>\n                                        \n                                        <span class=\"day-name\">FRI<\/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-25\">\n                                        <span class=\"date\">25<\/span>\n                                        <span class=\"month\">Jul<\/span>\n                                        \n                                        <span class=\"day-name\">SAT<\/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:\/\/vetvacation.net\/kauai-2026\/wp-admin\/admin-ajax.php\"\n                     data-nonce=\"65dbd2a369\">\n                                            <div class=\"tab active-tab color-1\"\n                             id=\"tab-1\"\n                             data-date=\"2026-07-23\"\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                                Thursday, Jul 23                            <\/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=\"july 23 - 25, 2026\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                7:00 AM - 1:00 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=MQKuAIJFFJ9Ne68R30D6Fg%3D%3D\">\n                                                        July 23 - 25, 2026                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\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=\"rescuer certification workshop in basic life support (bls) *add on course required   rescuer certification\" data-types=\"47005\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                8:30 AM - 10:30 AM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=BKX798BiakW1CglkFGVMxA%3D%3D\">\n                                                        Rescuer Certification Workshop in Basic Life Support (BLS) *Add on course required                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #000000;\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                                                            Rescuer Certification                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\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=\"registration: puna ballroom\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                11:00 AM - 12:50 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=cE1NvJgZNRhW1nt6rMXfvw%3D%3D\">\n                                                        REGISTRATION: Puna Ballroom                                                    <\/a>\n                                                                                                <\/h4>\n\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=\"safeguarding wealth; tax strategies, lawsuit protection   lunch and learn\" data-types=\"47004\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                11:50 AM - 12:40 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=Qolp6YhNVHBw9DcZE4v6%2BA%3D%3D\">\n                                                        Safeguarding Wealth; Tax Strategies, Lawsuit Protection                                                    <\/a>\n                                                                                                <\/h4>\n\n                                                                                            <div class=\"text\"><p><a href=\"https:\/\/legallymine.com\/\"><img decoding=\"async\" src=\"https:\/\/allintheloop.info\/media\/4782\/67bef4ed2dc0f_183634882856.jpg\"><\/a><br><\/p><\/div>\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #000000;\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                                                            Lunch and Learn                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3624063\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Attendee\/Natalyn_Headshot_no_background_1782806894.jpg\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"N\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3624063\">\n                                                                        Natalyn Lewis                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\n                                            \n                                            <!-- Location -->\n                                                                                            <div class=\"agenda-locations\">\n                                                    <span class=\"icon fa fa-map-marker-alt\"><\/span>\n                                                    Salon 1 &amp; 2                                                <\/div>\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                \n                                <div class=\"schedule-block color-1  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"welcome\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                12:50 PM - 1:00 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=%2FKWBxV2uY5LTMOlWe6bBHw%3D%3D\">\n                                                        Welcome                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\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=\"dental equipment for the general practitioner   dentistry\" data-types=\"47002\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                1:00 PM - 1:50 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=Yw%2ByuTeDUgHPJzBTt9gi7g%3D%3D\">\n                                                        Dental Equipment for the General Practitioner                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #2779AE;\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                                                            Dentistry                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Speaker\/new_1777366828_user_crop_logo_image.png\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"J\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        Jessica S. Johnson DVM, DAVDC                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\n                                            \n                                            <!-- Location -->\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=\"normal and abnormal intraoral radiographs in dogs &amp; cats   dentistry\" data-types=\"47002\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                2:00 PM - 2:50 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=C3eQZ%2BWvUWtEEc%2Bt2O4J9A%3D%3D\">\n                                                        Normal and Abnormal Intraoral Radiographs in Dogs &amp; Cats                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #2779AE;\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                                                            Dentistry                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Speaker\/new_1777366828_user_crop_logo_image.png\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"J\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        Jessica S. Johnson DVM, DAVDC                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\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=\"juvenile dentistry, dogs &amp; cats   dentistry\" data-types=\"47002\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                3:00 PM - 3:50 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=OYnCl7oSg1U%2FinIVo2PB3g%3D%3D\">\n                                                        Juvenile Dentistry, Dogs &amp; Cats                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #2779AE;\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                                                            Dentistry                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Speaker\/new_1777366828_user_crop_logo_image.png\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"J\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483824\">\n                                                                        Jessica S. Johnson DVM, DAVDC                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\n                                            \n                                            <!-- Location -->\n                                            \n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                \n                                <div class=\"schedule-block color-1  \n                                     \"\n                                     data-message=\"You do not have access to this session.\"\n                                     data-search=\"break\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                3:50 PM - 4:10 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=5JBSIEYRX8X2%2BJgIXHvGyg%3D%3D\">\n                                                        BREAK                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                        \n                                            \n                                            \n                                            <!-- Location -->\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=\"ecc year in review   emergency critical care\" data-types=\"47003\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                4:10 PM - 5:00 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=Kl7d5BCgnxY6BwgE4BF0Zw%3D%3D\">\n                                                        ECC Year in Review                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #6FB952;\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                                                            Emergency Critical Care                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483825\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Speaker\/new_1777366884_user_crop_logo_image.png\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"L\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483825\">\n                                                                        Lisa Powell DVM, ACVECC                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\n                                            \n                                            <!-- Location -->\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=\"you&#039;ve got rhythm! arrhythmias in the icu   emergency critical care\" data-types=\"47003\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                5:10 PM - 6:00 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=c9U%2BjgwNmV4UEOwOucg5xA%3D%3D\">\n                                                        You&#039;ve Got Rhythm! Arrhythmias in the ICU                                                    <\/a>\n                                                                                                <\/h4>\n\n                                            \n                                             \n                                            <!-- Tags -->\n                                                                                            <div class=\"type-buttons\" style=\"padding-bottom: 20px;\">\n                                                                                                            <span class=\"type-badge\"\n                                                            style=\"\n                                                                background: #6FB952;\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                                                            Emergency Critical Care                                                        <\/span>\n                                                                                                    <\/div>\n                                                                                        \n                                            \n                                                                                            <div class=\"agenda-speakers\" style=\"display: flex;overflow-x: hidden;width: 100%;\">\n                                                                                                                <div class=\"agenda-speaker-card\">\n                                                                <div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">\n                                                                     <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483825\">\n                                                                        <img loading=\"lazy\"\n                                                                            class=\"speaker-img\"\n                                                                            src=\"https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor\/assets\/images\/profile-placeholder.png\"\n                                                                            data-object-key=\"aws_info\/5130\/Speaker\/new_1777366884_user_crop_logo_image.png\"\n                                                                            loading=\"lazy\"\n                                                                            decoding=\"async\"\n                                                                            width=\"80\"\n                                                                            height=\"80\"\n                                                                            alt=\"L\"\n                                                                            style=\"width:80px; height:80px; object-fit:cover; border-radius:8px; display:block; margin:0 auto;\"\n                                                                        \/>\n                                                                    <\/a>\n                                                                <\/div>\n                                                                <h5 class=\"agenda-speaker-name\">\n                                                                    <a href=\"https:\/\/vetvacation.net\/kauai-2026\/speakers-detail\/?speaker=3483825\">\n                                                                        Lisa Powell DVM, ACVECC                                                                    <\/a>\n                                                                    \n                                                                <\/h5>\n                                                                                                                            <\/div>\n                                                                                                        <\/div>\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=\"welcome reception\" data-types=\"\">\n\n                                    <div class=\"inner-box\">\n                                        <div class=\"inner\">\n\n                                            <div class=\"date\">\n                                                6:15 PM - 7:15 PM                                            <\/div>\n\n                                            <!-- Favourite -->\n                                            \n                                            <!-- Title -->\n                                            <h4>\n                                                                                                    <a class=\"agenda-link\" href=\"https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/?agenda_id=WP6B9ELFBrpOXxS8urnwqg%3D%3D\">\n                                                        WELCOME RECEPTION                                                    <\/a>\n                                                                                                <\/h4>\n\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                                                    Luau Grounds                                                <\/div>\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-07-24\"\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                                Friday, Jul 24                            <\/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-25\"\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                                Saturday, Jul 25                            <\/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: '5130',\n        userId: '',\n        userAgendaIds: [],\n        scheduleDetailUrl: 'https:\/\/vetvacation.net\/kauai-2026\/schedule-details\/',\n        templateDirUri: 'https:\/\/vetvacation.net\/kauai-2026\/wp-content\/themes\/hello-elementor',\n        firstDate: '2026-07-23',\n        currentLoadedDate: '2026-07-23'\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: auto;\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        \/* 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    \/\/ ===============================\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 $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                    return null;\n                }\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=\"tab-date-header\" style=\"font-size:20px;font-weight:600;margin-bottom:20px;padding:15px 0;border-bottom:2px solid #e0e0e0;color:#222;\">' + formatDateHeader(dateStr) + '<\/div>' +\n                        '<div class=\"schedule-timeline\"><p style=\"text-align:center;padding:40px;\">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                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>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>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) {\n                    requestData.date = date;\n                }\n\n                $.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 no dates returned but agenda exists, extract dates from agenda items\n                            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                                \/\/ Always rebuild tabs from API response dates when search\/filter is active.\n                                \/\/ This ensures tabs reflect only dates that have matching results.\n                                \/\/ Use the requested date as the active tab (falls back to first result date).\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\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                                }\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                    }\n                });\n            }\n\n            window.loadDefaultAgendaData = function() {\n                if (isLoading) return;\n                isLoading = true;\n\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 && !isSearchActive) {\n                    filteredAgendaList = filteredAgendaList.filter(function(agendaItem) {\n                        return (agendaItem && agendaItem.Start_date === date);\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                        return searchHaystack.indexOf(activeSearchTerm) !== -1;\n                    });\n                }\n\n                if (filteredAgendaList.length === 0) {\n\n                    $timeline.html('<p style=\"text-align:center;padding:40px;\">No agenda available for this date.<\/p>');\n                    return;\n                }\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                var html = '';\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).text().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                    var startTime = agenda.Start_time ? new Date('2000-01-01 ' + agenda.Start_time).toLocaleTimeString('en-US', {hour: 'numeric', minute: '2-digit'}) : '';\n                    var endTime = agenda.End_time ? new Date('2000-01-01 ' + agenda.End_time).toLocaleTimeString('en-US', {hour: 'numeric', minute: '2-digit'}) : '';\n                    \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\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                            console.log(\"scds\" + scheduleUserData.templateDirUri);\n                            var imgUrl = (window.scheduleUserData && window.scheduleUserData.templateDirUri ? window.scheduleUserData.templateDirUri : '') + '\/assets\/images\/profile-placeholder.png';\n                            console.log(imgUrl);\n                            if (!objectKey && speaker.logo) {\n                                imgUrl = 'https:\/\/allintheloop.info\/media\/user_profile\/' + parseInt(eventId || '0') + '\/' + speaker.logo;\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 = window.scheduleUserData?.scheduleDetailUrl || window.location.origin;\n\n                            html += '<div class=\"agenda-speaker-card\">' +\n                                    '<div class=\"speaker-image\" style=\"flex-shrink:0; margin-bottom:8px;\">' +\n                                    '<a href=\"' + baseUrl.replace('\/schedule-details\/', '') +  '\/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.replace('\/schedule-details\/', '') +  '\/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                }, 100);\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                \n                \/\/ Load agenda for this date if not loaded yet\n                if (date && $tab.length) {\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                        \/\/ Load agenda for first date\n                        loadAgendaByDate(firstDate, $firstTab, { sendDate: true });\n                        \n                        \/\/ Update global data\n                        if (window.scheduleUserData) {\n                            window.scheduleUserData.currentLoadedDate = firstDate;\n                        }\n                    }\n                }\n            }, 500); \/\/ 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 tabSelector = $clickedBtn.attr('data-tab');\n            var target = tabSelector ? $(document.getElementById(tabSelector.replace('#', ''))) : $();\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\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            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            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            $('.tab').data('loaded', false);\n\n            \/\/ Reload API with filters\n            if (currentDate && $activeTab.length) {\n                \/\/ Apply filter request should not send date.\n                \/\/ Date will be sent once user clicks a date tab.\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:\/\/vetvacation.net\/kauai-2026\/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        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 && !processed.has(img.dataset.objectKey)) {\n                                        processed.add(img.dataset.objectKey);\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:\/\/vetvacation.net\/kauai-2026\/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                                    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                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), 300);\n                    }\n                }\n            }, 150);\n        });\n\n        \/\/ Process new images (for AJAX re-runs)\n        function processNewImages() {\n            const allImgs = document.querySelectorAll('.speaker-img[data-object-key]');\n            const newImgs = [];\n            \n            allImgs.forEach(img => {\n                if (img.dataset.objectKey && !processed.has(img.dataset.objectKey)) {\n                    processed.add(img.dataset.objectKey);\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:\/\/vetvacation.net\/kauai-2026\/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                },\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<div class=\"elementor-element elementor-element-6f627f1 elementor-hidden-desktop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"6f627f1\" data-element_type=\"container\" data-e-type=\"container\" id=\"sponsors\" 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-98a5938 elementor-widget elementor-widget-heading\" data-id=\"98a5938\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Sponsors<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09a80f6 elementor-widget elementor-widget-shortcode\" data-id=\"09a80f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><p class=\"exhibitors-no-results\">No exhibitors available at this time.<\/p><\/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>Kauai, Hawaii 2026 July 23 &#8211; 25, 2026 Online Conference Sports Medicine and Rehabilitation and Osteoarthritis Management June 2026 Learn about Veterinary Dentistry and Emergency Critical Care while on your beach vacation in Kauai Hawaii. Escape to paradise at The Royal Sonesta Kaua\u2019i Resort Lihue, surrounded by lush, verdant landscapes. Our Kauai beachfront resort is [&hellip;]<\/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-23","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/pages\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":538,"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/pages\/23\/revisions"}],"predecessor-version":[{"id":1267,"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/pages\/23\/revisions\/1267"}],"wp:attachment":[{"href":"https:\/\/vetvacation.net\/kauai-2026\/wp-json\/wp\/v2\/media?parent=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}