{"id":2939,"date":"2024-11-13T15:58:59","date_gmt":"2024-11-13T15:58:59","guid":{"rendered":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/?post_type=avada_portfolio&#038;p=2939"},"modified":"2025-09-09T16:05:21","modified_gmt":"2025-09-09T16:05:21","slug":"thurston-county","status":"publish","type":"avada_portfolio","link":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/portfolio-items\/thurston-county\/","title":{"rendered":"Thurston County, WA"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--link_hover_color: #434549;--link_color: #141617;--awb-border-sizes-top:0px;--awb-border-sizes-bottom:0px;--awb-border-sizes-left:0px;--awb-border-sizes-right:0px;--awb-border-color:#fcf4ec;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:19px;--awb-padding-right:30px;--awb-padding-bottom:0px;--awb-padding-left:30px;--awb-padding-top-small:60px;--awb-padding-bottom-small:60px;--awb-margin-top:-50px;--awb-margin-bottom:0px;--awb-background-color:#fcf4ec;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1170px + 100px );margin-left: calc(-100px \/ 2 );margin-right: calc(-100px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-animated\" style=\"--awb-padding-right:58px;--awb-padding-left:55px;--awb-padding-right-small:2px;--awb-padding-left-small:0px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:16px;--awb-spacing-left-large:0px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:50px;--awb-margin-bottom-small:44px;--awb-spacing-left-small:50px;\" data-animationType=\"fadeInUp\" data-animationDuration=\"1.3\" data-animationOffset=\"top-into-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div ><a class=\"fusion-button button-3d button-large button-custom fusion-button-default button-1 fusion-button-default-span \" style=\"--button_bevel_color:var(--awb-color5);--button_bevel_color_hover:var(--awb-custom_color_12);--button_accent_color:var(--awb-color2);--button_border_color:var(--awb-color2);--button_accent_hover_color:var(--awb-color1);--button_border_hover_color:var(--awb-color1);--button_gradient_top_color:var(--awb-custom_color_4);--button_gradient_bottom_color:var(--awb-custom_color_4);--button_gradient_top_color_hover:var(--awb-custom_color_6);--button_gradient_bottom_color_hover:var(--awb-custom_color_6);\" target=\"_self\" data-hover=\"text_slide_up\" href=\"#yelp\"><span class=\"fusion-button-icon-divider button-icon-divider-left\"><i class=\"fa-yelp fab awb-button__icon awb-button__icon--default\" aria-hidden=\"true\"><\/i><\/span><div class=\"awb-button-text-transition \"><span class=\"fusion-button-text awb-button__text awb-button__text--default fusion-button-text-left\">Local Yelp Search<\/span><span class=\"fusion-button-text awb-button__text awb-button__text--default fusion-button-text-left\">Local Yelp Search<\/span><\/div><\/a><\/div><div class=\"fusion-title title fusion-title-1 fusion-title-center fusion-title-text fusion-title-size-one\" style=\"--awb-text-color:#141617;--awb-margin-top:2px;--awb-margin-bottom:-50px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:-20px;--awb-margin-left-small:0px;--awb-sep-color:#fcf4ec;--awb-font-size:65px;\"><div class=\"title-sep-container title-sep-container-left\"><div class=\"title-sep sep- sep-solid\" style=\"border-color:#fcf4ec;\"><\/div><\/div><span class=\"awb-title-spacer\"><\/span><h1 class=\"fusion-title-heading title-heading-center\" style=\"font-family:&quot;Unna&quot;;font-style:normal;font-weight:400;margin:0;text-transform:var(--awb-typography1-text-transform);font-size:1em;line-height:1.2;\"><h2 class=\"fusion-title-heading title-heading-left fusion-live-editable fusion-responsive-typography-calculated medium-editor-element\" role=\"textbox\" contenteditable=\"true\" spellcheck=\"true\" data-inline-parent-cid=\"10\" data-inline-override-color=\"text_color\" data-inline-override-font-size=\"font_size\" data-inline-override-line-height=\"line_height\" data-inline-override-letter-spacing=\"letter_spacing\" data-inline-override-tag=\"size\" data-toolbar=\"full\" data-param=\"element_content\" data-fontsize=\"26\" data-lineheight=\"28.8667px\" data-medium-editor-element=\"true\" aria-multiline=\"true\" data-medium-editor-editor-index=\"1\" data-placeholder=\"Your Content Goes Here\" data-medium-focused=\"true\"><strong>Thurston County, WA<\/strong><\/h2>\n<p>&nbsp;<\/p><\/h1><span class=\"awb-title-spacer\"><\/span><div class=\"title-sep-container title-sep-container-right\"><div class=\"title-sep sep- sep-solid\" style=\"border-color:#fcf4ec;\"><\/div><\/div><\/div><div class=\"fusion-text fusion-text-1 fusion-text-no-margin\" style=\"--awb-content-alignment:center;--awb-font-size:15px;--awb-line-height:24px;--awb-letter-spacing:0px;--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:#141617;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-text-font-family:&quot;Montserrat&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p style=\"text-align: left;\">Surrounded by the natural beauty of the Pacific Northwest, residents enjoy a mix of vibrant city life, suburban comfort, and outdoor adventure. With access to Puget Sound, scenic trails, and expansive parks, activities like kayaking, hiking, and biking are part of everyday life. A strong sense of community is reflected in local farmers\u2019 markets, arts festivals, and a thriving local food scene. The region offers excellent schools, diverse housing options, and a balance of rural charm and urban convenience. With easy access to both Seattle and Portland, as well as a growing economy and government hub, the area provides an ideal blend of opportunity, recreation, and quality living.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-animated\" style=\"--awb-padding-right:37px;--awb-padding-left:8px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:calc( 0.051 * calc( 100% - 100px ) );--awb-margin-bottom-large:80px;--awb-spacing-left-large:50px;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:calc( 0.153 * calc( 100% - 100px ) );--awb-spacing-left-medium:50px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:50px;--awb-margin-bottom-small:40px;--awb-spacing-left-small:50px;\" data-animationType=\"fadeInUp\" data-animationDuration=\"1.3\" data-animationOffset=\"top-into-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p><a href=\"http:\/\/www.ci.lacey.wa.us\"><strong>City of Lacey<\/strong><strong><br \/><\/strong><\/a>Nestled between lush forests and sparkling lakes, residents enjoy an active, outdoor-oriented lifestyle with abundant parks, trails, and recreational opportunities. A strong sense of community is reflected in local events, farmers&#8217; markets, and a welcoming atmosphere that appeals to families, professionals, and retirees alike. The area boasts excellent schools, modern shopping centers, and diverse dining options while maintaining a relaxed suburban feel. With easy access to Olympia, Joint Base Lewis-McChord, and major highways, commuting is convenient while still allowing for a peaceful, nature-filled environment. Whether exploring green spaces, enjoying waterfront activities, or taking part in community gatherings, the quality of life here is both fulfilling and well-balanced.<strong><\/p>\n<p><\/strong><a href=\"http:\/\/olympiawa.gov\"><strong>Olympia<\/strong><strong><br \/><\/strong><\/a>As the vibrant capital of Washington, residents enjoy a unique blend of cultural richness, outdoor beauty, and a strong sense of community. A thriving arts and music scene, locally owned shops, and farm-to-table restaurants contribute to a lively and eclectic downtown. With easy access to Puget Sound, scenic waterfront parks, and miles of hiking trails, outdoor enthusiasts can explore nature year-round. A commitment to sustainability and local agriculture is reflected in one of the state\u2019s best farmers&#8217; markets, where fresh, organic produce and handmade goods bring the community together. With excellent schools, a dynamic economy, and a welcoming atmosphere, the area offers an ideal balance of urban amenities and Pacific Northwest charm.<strong><\/p>\n<p><\/strong><a href=\"https:\/\/www.cityofrainierwa.org\/\"><strong>City of Rainier<\/strong><strong><br \/><\/strong><\/a>Surrounded by rolling hills, dense forests, and breathtaking views of Mount Rainier, residents enjoy a peaceful, small-town lifestyle with easy access to outdoor recreation. A strong sense of community is evident in local events, friendly neighbors, and support for small businesses. The nearby Yelm-Tenino Trail provides miles of scenic pathways for biking, running, and walking, making it easy to stay active while enjoying nature. With highly rated schools, quiet residential streets, and a relaxed pace of life, the area is ideal for families and retirees looking for a close-knit, rural atmosphere. Proximity to Olympia and Joint Base Lewis-McChord ensures that city conveniences and employment opportunities are within easy reach while maintaining a tranquil and picturesque setting.<strong><\/p>\n<p><\/strong><a href=\"https:\/\/cityoftenino.us\/\"><strong>City of Tenino<\/strong><strong><br \/><\/strong><\/a>Steeped in history and surrounded by natural beauty, residents enjoy a charming small-town atmosphere with a strong sense of community. The historic downtown, known for its sandstone architecture, features locally owned shops, cozy caf\u00e9s, and a welcoming environment. Outdoor enthusiasts appreciate the scenic trails, nearby parks, and the refreshing Quarry Pool, a unique swimming spot carved from an old rock quarry. Regular farmers&#8217; markets, festivals, and community events bring neighbors together, fostering a close-knit and friendly vibe. With affordable housing, great schools, and an easy commute to Olympia, the area provides a perfect blend of rural charm and modern convenience for families, retirees, and anyone seeking a slower-paced lifestyle.<strong><\/p>\n<p><\/strong><a href=\"https:\/\/www.ci.tumwater.wa.us\/\"><strong>City of Tumwater<\/strong><strong><br \/><\/strong><\/a>Rich in history and natural beauty, residents enjoy a balanced lifestyle with a mix of outdoor recreation, small-town charm, and urban convenience. Scenic parks, waterfalls, and trails along the Deschutes River provide endless opportunities for hiking, biking, and picnicking. A strong sense of community is reflected in local events, farmers&#8217; markets, and family-friendly activities that bring neighbors together. The area offers excellent schools, a thriving local economy, and a variety of housing options, making it an attractive choice for families and professionals. With close proximity to Olympia and easy access to major highways, commuting is simple while still enjoying the relaxed and picturesque surroundings.<strong><\/p>\n<p><\/strong><a href=\"https:\/\/www.ci.yelm.wa.us\/\"><strong>City of Yelm<\/strong><\/a> <strong><br \/><\/strong>Surrounded by stunning views of Mount Rainier and vast open spaces, residents enjoy a perfect mix of small-town charm and modern conveniences. A strong sense of community is evident in local events, farmers&#8217; markets, and family-friendly festivals that bring neighbors together. The area boasts excellent schools, affordable housing, and easy access to outdoor activities like hiking, fishing, and horseback riding. The Yelm-Tenino Trail provides miles of scenic pathways for biking and walking, making it easy to stay active while enjoying nature. With a growing economy, new businesses, and a convenient location near Joint Base Lewis-McChord and Olympia, the town offers a welcoming atmosphere and a well-rounded lifestyle for families, professionals, and retirees alike.<strong><\/p>\n<p><\/strong><\/p>\n<\/div><\/div><\/div><\/div><\/div><div id=\"yelp\" class=\"fusion-container-anchor\"><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:26px;--awb-flex-wrap:wrap;--awb-flex-wrap-small:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-2 fusion-title-center fusion-title-text fusion-title-size-one\" style=\"--awb-text-color:var(--awb-custom_color_4);--awb-margin-bottom:-10px;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><div class=\"title-sep-container title-sep-container-left\"><div class=\"title-sep sep- sep-solid\" style=\"border-color:var(--awb-color3);\"><\/div><\/div><span class=\"awb-title-spacer\"><\/span><h1 class=\"fusion-title-heading title-heading-center\" style=\"margin:0;\"><h1 style=\"text-align: center;\">Local Activities &amp; Information<\/h1><\/h1><span class=\"awb-title-spacer\"><\/span><div class=\"title-sep-container title-sep-container-right\"><div class=\"title-sep sep- sep-solid\" style=\"border-color:var(--awb-color3);\"><\/div><\/div><\/div><div class=\"fusion-text fusion-text-3\"><p style=\"text-align: center;\"><span style=\"color: var(--awb-custom_color_5);\">Use the search box below to find listings on anything from Restaurants and Coffee Shops, to Grocery Stores, Schools and much more.<br \/>\nThe <\/span><b style=\"color: var(--awb-custom_color_5);\">More<\/b><span style=\"color: var(--awb-custom_color_5);\"> menu will give you some options as well. <\/span><\/p>\n<\/div><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Yelp Store Locator<\/title>\n<style>\nbody {\n    font-family: Arial, sans-serif;\n    margin: 0;\n    padding: 0;\n    background: #f8f8f8; \/* Slight grey background *\/\n}\n\n\/* Flex container for the whole page content *\/\n.form-wrapper {\n    display: flex;\n    justify-content: space-around; \/* Evenly distribute space around items *\/\n    flex-wrap: wrap; \/* Allow items to wrap if not enough space *\/\n    margin: 20px;\n}\n\n\/* Search form and results container *\/\n.form-wrapper .form-container {\n    flex-basis: 47%;\n    margin-bottom: 20px;\n}\n\n\/* Search bar at the top *\/\n.search-top {\n    margin-top: 20px;\n}\n.search-bar {\n    max-width: 1024px;\n    padding:0 20px;\n    padding: 10px;\n    border-radius: 4px;\n    margin: 0 auto 20px;\n}\n.search-bar #searchForm {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: rgba(0,0,0,0.15) 0px 2px 18px 0px;\n}\n.search-field {\n    flex: 1;\n}\n.search-field.desc {\n    position: relative;\n}\n.search-field.desc::after {\n    content: '';\n    position: absolute;\n    top: 10px;\n    bottom: 10px;\n    right: 0;\n    width: 2px;\n    background-color: rgba(0, 0, 0, 0.2);\n}\n#searchForm .search-field input {\n    border: 0;\n  \n}\n.search-field.category-dropdown select {\n    width: auto;\n    background: transparent;\n    margin-top:15px;\n}\n.search-field input[type=\"text\"],\n.search-field select {\n    width: 100%; \/* Full width of parent *\/\n    padding: 15px 10px;\n    border: 1px solid #ddd;\n    font-size: 14px;\n    box-sizing: border-box;\n}\n\n\/* Search button styling *\/\n.search-button button {\n    padding: 17px 20px;\n    background-color: #ff0000; \/* Yelp red *\/\n    color: #fff;\n    border: none;\n    border-radius: 4px;\n    cursor: pointer;\n    text-transform: uppercase;\n    font-weight: bold;\n}\n\n\/* Style the pagination buttons *\/\n.pagination{\n    border-top: 1px solid #e3d8d8;\n    padding: 15px 0;\n    margin-top: 20px;\n    border-bottom: 1px solid #e3d8d8;\n}\n\n\n.pagination button {\n    background: none;\n    padding: 5px 10px;\n    border-radius: 4px;\n    margin-right: 5px;\n    border: none;\n    cursor: pointer;\n    font-size: 16px;\n}\n\n.pagination button.active,\n.pagination button:hover {\n    font-weight: bold;\n}\n\n\/* Map container styling *\/\n#map {\n    flex: 1;\n    height: 700px; \/* Adjusted height for consistency *\/\n    border-radius: 4px; \/* Rounded corners *\/\n    overflow: hidden; \/* Clip the content *\/\n    margin-left: 20px; \/* Space from the form container *\/\n}\n\n\/* Search results card styles *\/\n.card {\n    display: flex;\n    background: #fff;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n    border-radius: 4px;\n    overflow: hidden;\n    align-items: center;\n    padding: 0 15px;\n    border-bottom: 1px solid #eee;\n}\n\n.card img {\n    width: 200px; \/* Slightly smaller images *\/\n    height: 200px;\n    object-fit: cover;\n}\n\n.card-content {\n    padding: 15px;\n    flex-grow: 1;\n}\n\n\/* Loader style adjustments *\/\n#loader {\n    display: none; \/* Hide by default, show when loading *\/\n    position: fixed; \/* Or absolute, depending on use-case *\/\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    text-align: center;\n}\n\n#loader img {\n    width: 50px; \/* Adjust as needed *\/\n    height: 50px; \/* Adjust as needed *\/\n    \/* Animation for spinning *\/\n    animation: spin 1s linear infinite;\n}\n\n\/* Loader animation *\/\n@keyframes spin {\n    0% { transform: translate(-50%, -50%) rotate(0deg); }\n    100% { transform: translate(-50%, -50%) rotate(360deg); }\n}\n\n@media (max-width: 768px) {\n    .form-wrapper {\n        flex-direction: column; \/* Stack on smaller screens *\/\n    }\n\n    .form-container,\n    #map {\n        width: 100%;\n        max-width: none;\n        margin-left: 0; \/* Remove margin for full width *\/\n    }\n\n    #map {\n        order: -1; \/* Map comes before search results on small screens *\/\n    }\n}\n\n\/* Add responsive design for very small screens *\/\n@media (max-width: 480px) {\n    .search-bar {\n        flex-direction: column; \/* Stack form fields vertically *\/\n    }\n\n    .search-field,\n    .search-button button {\n        width: 100%; \/* Full width for small screens *\/\n        margin: 5px 0; \/* Add space between stacked items *\/\n    }\n}\n\n\/* Style the dropdown button *\/\n.dropbtn {\n    background-color: transparent;\n    color: black;\n    padding: 16px;\n    font-size: 16px;\n    border: none;\n    cursor: pointer;\n}\n\n\/* The container <div> - needed to position the dropdown content *\/\n.dropdown {\n    position: relative;\n    display: inline-block;\n    margin: 10px 0;\n}\n\n\/* Dropdown Content (Hidden by Default) *\/\n.dropdown-content {\n    display: none;\n    position: absolute;\n    background-color: #f9f9f9;\n    min-width: 240px;\n    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n    z-index: 1;\n    gap: 20px;\n    padding: 0 10px;\n}\n\n\/* Links inside the dropdown *\/\n.dropdown-content span {\n    color: black;\n    padding: 16px 0;\n    text-decoration: none;\n    display: flex;\n    align-items: center;\n    cursor: pointer;\n}\n\n.dropdown-content .flex-links{\n        padding: 12px 0\n}\n\n\/* Icon styling *\/\n.icon {\n    margin-right: 10px;\n    \/* You can use SVGs or Font Icons like FontAwesome, or background-image with sprites *\/\n}\n\n\/* Change color of dropdown links on hover *\/\n.dropdown-content span:hover {background-color: #ddd;}\n\n\/* Show the dropdown menu on hover *\/\n.dropdown:hover .dropdown-content {\n    \/* display: block; *\/\n    display: flex;\n}\n\n\/* Show the dropdown menu on focus *\/\n.dropdown:focus-within .dropdown-content {\n    display: block;\n}\n\n\/* Other styles for icons can be added here, using the specific class names *\/\n.dry-cleaning-icon {\n    \/* Add background-image or other styling for the dry cleaning icon *\/\n}\n\n.pagination, #loader {\n    display: none; \/* Hidden by default *\/\n}\n\n.autocomplete-results {\n    display: none;\n    position: absolute;\n    background: white;\n    border: 1px solid #ddd;\n    border-top: none;\n    z-index: 2;\n    width: 100%;\n    box-sizing: border-box;\n}\n\n.autocomplete-suggestion {\n    padding: 10px;\n    border-bottom: 1px solid #ddd;\n    cursor: pointer;\n}\n\n.autocomplete-suggestion:last-child {\n    border-bottom: none;\n}\n\n.autocomplete-suggestion:hover {\n    background-color: #f8f8f8;\n}\n\n\n\/* Similarly add specific icon styles for other menu items *\/\n<\/style>\n<\/head>\n<body>\n<div class=\"search-top\">\n    <div class=\"search-bar\">\n        <form id=\"searchForm\" action=\"\/yelp-store-locator\" method=\"get\">\n            <div class=\"search-field desc\">\n                <input type=\"text\" id=\"searchDescription\" name=\"searchDescription\" placeholder=\"Search description\">\n                <div id=\"autocomplete-results\" class=\"autocomplete-results\"><\/div>\n            <\/div>\n            \n            <div class=\"search-field location\">\n                <input type=\"text\" id=\"locationQuery\" name=\"location\" placeholder=\"Enter search location\" value=\"Thurston County, WA\" required>\n            <\/div>\n            <div class=\"search-button\">\n                <button type=\"submit\">Search<\/button>\n            <\/div>\n        <\/form>\n\n        <div class=\"dropdown\">\n            <span class=\"dropbtn\">More \u25bc<\/span>\n            <div class=\"dropdown-content\">\n                <div class=\"flex-links\">\n                    <span>\n                        <i class=\"icon dry-cleaning-icon\"><\/i> Restaurants\n                    <\/span>\n                    <span>\n                        <i class=\"icon hair-salons-icon\"><\/i> Coffee Shops\n                    <\/span>\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Grocery Stores\n                    <\/span>\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Nightlife\n                    <\/span>\n                <\/div>\n                <div class=\"flex-links\">\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Medical\n                    <\/span>\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Activities\n                    <\/span>\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Schools\n                    <\/span>\n                    <span>\n                        <i class=\"icon phone-repair-icon\"><\/i> Hair Salon\n                    <\/span>\n                <\/div>\n                <!-- Add other menu items here -->\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"form-wrapper\">\n    <div class=\"form-container\">\n        <div id=\"searchResults\"><\/div>\n        <div class=\"pagination\"><\/div>\n    <\/div>\n    <!-- Map Container -->\n    <div id=\"map\"><\/div>\n<\/div>\n\n<!-- Loader HTML -->\n<!-- <div id=\"loader\">Loading...<\/div> -->\n<div id=\"loader\">\n    <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-orig-src=\"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-content\/plugins\/yelp-store-locator\/assets\/images\/loader.png\" alt=\"Loading...\" \/>\n<\/div>\n\n\n<script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js\"><\/script>\n<script>\n    $(document).ready(function () {\n        var yelpAutocompleteUrl = \"https:\/\/api.yelp.com\/v3\/autocomplete\";\n\n        $('#searchDescription').on('input', function() {\n            var searchText = $(this).val();\n        \n            \/\/ Make sure the search text is not empty\n            if (searchText.length > 0) {\n                $.ajax({\n                    url: '\/wp-content\/plugins\/yelp-store-locator\/proxy\/yelp-autocomplete-proxy.php',\n                    method: 'GET',\n                    data: {\n                        text: searchText \/\/ text entered by the user\n                    },\n                    success: function(data) {\n                        \/\/ Clear previous suggestions\n                        $('#autocomplete-results').empty();\n                        \n                        \/\/ Process the response and append suggestions\n                        if(data.terms && data.terms.length > 0) {\n                            data.terms.forEach(function(term) {\n                                $('#autocomplete-results').append('<div class=\"autocomplete-suggestion\">' + term.text + '<\/div>');\n                            });\n                            $('#autocomplete-results').show();\n                        }\n                    },\n                    error: function(jqXHR, textStatus, errorThrown) {\n                        console.error(\"Error with Autocomplete API:\", textStatus, errorThrown);\n                    }\n                });\n            } else {\n                \/\/ If the search text is empty, clear and hide suggestions\n                $('#autocomplete-results').empty().hide();\n            }\n        });\n\n        \/\/ Listener for clicking on an autocomplete suggestion\n        $('#autocomplete-results').on('click', '.autocomplete-suggestion', function() {\n            \/\/ Set the input to the clicked suggestion and hide suggestions\n            $('#searchDescription').val($(this).text());\n            $('#autocomplete-results').empty().hide();\n        });\n    \n        \/\/ Initially hide pagination and loader\n        $('.pagination').hide();\n        $('#loader').hide();\n\n        var map; \/\/ Declare map variable globally\n        var markers = []; \/\/ Array to store markers\n        var currentPage = 1;\n        var resultsPerPage = 5;\n        var totalResults = 0;\n\n        \/\/ Event handler for category selection\n        $('.dropdown-content span').on('click', function() {\n            \/\/ Get the text of the clicked category\n            var categoryText = $(this).text().trim();\n\n            \/\/ Set the value of the searchDescription input\n            $('#searchDescription').val(categoryText);\n\n            \/\/ Close the dropdown if needed\n            $('.dropdown-content').hide();\n\n            \/\/ Optionally, you could submit the form automatically after selection\n            \/\/ $('#searchForm').submit();\n        });\n\n        \/\/ Toggle dropdown content on click\n        $('.dropbtn').on('click', function() {\n            \/\/ Use slideToggle for a simple animation\n            $('.dropdown-content').slideToggle();\n        });\n\n        \/\/ Close the dropdown if clicked outside\n        $(document).on('click', function(e) {\n            if (!$(e.target).closest('.dropdown').length) {\n                $('.dropdown-content').hide();\n            }\n        });\n\n        \/\/ Populate search description initially\n        $('#searchDescription').val($('#category').find('option:selected').text());\n\n        \/\/ Update search description when category changes\n        $('#category').change(function() {\n            $('#searchDescription').val($(this).find('option:selected').text());\n        });\n\n        \/\/ Check if the location is provided and trigger search\n        if ($('#locationQuery').val() !== '') {\n            setTimeout(function() {\n                $('#searchForm').submit();\n            }, 500);\n        }\n\n        $('#searchForm').submit(function (event) {\n            event.preventDefault();\n            $('#loader').show(); \/\/ Show loader here when the search starts\n            $('.pagination').hide(); \/\/ Hide pagination during loading\n\n            var locationQuery = $('#locationQuery').val();\n            \/\/ Use the value from the search description input\n            var searchDescription = $('#searchDescription').val();\n            var apiUrl = 'https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-content\/plugins\/yelp-store-locator\/proxy\/proxy.php?location=' + encodeURIComponent(locationQuery) + '&term=' + encodeURIComponent(searchDescription);\n\n            \/\/ Hide search results and map\n            $('#searchResults').hide();\n            $('#map').hide();\n            \/\/ Show loader before making the API request\n            $('#loader').show();\n\n            fetch(apiUrl)\n            .then(response => {\n                if (!response.ok) {\n                    throw new Error('Network response was not ok');\n                }\n                return response.json(); \/\/ Parse JSON response\n            })\n            .then(data => {\n                if (data && data.businesses && data.businesses.length > 0) {\n                    $('.pagination').show();\n                } else {\n                    $('.pagination').hide();\n                }\n                $('#loader').hide(); \/\/ Hide loader after data is processed\n                \/\/ ...Display results...\n                totalResults = data.businesses.length;\n\n                \/\/ Clear previous search results\n                $('#searchResults').empty();\n\n                \/\/ Initialize map\n                map = new google.maps.Map(document.getElementById('map'), {\n                    center: { lat: 0, lng: 0 }, \/\/ Default center\n                    zoom: 12 \/\/ Default zoom level\n                });\n\n                \/\/ Clear previous markers\n                markers.forEach(marker => marker.setMap(null));\n                markers = [];\n\n                \/\/ Create a LatLngBounds object to encompass all markers\n                var bounds = new google.maps.LatLngBounds();\n\n                \/\/ Calculate pagination values\n                var startIndex = (currentPage - 1) * resultsPerPage;\n                var endIndex = startIndex + resultsPerPage;\n                endIndex = endIndex > totalResults ? totalResults : endIndex;\n\n                \/\/ Iterate over each business in the response data for the current page\n                for (var i = startIndex; i < endIndex; i++) {\n                    var business = data.businesses[i];\n\n                    \/\/ Create card element to display business information\n                    var cardHtml = '<div class=\"card\">';\n                    cardHtml += '<img class=\"lazyload\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-orig-src=\"' + business.image_url + '\" alt=\"' + business.name + '\">';\n                    cardHtml += '<div class=\"card-content\">';\n                    cardHtml += '<h3><a href=\"' + business.url + '\">' + business.name + '<\/a><\/h3>';\n                    cardHtml += '<p><strong>Rating:<\/strong> ' + business.rating + '<\/p>';\n                    cardHtml += '<p><strong>Review Count:<\/strong> ' + business.review_count + '<\/p>';\n                    if (business.categories.length > 0) {\n                        cardHtml += '<p><strong>Category:<\/strong> ' + business.categories[0].title + '<\/p>';\n                    }\n                    cardHtml += '<p><strong>Address:<\/strong> ' + business.location.address1 + ', ' + business.location.city + ', ' + business.location.state + ' ' + business.location.zip_code + '<\/p>';\n                    cardHtml += '<p><strong>Phone:<\/strong> ' + business.display_phone + '<\/p>';\n                    cardHtml += '<\/div><\/div>';\n\n                    \/\/ Append the card HTML to the searchResults div\n                    $('#searchResults').append(cardHtml);\n\n                    \/\/ Display coordinates if available\n                    if (business.coordinates) {\n                        \/\/ Add marker to the map for each business\n                        var marker = new google.maps.Marker({\n                            position: { lat: business.coordinates.latitude, lng: business.coordinates.longitude },\n                            map: map,\n                            title: business.name\n                        });\n\n                        markers.push(marker);\n\n                        \/\/ Extend the bounds to include the marker's position\n                        bounds.extend(marker.getPosition());\n                    }\n                }\n\n                \/\/ Adjust map bounds to fit all markers\n                map.fitBounds(bounds);\n\n                \/\/ Hide loader after request is completed\n                $('#loader').hide();\n                \/\/ Show search results and map\n                $('#searchResults').show();\n                $('#map').show();\n\n                \/\/ Generate pagination controls\n                generatePaginationControls();\n            })\n            .catch(error => {\n                console.error('There was a problem with the fetch operation:', error);\n\n                $('#loader').hide(); \/\/ Ensure to hide loader on error as well\n                $('.pagination').hide(); \/\/ Hide pagination if there's an error\n                \/\/ Show search results and map\n                $('#searchResults').show();\n                $('#map').show();\n            });\n        });\n\n        \/\/ Function to generate pagination controls\n        function generatePaginationControls() {\n            var totalPages = Math.ceil(totalResults \/ resultsPerPage);\n            $('.pagination').empty();\n\n            for (var i = 1; i <= totalPages; i++) {\n                var button = $('<button>').text(i);\n                if (i === currentPage) {\n                    button.addClass('active');\n                }\n                button.click(function() {\n                    currentPage = parseInt($(this).text());\n                    $('#searchForm').submit();\n                });\n                $('.pagination').append(button);\n            }\n        }\n    });\n<\/script>\n\n<!-- Include Google Maps JavaScript API with your API key -->\n<script async defer src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDdc1Kke8as6XyfJRAv1veZfIqxp-ioDMo&callback=initMap\"><\/script>\n\n<\/body>\n<\/html>\n<\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":3059,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"portfolio_category":[35],"portfolio_skills":[],"portfolio_tags":[],"class_list":["post-2939","avada_portfolio","type-avada_portfolio","status-publish","format-standard","has-post-thumbnail","hentry","portfolio_category-city-of-phoenix"],"_links":{"self":[{"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/avada_portfolio\/2939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/avada_portfolio"}],"about":[{"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/types\/avada_portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/comments?post=2939"}],"version-history":[{"count":5,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/avada_portfolio\/2939\/revisions"}],"predecessor-version":[{"id":3061,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/avada_portfolio\/2939\/revisions\/3061"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/media\/3059"}],"wp:attachment":[{"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/media?parent=2939"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/portfolio_category?post=2939"},{"taxonomy":"portfolio_skills","embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/portfolio_skills?post=2939"},{"taxonomy":"portfolio_tags","embeddable":true,"href":"https:\/\/sunraycityguide.com\/SeattleWA-Windermere\/wp-json\/wp\/v2\/portfolio_tags?post=2939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}