{"id":25,"date":"2024-12-15T04:28:57","date_gmt":"2024-12-15T04:28:57","guid":{"rendered":"https:\/\/ipaphysio.arelidev.com\/orange-county\/?page_id=25"},"modified":"2025-10-26T18:05:13","modified_gmt":"2025-10-26T18:05:13","slug":"home","status":"publish","type":"page","link":"https:\/\/ipaphysio.arelidev.com\/orange-county\/","title":{"rendered":"Home"},"content":{"rendered":"\n<div  class=\"ipa-hero-block relative flex flex-col justify-center\">\n            \n                    <!-- Default Layout -->\n            <div class=\"ipa-hero-block-inner relative z-10 h-[505px] md:h-[680px] md:w-[45%] h-[340px] md:h-[680px] slide-in-left flex items-center justify-center md:justify-start\">\n                <div class=\"text-white bg-primary\/80 px-10 pt-40 pb-16 md:pb-20 md:px-14 w-full h-full flex items-center\">\n                    <div class=\"content-inner max-w-xl\">\n                        <h1 class=\"text-[42px] md:text-[75px] mb-8 mt-8 leading-tight\">\n                            IPA Physio Orange County                        <\/h1>\n                        <div class=\"text-[18px] md:text-[24px] mb-5 md:max-w-[30rem]\">\n                            <p>Providing the Highest Quality Personalized Physical Therapy<\/p>\n                        <\/div>\n                                                    <a href=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/contact\/\" target=\"\" class=\"button button-white\">\n                                Get Started                            <\/a>\n                                            <\/div>\n                <\/div>\n            <\/div>\n        \n                    <div class=\"w-full absolute h-full top-0 \">\n                <img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"680\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/eb7f58773bba85ad69c95f87614b80ef-1440x680.jpg\" class=\"object-cover w-full h-full\" alt=\"\" \/>            <\/div>\n        \n    <\/div>\n\n\n<div class=\"wp-block-group sm:px-4 slide-in-right is-layout-constrained wp-container-core-group-is-layout-48c9aa2a wp-block-group sm:px-4-is-layout-constrained\"><!-- Adjust the top value below if your nav\/header height changes -->\n<div  class=\"sticky-cta sticky top-20 bg-[#1D2224] shadow-lg z-50 rounded-md\">\n    <div class=\"max-w-7xl mx-auto flex flex-col md:flex-row items-center px-[50px] py-[30px] gap-4\">\n        <div class=\"w-full md:w-3\/4 flex items-center text-white mb-6 md:mb-0\">\n                            <div class=\"prose max-w-none m-0 !text-white font-sans text-[20px] md:text-[28px] not-italic font-normal leading-[2rem] prose-a:!text-white prose-p:mb-0\">\n                    <p>Are you new to IPA Physio? <a style=\"#ffffff!important;\" href=\"mailto:http:\/\/oc@ipa.physio\">Email oc@ipa.physio<\/a> to set up your free 15-minute phone consultation.<\/p>\n                <\/div>\n                    <\/div>\n        <div class=\"w-full md:w-1\/4 flex items-center cta-content justify-center md:justify-end\">\n                            <a \n                    href=\"\/contact-us\/\" \n                    class=\"tracking-[0.8px] md:tracking-[0.9px] button !text-white\"\n                                    >\n                    SCHEDULE                <\/a>\n                    <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group sm:px-4 slide-in-bottom is-layout-constrained wp-container-core-group-is-layout-406cf11c wp-block-group sm:px-4-is-layout-constrained\" style=\"padding-right:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center\" style=\"font-size:48px\">Getting Started<\/h1>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center\" style=\"font-size:24px\"><em>Get answers to some of the most common questions about our physical therapy methods and treatments while also learning about our rates and sessions. We\u2019ll also provide you with a list of what we will need you to bring on your first visit. Learn about what you can expect from the IPA experience!<\/em><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<p class=\"ipa-button-block text-center\">\n    <a href=\"#\"\n       target=\"\"\n       class=\"tracking-[0.8px] md:tracking-[0.9px] button\">\n        Learn More    <\/a>\n<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group sm:px-4 is-layout-constrained wp-block-group sm:px-4-is-layout-constrained\">\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center has-h-3-font-size\">Proud to be a Partner<\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div  class=\"w-full py-8\">\n    <div class=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8 justify-items-center items-center\">\n                                    <div class=\"flex flex-col items-center text-center\">\n                    <img decoding=\"async\" \n                        src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/hoag-icon.png\" \n                        alt=\"\" \n                        class=\"max-h-24 object-contain\"\n                    \/>\n                                            <span class=\"mt-10 text-sm text-gray-700\">Hoag Concierge Medicine is the membership-based alternative to traditional primary care.<\/span>\n                                    <\/div>\n                            <div class=\"flex flex-col items-center text-center\">\n                    <img decoding=\"async\" \n                        src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/hoag-exec.png\" \n                        alt=\"\" \n                        class=\"max-h-24 object-contain\"\n                    \/>\n                                            <span class=\"mt-10 text-sm text-gray-700\">Hoag Executive Health is offers a heightened experience for company executives<\/span>\n                                    <\/div>\n                            <div class=\"flex flex-col items-center text-center\">\n                    <img decoding=\"async\" \n                        src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/oc-soccer.png\" \n                        alt=\"\" \n                        class=\"max-h-24 object-contain\"\n                    \/>\n                                            <span class=\"mt-10 text-sm text-gray-700\">OCSC is Orange County\u2019s only professional soccer team<\/span>\n                                    <\/div>\n                            <div class=\"flex flex-col items-center text-center\">\n                    <img decoding=\"async\" \n                        src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/radical-wellness.png\" \n                        alt=\"\" \n                        class=\"max-h-24 object-contain\"\n                    \/>\n                                            <span class=\"mt-10 text-sm text-gray-700\">Radical Wellness is a female-focused comprehensive wellness group<\/span>\n                                    <\/div>\n                        <\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group sm:px-4 is-layout-flow wp-block-group sm:px-4-is-layout-flow\">\n<div class=\"ipa-split-content-block\" >\n    <div class=\"ipa-split-content-block-inner md:flex\">\n                    \n    <div class=\"content-column md:w-1\/2 text-gray-800 bg-gray-100 py-20 px-10 md:py-44 md:px-24 flex flex-col items-center relative\">\n        <div class=\"slide-in-bottom absolute inset-0 bg-cover bg-no-repeat hidden md:flex\" style=\"background-image: url('https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/themes\/ipa-physio\/img\/ipa-bg-icon.png'); background-position: 32% center;\"><\/div>\n        <div class=\"max-w-md relative\">\n            <h3 class=\"text-[40px] md:text-[40px] mb-8\">About IPA Physio OC<\/h3>\n            <div class=\"mb-8 block\"><p>IPA Physio OC specializes in managing complex conditions that may have not been solved by other medical interventions. If you feel like you have lost your quality of life, come to IPA Physio to discover how we can help you regain the quality of life you deserve.<\/p>\n<p>Your journey to a new you begins here.<br \/>\nView our extensive treatment list and click on diagnoses to explore general information, causes, treatments and latest research:<\/p>\n<\/div>\n            <a href=\"#\" target=\"\" \n               class=\"button button-primary\">What We Treat<\/a>\n        <\/div>\n    <\/div>            <div class=\"media-column md:w-1\/2 relative overflow-hidden\"><img loading=\"lazy\" decoding=\"async\" width=\"716\" height=\"577\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/what-we-treat.png\" class=\"object-cover h-60 md:h-full w-full md:absolute\" alt=\"\" srcset=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/what-we-treat.png 716w, https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/what-we-treat-300x242.png 300w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/div>            <\/div>\n<\/div>\n\n\n<div class=\"ipa-split-content-block\" >\n    <div class=\"ipa-split-content-block-inner md:flex\">\n                    <div class=\"media-column md:w-1\/2 relative overflow-hidden\"><img loading=\"lazy\" decoding=\"async\" width=\"765\" height=\"1020\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/about-our-team-of-experts.jpg\" class=\"object-cover h-60 md:h-full w-full md:absolute\" alt=\"\" srcset=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/about-our-team-of-experts.jpg 765w, https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/about-our-team-of-experts-225x300.jpg 225w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\" \/><\/div>            \n    <div class=\"content-column md:w-1\/2 text-white bg-primary py-20 px-10 md:py-44 md:px-24 flex flex-col items-center relative\">\n        <div class=\"slide-in-bottom absolute inset-0 bg-cover bg-no-repeat hidden md:flex\" style=\"background-image: url('https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/themes\/ipa-physio\/img\/ipa-bg-icon.png'); background-position: 32% center;\"><\/div>\n        <div class=\"max-w-md relative\">\n            <h3 class=\"text-[40px] md:text-[40px] mb-8\">About Our Team of Expert Clinicians<\/h3>\n            <div class=\"mb-8 block\"><p>Our knowledgeable expert clinicians and administrative team are highly trained not only to help you resolve any pain or discomfort, but more importantly, identify the true cause of the issue. Let us help restore the movement you have lost and regain the quality of life you deserve.<\/p>\n<p>For our Orange County staff, your well-being and positive experience are our top priorities.<\/p>\n<\/div>\n            <a href=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/meet-the-team\/\" target=\"\" \n               class=\"button button-white\">Meet the Team<\/a>\n        <\/div>\n    <\/div>            <\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group sm:px-4 is-layout-constrained wp-block-group sm:px-4-is-layout-constrained\">\n<div style=\"height:38px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group sm:px-4 sm:px-4 slide-in-top is-layout-constrained wp-block-group sm:px-4 sm:px-4-is-layout-constrained\">\n<h3 class=\"wp-block-heading has-text-align-center\" style=\"font-size:40px\">Life-Changing Stories<\/h3>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-regular-font-size\">Helping people is our passion and motivation to go to work each day. Hear from a number of our patients why IPA Physio is the best choice to help you eliminate pain, improve your body\u2019s function, and achieve your goals.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n    <div class=\"ipa-stories-slider-widget\" >\n        <div class=\"ipa-stories-slider-widget-inner relative\">\n            <!-- Swiper -->\n            <div class=\"swiper-container stories-swiper \">\n                <div class=\"swiper-wrapper\">\n                                                                    <div class=\"swiper-slide flex-shrink-0\">\n                            <div class=\"h-full text-center flex items-center justify-center rounded-md\">\n                                                                    <div class=\"story-video-trigger relative cursor-pointer\" data-video-url=\"https:\/\/youtu.be\/d_xyD3nNQuo?si=Iu10sO7nCIsH3rUw\">\n                                        <img decoding=\"async\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/01\/before-your-visit-hero-711x400.jpg\" class=\"w-[100vh] h-[245px] md:h-[400px] object-cover story-image rounded-md\" alt=\"OC Story 4\" \/>\n                                        <span class=\"play-button-overlay absolute inset-0 flex items-center justify-center\">\n                                            <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                <circle cx=\"32\" cy=\"32\" r=\"32\" fill=\"rgba(0,0,0,0.5)\"\/>\n                                                <polygon points=\"26,20 48,32 26,44\" fill=\"#fff\"\/>\n                                            <\/svg>\n                                        <\/span>\n                                    <\/div>\n                                                            <\/div>\n                        <\/div>\n                                                                    <div class=\"swiper-slide flex-shrink-0\">\n                            <div class=\"h-full text-center flex items-center justify-center rounded-md\">\n                                                                    <a href=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/?stories=oc-story-3\" class=\"story-link\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"400\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/04\/OC-story-3-711x400.jpg\" class=\"w-[100vh] h-[245px] md:h-[400px] object-cover story-image wp-post-image\" alt=\"\" \/>                                    <\/a>\n                                                            <\/div>\n                        <\/div>\n                                                                    <div class=\"swiper-slide flex-shrink-0\">\n                            <div class=\"h-full text-center flex items-center justify-center rounded-md\">\n                                                                    <a href=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/?stories=oc-story-2\" class=\"story-link\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"400\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/04\/Oc-story-2-711x400.jpg\" class=\"w-[100vh] h-[245px] md:h-[400px] object-cover story-image wp-post-image\" alt=\"\" \/>                                    <\/a>\n                                                            <\/div>\n                        <\/div>\n                                                                    <div class=\"swiper-slide flex-shrink-0\">\n                            <div class=\"h-full text-center flex items-center justify-center rounded-md\">\n                                                                    <div class=\"story-video-trigger relative cursor-pointer\" data-video-url=\"https:\/\/youtu.be\/LXb3EKWsInQ\">\n                                        <img decoding=\"async\" src=\"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-content\/uploads\/sites\/3\/2025\/04\/OC-story-1-711x400.jpg\" class=\"w-[100vh] h-[245px] md:h-[400px] object-cover story-image rounded-md\" alt=\"OC Story 1\" \/>\n                                        <span class=\"play-button-overlay absolute inset-0 flex items-center justify-center\">\n                                            <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                <circle cx=\"32\" cy=\"32\" r=\"32\" fill=\"rgba(0,0,0,0.5)\"\/>\n                                                <polygon points=\"26,20 48,32 26,44\" fill=\"#fff\"\/>\n                                            <\/svg>\n                                        <\/span>\n                                    <\/div>\n                                                            <\/div>\n                        <\/div>\n                                    <\/div>\n\n                <div class=\"md:hidden swiper-pagination stories-pagination\"><\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>\n\n    <!-- Swiper JS -->\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/swiper\/swiper-bundle.min.js\"><\/script>\n    <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            var swiper = new Swiper('.stories-swiper', {\n                slidesPerView: 3,\n                spaceBetween: 0,\n                centeredSlides: true,\n                loop: true,\n                pagination: {\n                    el: '.stories-pagination',\n                    clickable: true,\n                    dynamicBullets: true, \/\/ Enables only a few bullets to show at a time\n                },\n                breakpoints: {\n                    320: {\n                        slidesPerView: 1,\n                        spaceBetween: 5,\n                    },\n                    768: {\n                        slidesPerView: 1.5,\n                        spaceBetween: 5,\n                    },\n                    1024: {\n                        slidesPerView: 1.75,\n                        spaceBetween: 25,\n                    },\n                },\n            });\n            \/\/ Video modal logic\n            const modal = document.getElementById('story-video-modal');\n            const modalContent = document.getElementById('story-video-modal-content');\n            const closeModal = document.getElementById('close-story-video-modal');\n            document.querySelectorAll('.story-video-trigger').forEach(function(el) {\n                el.addEventListener('click', function(event) {\n                    event.preventDefault();\n                    event.stopPropagation();\n                    const videoUrl = el.getAttribute('data-video-url');\n                    let embedHtml = '';\n                    if (videoUrl.includes('youtube.com') || videoUrl.includes('youtu.be')) {\n                        let youtubeIdMatch = videoUrl.match(\/(?:youtube\\.com\\\/watch\\?v=|youtu\\.be\\\/)([A-Za-z0-9_-]+)\/);\n                        youtubeIdMatch = videoUrl.match(\/(?:youtube\\.com\\\/watch\\?v=|youtu\\.be\\\/)([A-Za-z0-9_-]+)\/);\n                        if (youtubeIdMatch) {\n                            embedHtml = `<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/${youtubeIdMatch[1]}?autoplay=1\" frameborder=\"0\" allowfullscreen><\/iframe>`;\n                        }\n                    } else if (videoUrl.includes('vimeo.com')) {\n                        let vimeoIdMatch = videoUrl.match(\/vimeo\\.com\\\/(\\d+)\/);\n                        vimeoIdMatch = videoUrl.match(\/vimeo\\.com\\\/(\\d+)\/);\n                        if (vimeoIdMatch) {\n                            embedHtml = `<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/player.vimeo.com\/video\/${vimeoIdMatch[1]}?autoplay=1\" frameborder=\"0\" allowfullscreen><\/iframe>`;\n                        }\n                    } else {\n                        embedHtml = `<video width=\"560\" height=\"315\" controls autoplay><source src=\"${videoUrl}\"><\/video>`;\n                    }\n                    console.log('Embed HTML:', embedHtml);\n                    modalContent.innerHTML = embedHtml;\n                    modal.classList.remove('hidden');\n                    modal.classList.add('flex');\n                });\n            });\n            closeModal.addEventListener('click', function() {\n                modal.classList.add('hidden');\n                modal.classList.remove('flex');\n                modalContent.innerHTML = '';\n            });\n            \/\/ Close modal on background click\n            modal.addEventListener('click', function(e) {\n                if (e.target === modal) {\n                    modal.classList.add('hidden');\n                    modal.classList.remove('flex');\n                    modalContent.innerHTML = '';\n                }\n            });\n        });\n    <\/script>\n    <style>\n        \/* Image dimensions *\/\n        .story-image {\n            \/*width: 374px;*\/\n            \/*height: 245px;*\/\n        }\n\n        @media (min-width: 1024px) {\n            .story-image {\n                \/*width: 711.111px;*\/\n                \/*width: 100vh;*\/\n                \/*height: 400px;*\/\n            }\n        }\n\n        \/* Pagination styling *\/\n        .stories-pagination {\n            position: absolute;\n            bottom: -30px !important;\n            left: 0;\n            right: 0;\n            z-index: 10;\n        }\n        .swiper-pagination-bullet {\n            width: 12px;\n            height: 12px;\n            background: #D9D9D9; \/* Non-active color *\/\n            opacity: 1;\n            margin: 0 5px !important;\n        }\n        .swiper-pagination-bullet-active {\n            background: #7DA1F2; \/* Active color *\/\n        }\n        .play-button-overlay {\n            pointer-events: none;\n        }\n        .story-video-trigger:hover .play-button-overlay {\n            filter: brightness(1.2);\n        }\n        #story-video-modal {\n            display: none;\n        }\n        #story-video-modal.flex {\n            display: flex;\n        }\n        #story-video-modal .bg-white {\n            animation: modalFadeIn 0.2s;\n        }\n        @keyframes modalFadeIn {\n            from { transform: scale(0.95); opacity: 0; }\n            to { transform: scale(1); opacity: 1; }\n        }\n        #story-video-modal-content iframe,\n        #story-video-modal-content video {\n            width: 90vw;\n            max-width: 800px;\n            height: 50vw;\n            max-height: 450px;\n            border-radius: 0.75rem;\n            background: #000;\n            box-shadow: 0 4px 32px rgba(0,0,0,0.25);\n        }\n        @media (max-width: 600px) {\n            #story-video-modal-content iframe,\n            #story-video-modal-content video {\n                max-width: 98vw;\n                height: 56vw;\n                max-height: 60vw;\n            }\n            #story-video-modal .bg-white {\n                padding: 0.5rem;\n            }\n        }\n        #close-story-video-modal {\n            transition: background 0.2s, color 0.2s;\n        }\n        #close-story-video-modal:hover {\n            background: #f87171;\n            color: #fff;\n        }\n        .custom-modal-bg {\n            background-color: rgb(59 87 149 \/ var(--tw-bg-opacity,1));\n        }\n    <\/style>\n\n    <!-- Video Modal -->\n    <div id=\"story-video-modal\" class=\"fixed inset-0 z-50 hidden items-center justify-center\">\n        <div class=\"relative custom-modal-bg bg-opacity-95 rounded-xl shadow-xl p-0 md:p-6 flex flex-col items-center justify-center max-w-3xl w-[95vw] max-h-[90vh]\">\n            <button id=\"close-story-video-modal\" class=\"absolute top-2 right-2 text-gray-100 hover:text-red-300 text-4xl font-bold leading-none z-10 bg-white bg-opacity-20 rounded-full w-10 h-10 flex items-center justify-center shadow-md\">&times;<\/button>\n            <div id=\"story-video-modal-content\" class=\"w-full flex items-center justify-center\">\n                <!-- Video will be injected here -->\n            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<p class=\"ipa-button-block text-center\">\n    <a href=\"\/stories\/\"\n       target=\"\"\n       class=\"tracking-[0.8px] md:tracking-[0.9px] button\">\n        Read More Life-Changing Stories    <\/a>\n<\/p>\n\n\n\n<div style=\"height:75px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n\n<div id=\"oc-contact\" class=\"location-selector-block w-full flex flex-col md:flex-row min-h-[500px] md:min-h-[400px]\">\n            <!-- Form Column First (Left), Map Column Second (Right) -->\n        \n<div class=\"hidden md:flex md:w-1\/2 w-full bg-[#2B2F36] md:pl-[11rem] md:pr-[4rem] px-6 py-8 md:py-12 items-center justify-center\">\n    <div class=\"w-full flex flex-col items-start\">\n        <h3 class=\"text-2xl md:text-3xl text-white mb-2 font-sans\" style=\"font-family: Inter, sans-serif;\">Contact<\/h3>\n        <div class=\"text-gray-200 mb-4 md:mb-6\">\n                <div class=\"my-2\">HOURS<\/div><div class=\"text-sm md:text-base\">Monday: 7 AM\u2013 5 PM<\/div><div class=\"text-sm md:text-base\">Tuesday: 8 AM\u2013 5 PM<\/div><div class=\"text-sm md:text-base\">Wednesday: 8 AM\u2013 5 PM<\/div><div class=\"text-sm md:text-base\">Thursday: Closed<\/div><div class=\"text-sm md:text-base\">Friday: 8 AM\u2013 5 PM<\/div><div class=\"text-sm md:text-base\">Saturday &amp; Sunday: Closed<\/div><\/div>\n        <div class=\"w-full flex justify-start max-w-sm\">\n            <script charset=\"utf-8\" type=\"text\/javascript\" src=\"\/\/js-na2.hsforms.net\/forms\/embed\/v2.js\"><\/script>\r\n<script>\r\n  hbspt.forms.create({\r\n    portalId: \"47487699\",\r\n    formId: \"81ca69f6-a7fd-428c-ada4-61e6a7a8e4f0\",\r\n    region: \"na2\"\r\n  });\r\n<\/script>\r\n\n        <\/div>\n    <\/div>\n<\/div>        \n<div class=\"w-full md:w-1\/2 h-[500px] md:h-auto flex flex-col items-center justify-center relative overflow-hidden\">\n    <!-- Google Maps View - Full Column -->\n    <div id=\"map-container\" class=\"absolute inset-0 w-full h-full\">\n        <div id=\"map\" class=\"w-full h-full\"><\/div>\n        \n        <!-- ZIP Code Lookup Overlay (hidden by default) -->\n        <div id=\"zip-lookup-overlay\" class=\"absolute inset-0 bg-white bg-opacity-90 items-center justify-center z-10 p-4 hidden\">\n            <div class=\"bg-white p-6 md:p-8 rounded-lg shadow-lg text-center max-w-sm w-full\">\n                <h2 class=\"text-xl md:text-2xl font-semibold mb-2 text-gray-900 leading-tight\">FIND THE IPA PHYSIO LOCATION NEAR YOU.<\/h2>\n                <h3 class=\"text-base md:text-lg mb-4 md:mb-6 text-gray-700\">ENTER YOUR ZIP CODE<\/h3>\n                <input \n                    type=\"text\" \n                    id=\"zip-code-input\" \n                    placeholder=\"Postal Code\"\n                    class=\"w-full px-4 py-3 border border-gray-300 rounded-lg mb-4 text-center text-base md:text-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500\"\n                >\n                <button \n                    id=\"update-location-btn\"\n                    class=\"w-full bg-[#3B5795] text-white py-3 px-6 rounded-lg font-semibold hover:bg-[#2A4278] transition-colors text-base md:text-lg\"\n                >\n                    UPDATE\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <!-- Mobile Location Cards Slider (hidden initially) -->\n        <div id=\"mobile-location-slider\" class=\"absolute inset-0 bg-white z-10 hidden md:hidden\">\n            <div class=\"flex flex-col h-full\">\n                <div class=\"flex items-center justify-between p-4 border-b border-gray-200\">\n                    <h3 class=\"text-lg font-semibold text-gray-900\">Nearby Locations<\/h3>\n                    <button id=\"close-mobile-slider\" class=\"text-[#3B5795] font-medium\">\n                        \u2715\n                    <\/button>\n                <\/div>\n                <div class=\"flex-1 overflow-hidden\">\n                    <div id=\"location-cards-container\" class=\"flex h-full overflow-x-auto snap-x snap-mandatory\">\n                        <!-- Location cards will be dynamically inserted here -->\n                    <\/div>\n                <\/div>\n                <div class=\"p-4 text-center\">\n                    <button \n                        id=\"mobile-search-again-btn\"\n                        class=\"bg-[#3B5795] text-white px-6 py-2 rounded-lg font-medium hover:bg-[#2A4278] transition-colors\"\n                    >\n                        Search Again\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Find Nearest Location Button (visible by default) -->\n        <button \n            id=\"search-again-btn\"\n            class=\"absolute bottom-4 right-4 md:bottom-6 md:right-6 bg-[#3B5795] text-white px-3 py-2 md:px-4 md:py-2 rounded-lg shadow-lg font-medium hover:bg-[#2A4278] transition-colors z-10 text-sm md:text-base\"\n        >\n            Find Nearest Location\n        <\/button>\n    <\/div>\n<\/div>        <\/div>\n<\/div>\n\n<!-- Google Maps JavaScript -->\n<script>\nlet map;\nlet geocoder;\nlet infoWindow;\nlet markers = [];\n\n\/\/ Location data\nconst locations = [{\"name\":\"IPA Physio Orange County\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/orange-county\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"IPA Physio Steamboat Springs\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/steamboat\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"IPA Physio Dallas\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/dallas\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"IPA Physio NYC\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/nyc\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"IPA Physio Portland\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/portland\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"IPA Physio Long Beach\",\"url\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/lbc\\\/\",\"address\":\"\",\"phone\":\"\",\"site_logo\":\"\",\"source\":\"subsite\"},{\"name\":\"Newport Beach\",\"url\":\"\\\/orange-county\\\/\",\"address\":\"500 Superior Avenue Suite 200 Newport Beach, CA 92663\",\"phone\":\"(949) 232-1955\",\"hours\":\"Monday: 7 AM\\u2013 5 PM\\r\\n\\r\\nTuesday: 8 AM\\u2013 5 PM\\r\\n\\r\\nWednesday: 8 AM\\u2013 5 PM\\r\\n\\r\\nThursday: Closed\\r\\n\\r\\nFriday: 8 AM\\u2013 5 PM\\r\\n\\r\\nSaturday & Sunday: Closed\",\"description\":\"\",\"latitude\":\"33.630102736120904\",\"longitude\":\"-117.92930688988679\",\"site_logo\":\"https:\\\/\\\/ipaphysio.arelidev.com\\\/orange-county\\\/wp-content\\\/uploads\\\/sites\\\/3\\\/2025\\\/06\\\/site_logo.png\",\"source\":\"theme_options\"},{\"name\":\"Long Beach\",\"url\":\"\",\"address\":\"4918 2nd St Long Beach, CA 90803\",\"phone\":\"(949) 232-1955\",\"hours\":\"Monday: Closed\\r\\n\\r\\nTuesday: Closed\\r\\n\\r\\nWednesday: 9 \\u2013 12\\r\\n\\r\\nThursday: Closed\\r\\n\\r\\nFriday: 7 \\u2013 5\\r\\n\\r\\nSaturday & Sunday: Closed\",\"description\":\"\",\"latitude\":\"33.76117368378233\",\"longitude\":\"-118.13710948851826\",\"site_logo\":\"\",\"source\":\"theme_options\"}];\n\n\/\/ Debug: Log locations data to see if logos are included\nconsole.log('Locations data:', locations);\n\n\/\/ Mobile detection\nfunction isMobileDevice() {\n    return window.innerWidth <= 768;\n}\n\nfunction initMap() {\n    \/\/ Initialize map centered on US with grey\/white styling\n    map = new google.maps.Map(document.getElementById(\"map\"), {\n        zoom: 4,\n        center: { lat: 39.8283, lng: -98.5795 }, \/\/ Center of US\n        styles: [\n            {\n                \"featureType\": \"all\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#f5f5f5\"}]\n            },\n            {\n                \"featureType\": \"all\",\n                \"elementType\": \"labels.icon\",\n                \"stylers\": [{\"visibility\": \"off\"}]\n            },\n            {\n                \"featureType\": \"all\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#616161\"}]\n            },\n            {\n                \"featureType\": \"all\",\n                \"elementType\": \"labels.text.stroke\",\n                \"stylers\": [{\"color\": \"#f5f5f5\"}]\n            },\n            {\n                \"featureType\": \"administrative.land_parcel\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#bdbdbd\"}]\n            },\n            {\n                \"featureType\": \"poi\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#eeeeee\"}]\n            },\n            {\n                \"featureType\": \"poi\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#757575\"}]\n            },\n            {\n                \"featureType\": \"poi.park\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#e5e5e5\"}]\n            },\n            {\n                \"featureType\": \"poi.park\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#9e9e9e\"}]\n            },\n            {\n                \"featureType\": \"road\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#ffffff\"}]\n            },\n            {\n                \"featureType\": \"road.arterial\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#757575\"}]\n            },\n            {\n                \"featureType\": \"road.highway\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#dadada\"}]\n            },\n            {\n                \"featureType\": \"road.highway\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#616161\"}]\n            },\n            {\n                \"featureType\": \"road.local\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#9e9e9e\"}]\n            },\n            {\n                \"featureType\": \"transit.line\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#e5e5e5\"}]\n            },\n            {\n                \"featureType\": \"transit.station\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#eeeeee\"}]\n            },\n            {\n                \"featureType\": \"water\",\n                \"elementType\": \"geometry\",\n                \"stylers\": [{\"color\": \"#c9c9c9\"}]\n            },\n            {\n                \"featureType\": \"water\",\n                \"elementType\": \"labels.text.fill\",\n                \"stylers\": [{\"color\": \"#9e9e9e\"}]\n            }\n        ]\n    });\n    \n    geocoder = new google.maps.Geocoder();\n    infoWindow = new google.maps.InfoWindow();\n    \n    \/\/ Add markers for all locations (you'll need to geocode these or store coordinates)\n    addLocationMarkers();\n    \n    \/\/ Handle ZIP code lookup\n    document.getElementById('update-location-btn').addEventListener('click', handleZipCodeLookup);\n    document.getElementById('zip-code-input').addEventListener('keypress', function(e) {\n        if (e.key === 'Enter') {\n            handleZipCodeLookup();\n        }\n    });\n    \n    \/\/ Handle search again button\n    document.getElementById('search-again-btn').addEventListener('click', showSearchOverlay);\n    \n    \/\/ Handle mobile slider controls\n    document.getElementById('close-mobile-slider').addEventListener('click', showSearchOverlay);\n    document.getElementById('mobile-search-again-btn').addEventListener('click', showSearchOverlay);\n}\n\nfunction addLocationMarkers() {\n    locations.forEach((location, index) => {\n        \/\/ Use manual coordinates if available, otherwise geocode address\n        if (location.latitude && location.longitude) {\n            \/\/ Use manual coordinates\n            const position = new google.maps.LatLng(parseFloat(location.latitude), parseFloat(location.longitude));\n            createMarker(location, position);\n        } else if (location.address && location.address.trim()) {\n            \/\/ Geocode the address\n            geocoder.geocode({ address: location.address }, (results, status) => {\n                if (status === 'OK') {\n                    const position = results[0].geometry.location;\n                    createMarker(location, position);\n                }\n            });\n        }\n    });\n}\n\nfunction createMarker(location, position) {\n    const marker = new google.maps.Marker({\n        position: position,\n        map: map,\n        title: location.name,\n        icon: {\n            url: 'data:image\/svg+xml;charset=UTF-8,' + encodeURIComponent(`\n                <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <circle cx=\"20\" cy=\"20\" r=\"16\" fill=\"#3B5795\" stroke=\"white\" stroke-width=\"3\"\/>\n                    <circle cx=\"20\" cy=\"20\" r=\"6\" fill=\"white\"\/>\n                <\/svg>\n            `),\n            scaledSize: new google.maps.Size(40, 40),\n            anchor: new google.maps.Point(20, 20)\n        }\n    });\n    \n    \/\/ Create clean info window content with Tailwind CSS\n    let infoContent = `\n        <div class=\"w-72 font-sans p-5 bg-white rounded-lg shadow-md\">\n            <h3 class=\"m-0 mb-3 text-lg font-semibold text-gray-900\">${location.name}<\/h3>\n    `;\n    \n    if (location.address) {\n        \/\/ Create Google Maps link\n        const mapsUrl = `https:\/\/www.google.com\/maps\/search\/?api=1&query=${encodeURIComponent(location.address)}`;\n        infoContent += `<div class=\"mb-2\"><a href=\"${mapsUrl}\" target=\"_blank\" class=\"text-gray-900 underline text-xs leading-relaxed\">${location.address}<\/a><\/div>`;\n    }\n    \n    if (location.phone) {\n        infoContent += `<div class=\"mb-3\"><a href=\"tel:${location.phone}\" class=\"text-gray-900 underline text-xs\">${location.phone}<\/a><\/div>`;\n    }\n    \n    if (location.hours) {\n        \/\/ Parse hours into two columns like the design\n        const hoursLines = location.hours.split('\\n').filter(line => line.trim());\n        let leftColumn = [];\n        let rightColumn = [];\n        \n        hoursLines.forEach(line => {\n            const day = line.toLowerCase();\n            if (day.includes('monday') || day.includes('tuesday') || day.includes('wednesday') || day.includes('thursday')) {\n                leftColumn.push(line);\n            } else {\n                rightColumn.push(line);\n            }\n        });\n        \n        infoContent += `\n            <div>\n                <h4 class=\"m-0 mb-2 text-sm font-semibold text-gray-900\">Hours of Operation<\/h4>\n                <div class=\"flex gap-5\">\n                    <div class=\"flex-1 leading-tight text-gray-600\" style=\"font-size: 8px;\">\n                        ${leftColumn.join('<br>')}\n                    <\/div>\n                    <div class=\"flex-1 leading-tight text-gray-600\" style=\"font-size: 8px;\">\n                        ${rightColumn.join('<br>')}\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    }\n    \n    infoContent += `<\/div>`;\n    \n    marker.addListener('click', () => {\n        infoWindow.setContent(infoContent);\n        infoWindow.open(map, marker);\n    });\n    \n    markers.push(marker);\n    \n    \/\/ Auto-fit map bounds to include all markers\n    updateMapBounds();\n}\n\nfunction updateMapBounds() {\n    if (markers.length > 0) {\n        const bounds = new google.maps.LatLngBounds();\n        markers.forEach(marker => bounds.extend(marker.getPosition()));\n        map.fitBounds(bounds);\n        \n        \/\/ Ensure minimum zoom level for single markers\n        if (markers.length === 1) {\n            google.maps.event.addListenerOnce(map, 'bounds_changed', function() {\n                if (map.getZoom() > 15) {\n                    map.setZoom(15);\n                }\n            });\n        }\n    }\n}\n\nfunction handleZipCodeLookup() {\n    const zipCode = document.getElementById('zip-code-input').value.trim();\n    \n    if (!zipCode) {\n        alert('Please enter a ZIP code');\n        return;\n    }\n    \n    geocoder.geocode({ address: zipCode }, (results, status) => {\n        if (status === 'OK') {\n            const userLocation = results[0].geometry.location;\n            \n            \/\/ Hide the overlay\n            const overlay = document.getElementById('zip-lookup-overlay');\n            overlay.classList.add('hidden');\n            overlay.classList.remove('flex');\n            \n            if (isMobileDevice()) {\n                \/\/ Show mobile location cards slider\n                showMobileLocationCards(userLocation);\n            } else {\n                \/\/ Show desktop map with pins and find closest\n                findClosestLocation(userLocation);\n            }\n            \n        } else {\n            alert('Unable to find location for ZIP code: ' + zipCode);\n        }\n    });\n}\n\nfunction showMobileLocationCards(userLocation) {\n    \/\/ Calculate distances and sort locations\n    const locationsWithDistance = [];\n    let processedCount = 0;\n    \n    locations.forEach((location, index) => {\n        if (location.latitude && location.longitude) {\n            \/\/ Use manual coordinates\n            const locationPos = new google.maps.LatLng(parseFloat(location.latitude), parseFloat(location.longitude));\n            const distance = google.maps.geometry.spherical.computeDistanceBetween(userLocation, locationPos);\n            locationsWithDistance.push({ ...location, distance, index });\n            processedCount++;\n            \n            if (processedCount === locations.length) {\n                displayMobileCards(locationsWithDistance);\n            }\n        } else if (location.address && location.address.trim()) {\n            \/\/ Geocode the address\n            geocoder.geocode({ address: location.address }, (results, status) => {\n                if (status === 'OK') {\n                    const locationPos = results[0].geometry.location;\n                    const distance = google.maps.geometry.spherical.computeDistanceBetween(userLocation, locationPos);\n                    locationsWithDistance.push({ ...location, distance, index });\n                }\n                processedCount++;\n                \n                if (processedCount === locations.length) {\n                    displayMobileCards(locationsWithDistance);\n                }\n            });\n        } else {\n            processedCount++;\n            if (processedCount === locations.length) {\n                displayMobileCards(locationsWithDistance);\n            }\n        }\n    });\n}\n\nfunction displayMobileCards(locationsWithDistance) {\n    \/\/ Sort by distance\n    locationsWithDistance.sort((a, b) => a.distance - b.distance);\n    \n    \/\/ Generate cards HTML\n    const cardsContainer = document.getElementById('location-cards-container');\n    cardsContainer.innerHTML = '';\n    \n    locationsWithDistance.forEach((location, index) => {\n        const cardHtml = createLocationCard(location, index, locationsWithDistance.length);\n        cardsContainer.appendChild(cardHtml);\n    });\n    \n    \/\/ Show the mobile slider\n    document.getElementById('mobile-location-slider').classList.remove('hidden');\n    \n    \/\/ Set up pagination dots functionality\n    setupPaginationDots(locationsWithDistance.length);\n}\n\nfunction createLocationCard(location, index, totalCards) {\n    const card = document.createElement('div');\n    card.className = 'flex-shrink-0 w-full snap-center p-4';\n    card.setAttribute('data-card-index', index);\n    \n    \/\/ Parse hours into two columns\n    const hoursLines = location.hours ? location.hours.split('\\n').filter(line => line.trim()) : [];\n    let leftColumn = [];\n    let rightColumn = [];\n    \n    hoursLines.forEach(line => {\n        const day = line.toLowerCase();\n        if (day.includes('monday') || day.includes('tuesday') || day.includes('wednesday') || day.includes('thursday')) {\n            leftColumn.push(line);\n        } else {\n            rightColumn.push(line);\n        }\n    });\n    \n    \/\/ Create maps URL\n    const mapsUrl = location.address ? `https:\/\/www.google.com\/maps\/search\/?api=1&query=${encodeURIComponent(location.address)}` : '#';\n    \n    \/\/ Create pagination dots\n    let paginationDots = '';\n    for (let i = 0; i < totalCards; i++) {\n        const opacity = i === index ? 'opacity-100' : 'opacity-40';\n        paginationDots += `<div class=\"w-2 h-2 bg-white rounded-full ${opacity} transition-opacity duration-300\"><\/div>`;\n    }\n    \n    card.innerHTML = `\n        <div class=\"bg-white rounded-lg shadow-lg overflow-hidden h-full flex flex-col\">\n            <!-- Header with Location Name and Logo -->\n            <div class=\"bg-gradient-to-br from-[#3B5795] to-[#5A72B5] h-24 relative overflow-hidden\">\n                <div class=\"absolute inset-0 flex flex-col items-center justify-center px-4 pt-2 pb-8\">\n                    <!-- Logo centered at top -->\n                    ${location.site_logo ? \n                        `<div class=\"mb-2\">\n                            <img decoding=\"async\" src=\"${location.site_logo}\" alt=\"${location.name} logo\" class=\"object-contain\" style=\"width: 132.275px; height: 50px;\">\n                        <\/div>` : \n                        `<div class=\"mb-2\">\n                            <svg width=\"40\" height=\"40\" viewBox=\"0 0 32 32\" class=\"text-white\">\n                                <path fill=\"currentColor\" d=\"M16 2L8 8v12l8 6 8-6V8l-8-6zm0 2.5L22.5 9v10L16 24.5 9.5 19V9L16 4.5z\"\/>\n                                <path fill=\"currentColor\" d=\"M12 12h8v2h-8v-2zm0 3h8v2h-8v-2z\"\/>\n                            <\/svg>\n                        <\/div>`\n                    }\n                    <!-- Location name centered below logo -->\n                    <div class=\"text-white text-center\">\n                        <div class=\"text-lg font-bold leading-tight\">${location.name}<\/div>\n                    <\/div>\n                <\/div>\n                <!-- Pagination dots -->\n                <div class=\"absolute bottom-2 left-1\/2 transform -translate-x-1\/2 flex space-x-2 pagination-dots\">\n                    ${paginationDots}\n                <\/div>\n            <\/div>\n            \n            <!-- Content -->\n            <div class=\"flex-1 p-5\">\n                <!-- Location Name with IPA Physio prefix -->\n                <div class=\"mb-3\">\n                    <h3 class=\"text-gray-900\" style=\"font-family: var(--font-mirage, mirage, serif); font-size: 18px;\">\n                        IPA Physio ${location.name}\n                    <\/h3>\n                <\/div>\n                \n                ${location.address ? `<div class=\"mb-2\">\n                    <a href=\"${mapsUrl}\" target=\"_blank\" class=\"text-gray-900 underline text-sm leading-relaxed block\">\n                        ${location.address}\n                    <\/a>\n                <\/div>` : ''}\n                \n                ${location.phone ? `<div class=\"mb-4\">\n                    <a href=\"tel:${location.phone}\" class=\"text-gray-900 underline text-sm\">\n                        ${location.phone}\n                    <\/a>\n                <\/div>` : ''}\n                \n                ${location.hours ? `<div>\n                    <h4 class=\"text-sm font-semibold text-gray-900 mb-2\">Hours of Operation<\/h4>\n                    <div class=\"flex gap-4\">\n                        <div class=\"flex-1 leading-tight text-gray-600\" style=\"font-size: 10px;\">\n                            ${leftColumn.join('<br>')}\n                        <\/div>\n                        <div class=\"flex-1 leading-tight text-gray-600\" style=\"font-size: 10px;\">\n                            ${rightColumn.join('<br>')}\n                        <\/div>\n                    <\/div>\n                <\/div>` : ''}\n            <\/div>\n        <\/div>\n    `;\n    \n    return card;\n}\n\nfunction setupPaginationDots(totalCards) {\n    const container = document.getElementById('location-cards-container');\n    \n    \/\/ Update pagination dots on scroll\n    container.addEventListener('scroll', () => {\n        const scrollLeft = container.scrollLeft;\n        const cardWidth = container.offsetWidth;\n        const currentIndex = Math.round(scrollLeft \/ cardWidth);\n        \n        \/\/ Update all pagination dots\n        const allCards = container.querySelectorAll('[data-card-index]');\n        allCards.forEach((card, index) => {\n            const dots = card.querySelectorAll('.pagination-dots div');\n            dots.forEach((dot, dotIndex) => {\n                if (dotIndex === currentIndex) {\n                    dot.classList.remove('opacity-40');\n                    dot.classList.add('opacity-100');\n                } else {\n                    dot.classList.remove('opacity-100');\n                    dot.classList.add('opacity-40');\n                }\n            });\n        });\n    });\n}\n\nfunction showSearchOverlay() {\n    \/\/ Hide all result views and show overlay\n    document.getElementById('mobile-location-slider').classList.add('hidden');\n    const overlay = document.getElementById('zip-lookup-overlay');\n    overlay.classList.remove('hidden');\n    overlay.classList.add('flex');\n    \n    \/\/ Clear the input and focus\n    document.getElementById('zip-code-input').value = '';\n    document.getElementById('zip-code-input').focus();\n}\n\nfunction findClosestLocation(userLocation) {\n    let closestMarker = null;\n    let closestDistance = Infinity;\n    \n    markers.forEach(marker => {\n        const distance = google.maps.geometry.spherical.computeDistanceBetween(\n            userLocation,\n            marker.getPosition()\n        );\n        \n        if (distance < closestDistance) {\n            closestDistance = distance;\n            closestMarker = marker;\n        }\n    });\n    \n    if (closestMarker) {\n        \/\/ Center the map on the closest location\n        map.setCenter(closestMarker.getPosition());\n        map.setZoom(12);\n        \n        \/\/ Animate the closest marker\n        closestMarker.setAnimation(google.maps.Animation.BOUNCE);\n        setTimeout(() => {\n            closestMarker.setAnimation(null);\n        }, 2000);\n    }\n}\n\n\/\/ Initialize map when Google Maps API is loaded\n\/\/ The API is enqueued by functions.php\nfunction waitForGoogleMaps() {\n    if (typeof google !== 'undefined' && \n        typeof google.maps !== 'undefined' && \n        typeof google.maps.Map !== 'undefined') {\n        initMap();\n    } else {\n        setTimeout(waitForGoogleMaps, 100);\n    }\n}\nwaitForGoogleMaps();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Getting Started Get answers to some of the most common questions about our physical therapy methods and treatments while also learning about our rates and sessions. We\u2019ll also provide you with a list of what we will need you to bring on your first visit. Learn about what you can expect from the IPA experience! [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-25","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/pages\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":46,"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":426,"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/pages\/25\/revisions\/426"}],"wp:attachment":[{"href":"https:\/\/ipaphysio.arelidev.com\/orange-county\/wp-json\/wp\/v2\/media?parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}