{"id":2736,"date":"2024-04-23T17:01:40","date_gmt":"2024-04-23T17:01:40","guid":{"rendered":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/?post_type=avada_portfolio&#038;p=2736"},"modified":"2024-08-13T15:55:48","modified_gmt":"2024-08-13T15:55:48","slug":"franklin-county","status":"publish","type":"avada_portfolio","link":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/portfolio-items\/franklin-county\/","title":{"rendered":"Franklin County, MA"},"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>Franklin County, MA<\/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;\">Franklin County, MA, offers a charming blend of rural tranquility and vibrant community life, making it an ideal place to call home. Nestled in the picturesque Pioneer Valley, residents enjoy a relaxed pace amidst stunning natural beauty, with rolling hills, lush forests, and the scenic Connecticut River winding through the landscape. The county&#8217;s strong agricultural heritage is evident in its thriving farmers&#8217; markets and farm-to-table dining options, fostering a healthy and sustainable lifestyle. Cultural richness thrives here too, with a lively arts scene, historic villages, and numerous festivals celebrating local music, art, and heritage. Whether exploring outdoor adventures in its extensive trail systems or engaging in community gatherings, Franklin County promises a fulfilling and peaceful quality of life for all who choose to settle in its welcoming communities.<\/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=\"https:\/\/www.deerfieldma.us\/\"><strong>Deerfield<\/strong><\/a><a href=\"https:\/\/www.deerfieldma.us\/\"><br \/><\/a>Nestled within the serene landscapes of Franklin County, this historic town offers a quintessential New England charm that attracts residents seeking a tranquil and enriching lifestyle. Surrounded by rolling hills and picturesque farmland, Deerfield boasts a rich cultural heritage showcased through its beautifully preserved colonial architecture and museums like Historic Deerfield, which bring the town&#8217;s past to life. The community thrives on a strong sense of local pride and neighborly camaraderie, evident in its vibrant community events, farmers&#8217; markets, and local artisan shops. With access to outdoor recreational activities along the nearby Connecticut River and a commitment to preserving its natural beauty, Deerfield provides a unique blend of small-town charm and modern amenities, making it an inviting and desirable place to call home.<\/p>\n<p><a href=\"https:\/\/www.erving-ma.gov\/\"><strong>Erving<\/strong><\/a><strong><br \/><\/strong>Nestled in scenic Franklin County, MA, Erving embodies the essence of small-town charm and community spirit, making it a highly desirable place to live. Surrounded by the natural beauty of the Pioneer Valley, residents enjoy easy access to outdoor activities such as hiking, boating, and fishing at nearby Lake Hitchcock and the Millers River. The town&#8217;s historic roots are evident in its well-preserved architecture and local landmarks, contributing to its unique character and sense of identity. Erving fosters a strong sense of community through local events, farmer&#8217;s markets, and neighborhood gatherings, where residents come together to celebrate their shared interests and values. With its serene surroundings, rich history, and close-knit community atmosphere, Erving offers a peaceful and fulfilling quality of life for individuals and families seeking a welcoming place to call home.<\/p>\n<p><a href=\"https:\/\/www.gillmass.org\/\"><strong>Gill<\/strong><\/a><br \/>Set amidst the lush landscapes of Franklin County, MA, Gill offers an ideal blend of rural tranquility and community warmth, making it an appealing place to call home. Surrounded by rolling hills and scenic vistas, the town provides ample opportunities for outdoor enthusiasts with its extensive hiking trails and access to fishing along the Connecticut River. Gill&#8217;s rich agricultural history is evident in its local farms and farmers&#8217; markets, promoting a sustainable lifestyle and fresh, locally sourced produce. The community spirit thrives through a calendar of events that includes festivals, fairs, and community gatherings, fostering strong bonds among residents. With its serene environment, cultural richness, and friendly atmosphere, Gill provides a perfect retreat for those seeking a peaceful yet vibrant community to settle down and thrive.<br \/><strong><br \/><\/strong><a href=\"https:\/\/greenfield-ma.gov\/\"><strong>Greenfield<\/strong><\/a><a href=\"https:\/\/greenfield-ma.gov\/\"><br \/><\/a>Located in Franklin County, MA, Greenfield offers a dynamic blend of urban conveniences and natural beauty, making it an attractive destination for residents seeking a balanced lifestyle. Situated amidst the scenic Pioneer Valley, the town boasts easy access to outdoor activities such as hiking, biking, and exploring nearby state parks. Greenfield&#8217;s vibrant downtown area features a variety of local shops, restaurants, and cultural venues, enhancing its appeal as a hub of community life and entertainment. The town prioritizes sustainability and community engagement through initiatives like farmers&#8217; markets and community gardens, fostering a sense of environmental stewardship among its residents. With its historical charm, diverse amenities, and strong community spirit, Greenfield provides a welcoming and enriching environment for individuals and families looking to call this vibrant town their home.<\/p>\n<p><a href=\"https:\/\/www.leverett.ma.us\/\"><strong>Leverett<\/strong><\/a><a href=\"https:\/\/www.leverett.ma.us\/\"><br \/><\/a>in the picturesque surroundings of Franklin County, MA, Leverett offers a serene and enriching environment that appeals to residents seeking a peaceful retreat with close-knit community ties. Surrounded by rolling hills and scenic vistas, the town provides ample opportunities for outdoor recreation, including hiking, birdwatching, and exploring the nearby conservation areas and trails. Leverett&#8217;s commitment to sustainability is evident through its emphasis on local agriculture, community-supported agriculture (CSA) programs, and eco-friendly practices. The town&#8217;s strong sense of community is nurtured through local events, cultural activities, and a shared dedication to preserving its natural beauty and historical heritage. With its tranquil setting, active community engagement, and access to both rural charm and modern amenities, Leverett offers an ideal place for individuals and families seeking a harmonious and fulfilling lifestyle.<\/p>\n<p><a href=\"https:\/\/montague-ma.gov\/p\/16\/Millers-Falls\"><strong>Millers Falls<\/strong><\/a><strong><br \/><\/strong>Located in the town of Montague within Franklin County, MA, Millers Falls is a census-designated place (CDP) that embodies the essence of a tranquil yet vibrant community. Nestled amidst the picturesque Pioneer Valley, this historic village offers residents easy access to a wealth of outdoor recreational activities, from hiking trails to fishing spots along the nearby Connecticut River. The community prides itself on its strong sense of belonging, fostered through local events, farmers&#8217; markets, and neighborhood gatherings. Along its charming Main Street, residents enjoy a variety of local businesses that contribute to the area&#8217;s convenience and local charm. With its rich history, natural beauty, and welcoming atmosphere, Millers Falls in Montague provides an ideal blend of rural serenity and modern comforts for residents seeking a peaceful and fulfilling lifestyle.<\/p>\n<p><a href=\"https:\/\/montague-ma.gov\/\"><strong>Montague<\/strong><\/a><br \/>Located in picturesque Franklin County, Massachusetts, Montague offers a diverse and enriching environment that appeals to residents seeking a blend of rural charm and modern conveniences. The town is renowned for its natural beauty, with expansive forests, scenic rivers, and abundant outdoor recreational opportunities such as hiking, biking, and fishing. Montague&#8217;s historic villages, each with its own distinct character and architecture, showcase the town&#8217;s rich cultural heritage and provide a backdrop for community events and festivals throughout the year. Residents enjoy a strong sense of community fostered through local schools, libraries, and community centers, as well as active participation in local government and initiatives. With its scenic landscapes, cultural vibrancy, and strong community ties, Montague offers a welcoming and fulfilling place to live for individuals and families seeking a balanced and connected lifestyle.<\/p>\n<p><a href=\"https:\/\/www.newsalemma.org\/\"><strong>New Salem<\/strong><\/a><br \/>Situated in scenic Franklin County, Massachusetts, New Salem offers a picturesque and serene environment that appeals to those seeking a peaceful and connected community atmosphere. Surrounded by rolling hills and lush forests, the town provides abundant opportunities for outdoor enthusiasts, including hiking, birdwatching, and exploring the nearby Quabbin Reservoir. New Salem&#8217;s historical charm is evident in its well-preserved architecture and local landmarks, contributing to its unique character and sense of history. The town fosters a strong sense of community through local events, farmer&#8217;s markets, and neighborhood gatherings, where residents come together to celebrate their shared interests and values. With its tranquil environment, natural beauty, and tight-knit community spirit, New Salem offers an ideal setting for individuals and families looking to settle into a harmonious and enriching lifestyle.<\/p>\n<p><a href=\"https:\/\/www.northfieldma.gov\/\"><strong>Northfield<\/strong><\/a><br \/>Situated in picturesque Franklin County, Massachusetts, Northfield offers a charming blend of rural tranquility and community vibrancy that makes it an appealing place to live. Surrounded by rolling hills and scenic countryside, the town provides ample opportunities for outdoor activities such as hiking, biking, and exploring nearby state parks and conservation areas. Northfield&#8217;s historical significance is evident in its well-preserved architecture, including the historic district and the nearby Northfield Mount Hermon School campus, which enriches the cultural fabric of the community. The town nurtures a strong sense of community through local events, farmer&#8217;s markets, and cultural festivals that bring residents together to celebrate shared interests and foster connections. With its scenic landscapes, rich history, and welcoming community spirit, Northfield offers a peaceful and fulfilling environment for individuals and families looking to call this vibrant town home.<\/p>\n<p><a href=\"https:\/\/www.townoforange.org\/\"><strong>Orange<\/strong><\/a><br \/>Located in Franklin County, Massachusetts, Orange offers a blend of small-town charm and natural beauty that makes it an attractive place to live. Surrounded by scenic landscapes and close to the Mohawk Trail State Forest, residents enjoy abundant outdoor activities such as hiking, fishing, and skiing during the winter months. The town&#8217;s historic downtown area features local shops, restaurants, and cultural attractions, contributing to a vibrant community life. Orange fosters a strong sense of community through events like the Orange Innovation Center&#8217;s workshops and the annual Orange International Street Fair, showcasing the town&#8217;s diverse cultural heritage. With its welcoming atmosphere, scenic surroundings, and active community engagement, Orange provides a fulfilling and enjoyable environment for individuals and families seeking a balanced and enriching lifestyle.<\/p>\n<p><a href=\"https:\/\/www.shutesbury.org\/\"><strong>Shutesbury<\/strong><\/a><br \/>Located in Franklin County, Massachusetts, Shutesbury offers a tranquil and scenic environment that appeals to residents seeking a peaceful and close-knit community atmosphere. Surrounded by rolling hills and lush forests, the town provides ample opportunities for outdoor activities such as hiking, birdwatching, and exploring the nearby conservation areas. Shutesbury&#8217;s commitment to sustainability is evident through its emphasis on local agriculture, community-supported agriculture (CSA) programs, and environmental initiatives. The town fosters a strong sense of community through local events, cultural activities, and a cooperative spirit among its residents. With its serene surroundings, dedication to environmental stewardship, and vibrant community life, Shutesbury provides an ideal setting for individuals and families looking to enjoy a balanced and fulfilling quality of life.<\/p>\n<p><a href=\"https:\/\/www.townofsunderland.us\/\"><strong>Sunderland<\/strong><\/a><br \/>Sunderland offers a picturesque setting that combines rural charm with modern amenities, making it a desirable place to call home. Surrounded by sweeping farmlands and scenic views of the Connecticut River Valley, the town provides a peaceful environment perfect for outdoor enthusiasts, with hiking trails, boating opportunities, and agricultural fairs showcasing its rich farming heritage. Sunderland&#8217;s historic downtown features local businesses, restaurants, and community events that contribute to its vibrant atmosphere and close-knit community spirit. Residents enjoy a range of cultural activities, from art galleries to music festivals, enhancing the town&#8217;s appeal as a cultural hub. With its scenic beauty, strong community ties, and diverse recreational opportunities, Sunderland offers a welcoming and enriching environment for individuals and families seeking a balanced and fulfilling lifestyle.<\/p>\n<p><a href=\"https:\/\/montague-ma.gov\/p\/14\/Turners-Falls\"><strong>Turners Falls<\/strong><\/a><strong><br \/><\/strong>As an unincorporated village and census-designated place in Montague, Franklin County, Massachusetts, Turners Falls offers a dynamic blend of history, culture, and community that makes it an appealing place to live. Situated along the scenic Connecticut River, the village provides stunning waterfront views and access to recreational activities like boating, fishing, and riverside walks. Turners Falls boasts a vibrant arts scene, with local galleries, theaters, and music venues contributing to its cultural richness. The village&#8217;s downtown area features a variety of shops, restaurants, and cafes, creating a bustling hub for residents and visitors alike. With its historical charm, diverse amenities, and strong community spirit demonstrated through events and festivals, Turners Falls provides a welcoming and engaging environment for individuals and families looking to call this lively village home.<br \/><strong><br \/><\/strong><a href=\"https:\/\/warwickma.org\/\"><strong>Warwick<\/strong><\/a><br \/>Embraced by rolling hills and expansive forests, Warwick, Massachusetts offers a serene and idyllic setting that attracts residents seeking a peaceful and connected community atmosphere. The town provides ample opportunities for outdoor activities such as hiking, fishing, and exploring the nearby Warwick State Forest, making it ideal for nature enthusiasts. Warwick&#8217;s historical charm is evident in its well-preserved architecture and local landmarks, which add to its unique character and sense of history. The community thrives on a strong sense of togetherness through local events, farmer&#8217;s markets, and neighborhood gatherings, where residents come together to celebrate shared interests and values. With its tranquil environment, natural beauty, and tight-knit community spirit, Warwick provides an ideal retreat for individuals and families looking to settle into a harmonious and enriching lifestyle in Franklin County, Massachusetts.<\/p>\n<p><a href=\"https:\/\/www.wendellmass.us\/\"><strong>Wendell<\/strong><\/a><br \/>Surrounded by the scenic beauty of Franklin County, Massachusetts, Wendell offers a tranquil and inviting atmosphere that appeals to residents seeking a serene and close-knit community. Set amidst rolling hills and lush forests, the town provides abundant opportunities for outdoor activities such as hiking, birdwatching, and exploring nearby conservation areas. Wendell&#8217;s commitment to sustainability is reflected in its support for local agriculture and community initiatives, promoting a healthy and eco-conscious lifestyle. The town&#8217;s strong sense of community is nurtured through local events, cultural activities, and cooperative efforts among its residents. With its peaceful surroundings, dedication to environmental stewardship, and vibrant community spirit, Wendell provides an ideal environment for individuals and families looking to enjoy a harmonious and fulfilling quality of life in rural Massachusetts.<\/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=\"Franklin County, MA\" 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\/Massachusetts-LeadingEdge\/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\/Massachusetts-LeadingEdge\/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":2895,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"portfolio_category":[35],"portfolio_skills":[],"portfolio_tags":[],"class_list":["post-2736","avada_portfolio","type-avada_portfolio","status-publish","format-standard","has-post-thumbnail","hentry","portfolio_category-city-of-phoenix"],"_links":{"self":[{"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/avada_portfolio\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/avada_portfolio"}],"about":[{"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/types\/avada_portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/comments?post=2736"}],"version-history":[{"count":7,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/avada_portfolio\/2736\/revisions"}],"predecessor-version":[{"id":2897,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/avada_portfolio\/2736\/revisions\/2897"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/media\/2895"}],"wp:attachment":[{"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/media?parent=2736"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/portfolio_category?post=2736"},{"taxonomy":"portfolio_skills","embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/portfolio_skills?post=2736"},{"taxonomy":"portfolio_tags","embeddable":true,"href":"https:\/\/sunraycityguide.com\/Massachusetts-LeadingEdge\/wp-json\/wp\/v2\/portfolio_tags?post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}