Skip to content
VIEW ALL HOMES

Model Homes Opening Spring 2026

All Homes Quick Move-In Single Family Townhomes Villas
$1,000,000
Bedrooms Any 2 3 4 5+
0 Results
Ready March 2025
Ashwell
Single Family

Ashwell

$800,000

Mariposa

David Weekley Homes

4 Beds | 3 Baths | 4165 sqft
1 OF 1
","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1754336924807,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":193934138533,"hs_initial_published_at":1754336953679,"hs_is_edited":false,"hs_name":"Adonis by Toll Brothers in Regency at EverRange","hs_path":"regency-adonis","hs_published_at":1758643352961,"hs_updated_at":1758643351709,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"the Low $500's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":500000,"property_name":"Adonis","quick_movein":0,"square_footage":1980,"visible_floorplan":0},{"active_adult":1,"baths":[{"createdAt":1743683345058,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"2","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780}],"bedrooms":[{"createdAt":1743683315360,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780}],"builder":{"createdAt":1743683243769,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Toll Brothers","labelTranslations":{},"name":"toll_brothers","order":7,"type":"option","updatedAt":1749668316569,"updatedByUserId":9347780},"featured_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABJ_TRN_FLN_2FE_9118_1.jpg","altText":"ABJ_TRN_FLN_2FE_9118_1","fileId":196430436668,"height":3300,"type":"image","width":6600},"floorplan_download_link":{"id":196430492288,"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/Blossom%20Floorplan.pdf","type":"file"},"floorplan_image_1":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABJ_TRN_FLN_2FE_9118_1.jpg","altText":"ABJ_TRN_FLN_2FE_9118_1","fileId":196430436668,"height":3300,"type":"image","width":6600},"floorplan_image_2":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABJ_MODR_FLN_2FE_9118_1.jpg","altText":"ABJ_MODR_FLN_2FE_9118_1","fileId":196428314722,"height":3300,"type":"image","width":6600},"floorplan_image_3":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABJ_MCST_FLN_2FE_9118_1.jpg","altText":"ABJ_MCST_FLN_2FE_9118_1","fileId":196430745922,"height":3300,"type":"image","width":6600},"floorplan_preview_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_abj-mast-pln.jpg","altText":"_abj-mast-pln","fileId":196430833042,"height":5007,"type":"image","width":3026},"form_embed":"","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1758554479479,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":196425976760,"hs_initial_published_at":1758642540317,"hs_is_edited":false,"hs_name":"Blossom by Toll Brothers in Regency at EverRange","hs_path":"regency-blossom","hs_published_at":1758643352961,"hs_updated_at":1758642474302,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"Anticipated from the Low $500's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":500000,"property_name":"Blossom","quick_movein":0,"square_footage":2099,"visible_floorplan":0},{"active_adult":1,"baths":[{"createdAt":1743683345058,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"2","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780}],"bedrooms":[{"createdAt":1743683315360,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780}],"builder":{"createdAt":1743683243769,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Toll Brothers","labelTranslations":{},"name":"toll_brothers","order":7,"type":"option","updatedAt":1749668316569,"updatedByUserId":9347780},"featured_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABK_MODR_FLN_2FE_9118_1.jpg","altText":"ABK_MODR_FLN_2FE_9118_1","fileId":196433490465,"height":3300,"type":"image","width":6600},"floorplan_download_link":{"id":196433435759,"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/Carling%20Floorplan.pdf","type":"file"},"floorplan_image_1":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABK_MODR_FLN_2FE_9118_1.jpg","altText":"ABK_MODR_FLN_2FE_9118_1","fileId":196433490465,"height":3300,"type":"image","width":6600},"floorplan_image_2":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABK_TRN_FLN_2FE_9118_1.jpg","altText":"ABK_TRN_FLN_2FE_9118_1","fileId":196428368647,"height":3300,"type":"image","width":6600},"floorplan_image_3":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABK_MCST_FLN_2FE_9118_1.jpg","altText":"ABK_MCST_FLN_2FE_9118_1","fileId":196428368752,"height":3300,"type":"image","width":6600},"floorplan_preview_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_abk-mast-pln-mcst-oq.jpg","altText":"_abk-mast-pln-mcst-oq","fileId":196430783835,"height":5006,"type":"image","width":3072},"form_embed":"","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1758554780175,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":196425966626,"hs_initial_published_at":1758642540317,"hs_is_edited":false,"hs_name":"Carling by Toll Brothers in Regency at EverRange","hs_path":"regency-carling","hs_published_at":1758643352961,"hs_updated_at":1758642480545,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"Anticipated from the Low $500's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":500000,"property_name":"Carling","quick_movein":0,"square_footage":2247,"visible_floorplan":0},{"active_adult":1,"baths":[{"createdAt":1743683345058,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"2","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780}],"bedrooms":[{"createdAt":1743683315360,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780},{"createdAt":1743683315360,"createdByUserId":9347780,"id":3,"isHubspotDefined":false,"label":"4","labelTranslations":{},"name":"4","order":2,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780}],"builder":{"createdAt":1743683243769,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Toll Brothers","labelTranslations":{},"name":"toll_brothers","order":7,"type":"option","updatedAt":1749668316569,"updatedByUserId":9347780},"featured_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABL_MCST_FLN_3SPE_9119_1.jpg","altText":"ABL_MCST_FLN_3SPE_9119_1","fileId":196481571387,"height":3300,"type":"image","width":6600},"floorplan_download_link":{"id":196484859823,"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/Avina%20Floorplan.pdf","type":"file"},"floorplan_image_1":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABL_MCST_FLN_3SPE_9119_1.jpg","altText":"ABL_MCST_FLN_3SPE_9119_1","fileId":196481571387,"height":3300,"type":"image","width":6600},"floorplan_image_2":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABL_MODR_FLN_3SPE_9119_1.jpg","altText":"ABL_MODR_FLN_3SPE_9119_1","fileId":196484929032,"height":3300,"type":"image","width":6600},"floorplan_image_3":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABL_TRN_FLN_3SPE_9119_1.jpg","altText":"ABL_TRN_FLN_3SPE_9119_1","fileId":196485065872,"height":3300,"type":"image","width":6600},"floorplan_preview_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_abl-mast-pln-MODR-0B.jpg","altText":"_abl-mast-pln-MODR-0B","fileId":196484859978,"height":5006,"type":"image","width":3025},"form_embed":"","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1758632367184,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":196467844459,"hs_initial_published_at":1758642540317,"hs_is_edited":false,"hs_name":"Avina by Toll Brothers in Regency at EverRange","hs_path":"regency-avina","hs_published_at":1758643352961,"hs_updated_at":1758642485179,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"Anticipated from the Low $600's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":600000,"property_name":"Avina","quick_movein":0,"square_footage":2543,"visible_floorplan":0},{"active_adult":1,"baths":[{"createdAt":1743683345058,"createdByUserId":9347780,"id":3,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"4","order":2,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780}],"bedrooms":[{"createdAt":1743683315360,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780}],"builder":{"createdAt":1743683243769,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Toll Brothers","labelTranslations":{},"name":"toll_brothers","order":7,"type":"option","updatedAt":1749668316569,"updatedByUserId":9347780},"featured_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABM_MODR_FLN_2FE_9119_1.jpg","altText":"ABM_MODR_FLN_2FE_9119_1","fileId":196487821178,"height":3300,"type":"image","width":6600},"floorplan_download_link":{"id":196496579243,"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/Caroline%20Floorplan.pdf","type":"file"},"floorplan_image_1":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABM_MODR_FLN_2FE_9119_1.jpg","altText":"ABM_MODR_FLN_2FE_9119_1","fileId":196487821178,"height":3300,"type":"image","width":6600},"floorplan_image_2":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABM_MCST_FLN_2FE_9119_1.jpg","altText":"ABM_MCST_FLN_2FE_9119_1","fileId":196487824463,"height":3300,"type":"image","width":6600},"floorplan_image_3":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_ABM_TRN_FLN_2FE_9119_1_1920.jpg","altText":"_ABM_TRN_FLN_2FE_9119_1_1920","fileId":196487819075,"height":1080,"type":"image","width":1920},"floorplan_preview_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_ABM-mast-pln.jpg","altText":"_ABM-mast-pln","fileId":196487598111,"height":5007,"type":"image","width":3086},"form_embed":"","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1758640330278,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":196494916986,"hs_initial_published_at":1758642540317,"hs_is_edited":false,"hs_name":"Caroline by Toll Brothers in Regency at EverRange","hs_path":"regency-caroline","hs_published_at":1758643352961,"hs_updated_at":1758642489668,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"Anticipated from the Low $600's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":600000,"property_name":"Caroline","quick_movein":0,"square_footage":2618,"visible_floorplan":0},{"active_adult":1,"baths":[{"createdAt":1743683345058,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"2","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780},{"createdAt":1743683345058,"createdByUserId":9347780,"id":3,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"4","order":2,"type":"option","updatedAt":1743714301566,"updatedByUserId":9347780}],"bedrooms":[{"createdAt":1743683315360,"createdByUserId":9347780,"id":2,"isHubspotDefined":false,"label":"3","labelTranslations":{},"name":"3","order":1,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780},{"createdAt":1743683315360,"createdByUserId":9347780,"id":3,"isHubspotDefined":false,"label":"4","labelTranslations":{},"name":"4","order":2,"type":"option","updatedAt":1743683315360,"updatedByUserId":9347780}],"builder":{"createdAt":1743683243769,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Toll Brothers","labelTranslations":{},"name":"toll_brothers","order":7,"type":"option","updatedAt":1749668316569,"updatedByUserId":9347780},"featured_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABN_MODR_FLN_3FE_9119_1.jpg","altText":"ABN_MODR_FLN_3FE_9119_1","fileId":196487825795,"height":3300,"type":"image","width":6600},"floorplan_download_link":{"id":196487826482,"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/Tomoka%20Floorplan.pdf","type":"file"},"floorplan_image_1":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABN_MODR_FLN_3FE_9119_1.jpg","altText":"ABN_MODR_FLN_3FE_9119_1","fileId":196487825795,"height":3300,"type":"image","width":6600},"floorplan_image_2":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABN_MCST_FLN_3FE_9119_1.jpg","altText":"ABN_MCST_FLN_3FE_9119_1","fileId":196487822194,"height":3300,"type":"image","width":6600},"floorplan_image_3":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/ABN_TRN_FLN_3FE_9119_1.jpg","altText":"ABN_TRN_FLN_3FE_9119_1","fileId":196488127092,"height":3300,"type":"image","width":6600},"floorplan_preview_image":{"url":"https://4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/_abn-mast-pln-modr-0b.jpg","altText":"_abn-mast-pln-modr-0b","fileId":196487598992,"height":5006,"type":"image","width":3097},"form_embed":"","form_text":"
Learn more about this floorplan in Regency at EverRange by Toll Brothers
\n

Have questions? Fill out the form to connect directly with the Toll Brothers team about available homes, pricing, and next steps.

\n
Reach Toll Brothers at 904-298-7773
","home_type":{"createdAt":1743683018719,"createdByUserId":9347780,"id":1,"isHubspotDefined":false,"label":"Single Family Home","labelTranslations":{},"name":"single_family","order":0,"type":"option","updatedAt":1752169045174,"updatedByUserId":9347780},"hs_child_table_id":0,"hs_created_at":1758640773490,"hs_created_by_user_id":493369,"hs_deleted_at":0,"hs_id":196486725526,"hs_initial_published_at":1758642540317,"hs_is_edited":false,"hs_name":"Tomoka by Toll Brothers in Regency at EverRange","hs_path":"regency-tomoka","hs_published_at":1758643352961,"hs_updated_at":1758642493488,"hs_updated_by_user_id":493369,"latitudevalue":30.117272617315752,"list_price":"Anticipated from the Low $600's","longitudevalue":-81.47822797167994,"neighborhood":{"createdAt":1743683140644,"createdByUserId":9347780,"id":5,"isHubspotDefined":false,"label":"Regency (Active Adult 55+)","labelTranslations":{},"name":"regency","order":4,"type":"option","updatedAt":1758642870090,"updatedByUserId":493369},"price":600000,"property_name":"Tomoka","quick_movein":0,"square_footage":2896,"visible_floorplan":0}],"offset":0,"total":6,"totalCount":6}`; const locationsQueryAll = JSON.parse(queryAll); const allLocations = locationsQueryAll.objects; const markerSVG = ` `; let currentIndex = 0; let currentFilteredLocations = allLocations?.length > 0 ? allLocations : null; let blankLocationData = null; mapboxgl.accessToken = 'pk.eyJ1Ijoid2luZ2FyZCIsImEiOiJja2dndmkzNDAxNTh5MnlsN3hmZGpqczFiIn0.rYI2_tUteZZ7h5FoSzeA2g'; const mapOptions = { container: 'evrMap', style: 'mapbox://styles/wingard/cmb5zm7n800uc01qyar6ad43z', center: [-81.479, 30.112], zoom: 15, }; const features = allLocations.map(location => ({ type: 'Feature', properties: { id: location.hs_id }, geometry: { type: 'Point', coordinates: [location.longitudevalue, location.latitudevalue] } })); const geojsonData = { type: 'FeatureColleciton', features } function svgToImage(svg, callback) { const img = new Image(); const blob = new Blob([svg], { type: 'image/svg+xml;charset=utf-8' }); const url = URL.createObjectURL(blob); img.onload = () => { URL.revokeObjectURL(url); callback(img); }; img.src = url; } const map = new mapboxgl.Map(mapOptions); const autosetMapHeight = () => { if (window.innerWidth <= 900) { document.getElementById("evrMap").style.height = "100px"; return; } const homecardEl = document.querySelector(".homecard"); const mapEl = document.getElementById("evrMap"); mapEl.style.height = `${homecardEl.clientHeight + 70}px`; } const init = () => { autosetMapHeight(); renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); map.dragRotate.disable(); map.on('load', () => { svgToImage(markerSVG, (img) => { map.addImage('custom-marker', img, { sdf: true }); }); map.addSource('points', { type: 'geojson', data: geojsonData, cluster: true, clusterMaxZoom: 16, clusterRadius: 50 }); map.addLayer({ id: 'clusters', type: 'symbol', source: 'points', filter: ['has', 'point_count'], layout: { 'icon-image': 'custom-marker', 'icon-size': 1, 'icon-allow-overlap': true, 'text-field': '{point_count_abbreviated}', 'text-font': ['DIN Offc Pro Bold', 'Arial Unicode MS Bold'], 'text-size': 18, 'text-offset': [0, -0.75], 'text-anchor': 'top' }, paint: { 'icon-color': '#5E7461', 'text-color': '#ffffff' } }); map.addLayer({ id: 'unclustered', type: 'symbol', source: 'points', filter: ['!', ['has', 'point_count']], layout: { 'icon-image': 'custom-marker', 'icon-size': 1, 'icon-allow-overlap': true }, paint: { 'icon-color': '#5E7461' } }); // Zoom into a cluster onClick map.on('click', 'clusters', (e) => { const [feature] = e.features; const clusterId = feature.properties.cluster_id; map.getSource('points').getClusterExpansionZoom(clusterId, (err, zoom) => { if (err) return; map.easeTo({ center: feature.geometry.coordinates, zoom }); }); }); map.on('mouseenter', 'clusters', () => { map.getCanvas().style.cursor = 'pointer'; }); map.on('mouseleave', 'clusters', () => { map.getCanvas().style.cursor = ''; }); // Click on unclustered marker, update the sidebar map.on('click', 'unclustered', (e) => { const feature = e.features[0]; const [lng, lat] = feature.geometry.coordinates; sidebarUpdateLocation(feature.properties.id); }); map.on('mouseenter', 'unclustered', () => { map.getCanvas().style.cursor = 'pointer'; }); map.on('mouseleave', 'unclustered', () => { map.getCanvas().style.cursor = ''; }); }); // map onLoad map.resize(); window.addEventListener('resize', () => { autosetMapHeight(); map.resize(); }); } // init const sidebarUpdateLocation = (locationID) => { const foundIndex = currentFilteredLocations.findIndex((loc) => loc.hs_id === locationID); // no location found, render no locations found HomeCard if (foundIndex === -1) { renderHomeCard(null, 0, 0); return }; currentIndex = foundIndex; renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); } const sidebarNextLocation = () => { if ((currentIndex + 1) >= currentFilteredLocations.length) { currentIndex = 0; renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); } else { currentIndex++; renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); } } const sidebarPreviousLocation = () => { if (currentIndex <= 0) { currentIndex = currentFilteredLocations.length - 1; renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); } else { currentIndex--; renderHomeCard(currentFilteredLocations[currentIndex], currentIndex + 1, currentFilteredLocations.length); } } const cloneWithFalsy = (obj, falsyValue = null) => { if (Array.isArray(obj)) { return obj.map(() => falsyValue); } else if (obj && typeof obj === 'object') { return Object.fromEntries( Object.entries(obj).map(([key, value]) => [ key, typeof value === 'object' ? cloneWithFalsy(value, falsyValue) : falsyValue ]) ); } return falsyValue; } if (allLocations?.length > 0) blankLocationData = cloneWithFalsy(allLocations[0]); const filterLocations = () => { // Elements const maxSlider = document.getElementById("maxPrice"); const sqftSlider = document.getElementById("maxSqft"); const maxPriceVal = document.getElementById("maxPriceVal"); const maxSqftVal = document.getElementById("maxSqftVal"); const toggleBtn = document.getElementById("toggleAdvancedFilters"); const advancedFilters = document.getElementById("advancedFilters"); const resultCount = document.getElementById("resultCount"); const sortDropdown = document.getElementById("sortOptions"); const selectorBedrooms = document.querySelector(".bedroom-option.active"); const selectorBath = document.querySelector(".bath-option.active"); // State let selectedBedrooms = selectorBedrooms?.dataset.bedrooms ? selectorBedrooms?.dataset.bedrooms : ''; let selectedBaths = selectorBath?.dataset.baths ? selectorBath?.dataset.baths : ''; let selectedNeighborhoods = []; let selectedHomeTypes = []; let selectedBuilders = []; let selectedQuickMovein = false; let selectedActiveAdult = false; // Selectors const neighborhoodOptions = document.querySelectorAll(".neighborhood-pill.active"); if (neighborhoodOptions?.length > 0) neighborhoodOptions.forEach(option => selectedNeighborhoods.push(option.dataset.neighborhood)); // Home Type const homeTypeOptions = document.querySelectorAll("#homeTypeOptions input"); if (homeTypeOptions?.length > 0) homeTypeOptions.forEach(option => option.checked ? selectedHomeTypes.push(option.value) : ''); // Quick Move In const quickMoveinFilter = document.getElementById("quickMoveinFilter"); selectedQuickMovein = quickMoveinFilter?.checked ? true : false; // Active Adult const activeAdultFilter = document.getElementById("activeAdultFilter"); selectedActiveAdult = activeAdultFilter?.checked ? true : false; // Builders const buildersOptions = document.querySelectorAll("#builderOptions input"); if (buildersOptions?.length > 0) buildersOptions.forEach(option => option.checked ? selectedBuilders.push(option.value) : ''); const maxPrice = parseInt(maxSlider.value); const maxSqft = parseInt(sqftSlider ? sqftSlider.value : 100000); let visibleHomes = allLocations.filter(home => { const price = parseInt(home.price) || 0; const sqft = parseInt(home.square_footage) || 0; const beds = Array.isArray(home.bedrooms) ? home.bedrooms.map(b => b.name.trim()) : []; const baths = Array.isArray(home.baths) ? home.baths.map(b => b.name.trim()) : []; const neighborhood = home.neighborhood?.label || ""; const homeType = home.home_type?.name || ""; const builder = home.builder?.label || ""; const quickMovein = home?.quick_movein ? true : false; const activeAdult = home?.active_adult ? true : false; let passes = true; passes &= price <= maxPrice; passes &= sqft <= maxSqft; if (selectedBedrooms === "5+") { passes &= beds.some(b => parseInt(b) >= 5); } else if (selectedBedrooms) { passes &= beds.includes(selectedBedrooms); } if (selectedBaths === "4+") { passes &= baths.some(b => parseInt(b) >= 4); } else if (selectedBaths) { passes &= baths.includes(selectedBaths); } if (selectedNeighborhoods.length > 0) { passes &= selectedNeighborhoods.includes(neighborhood); } if (selectedHomeTypes.length > 0) { passes &= selectedHomeTypes.includes(homeType); } if (selectedBuilders.length > 0) { passes &= selectedBuilders.includes(builder); } if (selectedQuickMovein) { passes &= quickMovein; } if (selectedActiveAdult) { passes &= activeAdult; } return passes; }); // Sort homes const sortValue = sortDropdown?.value || ""; visibleHomes.sort((a, b) => { if (sortValue === "alpha") { return a.hs_name.localeCompare(b.hs_name); } else if (sortValue === "alphaDesc") { return b.hs_name.localeCompare(a.hs_name); } else if (sortValue === "priceHigh") { return parseInt(b.price) - parseInt(a.price); } else if (sortValue === "priceLow") { return parseInt(a.price) - parseInt(b.price); } return 0; }); if (resultCount) resultCount.textContent = `${visibleHomes.length} result${visibleHomes.length !== 1 ? 's' : ''}`; return visibleHomes; } const stateUpdateCurrentLocations = () => { const filteredLocations = filterLocations(); const features = filteredLocations.map(location => ({ type: 'Feature', properties: { id: location.hs_id }, geometry: { type: 'Point', coordinates: [location.longitudevalue, location.latitudevalue] } })); const newGeojsonData = { type: 'FeatureColleciton', features } updateMapMarkers(newGeojsonData); currentFilteredLocations = filteredLocations; const firstLocationID = !!filteredLocations[0]?.hs_id ? filteredLocations[0].hs_id : 0; sidebarUpdateLocation(firstLocationID); } const updateMapMarkers = (newGeojsonData) => { const src = map.getSource('points'); if (src) { src.setData(newGeojsonData); } else if (map.isStyleLoaded()) { map.addSource('points', { type: 'geojson', data: newGeojsonData, cluster: true, clusterMaxZoom: 16, clusterRadius: 50 }); } else { setTimeout(() => updateMapMarkers(newGeojsonData), 100); } }; function renderHomeCard(data, currentPage = 0, totalPages = 0) { const container = document.getElementById('mapSidebar'); if (!container) return console.warn('#mapSidebar not found'); container.innerHTML = ''; // clear previous // if no locations found if (!data) data = blankLocationData; // --- Build .homecard --- const card = document.createElement('div'); card.className = 'homecard'; card.setAttribute('data-name', data.property_name); card.setAttribute('data-price', data.price); card.setAttribute('data-bedrooms', !!data.bedrooms[0]?.name ? data.bedrooms.map(b => b.name).join(',') : '0'); card.setAttribute('data-square-footage', data.square_footage); card.setAttribute('data-baths', !!data.baths[0]?.name ? data.baths.map(b => b.label).join(',') : '0'); card.setAttribute('data-neighborhood', data.neighborhood.label); card.setAttribute('data-home-type', data.home_type.name); card.setAttribute('data-builder', data.builder.label); card.setAttribute('data-quick-movein', data.quick_movein); card.setAttribute('data-active-adult', data.active_adult); const imgWrap = document.createElement('div'); imgWrap.className = 'imagewrapper'; if (data.quick_movein && data.move_in_date) { const spanDate = document.createElement('span'); const h5 = document.createElement('h5'); h5.className = 'quickmovein'; h5.textContent = data.move_in_date; spanDate.appendChild(h5); imgWrap.appendChild(spanDate); } const img = document.createElement('img'); if (data.featured_image && data.featured_image.url) { img.src = data.featured_image.url; img.alt = data.featured_image.altText || data.property_name; imgWrap.appendChild(img); } else { img.src = "//4358803.fs1.hubspotusercontent-na1.net/hubfs/4358803/raw_assets/public/everrange-theme/images/nomodel.png"; img.alt = 'No Results Found'; imgWrap.appendChild(img); } card.appendChild(imgWrap); const info = document.createElement('div'); info.className = 'infowrapper'; const h5Type = document.createElement('h5'); h5Type.textContent = data.home_type.label; info.appendChild(h5Type); const h5Hidden = document.createElement('h5'); h5Hidden.className = 'hidden'; h5Hidden.textContent = data.home_type.name; info.appendChild(h5Hidden); const h3Name = document.createElement('h3'); h3Name.className = 'propertyName'; h3Name.textContent = data.property_name ? data.property_name : 'We couldn’t find any homes that meet your selected criteria.'; info.appendChild(h3Name); const h3Price = document.createElement('h3'); h3Price.className = 'price'; h3Price.textContent = data?.list_price ? (data?.quick_movein ? data.list_price : `From ${data.list_price}`) : ''; info.appendChild(h3Price); const pNbr = document.createElement('p'); pNbr.className = 'neighborhodd'; pNbr.textContent = data.neighborhood.label; info.appendChild(pNbr); const pBuilder = document.createElement('p'); pBuilder.className = 'builder'; pBuilder.textContent = data.builder.label; info.appendChild(pBuilder); const details = document.createElement('div'); details.className = 'homedetails'; if (data.bedrooms[0]?.name) { const bedNums = data.bedrooms .map(b => parseInt(b.name, 10)) .sort((a, b) => a - b); if (bedNums.length) { const spanBeds = document.createElement('span'); spanBeds.textContent = bedNums[0] === bedNums[bedNums.length - 1] ? `${bedNums[0]} Beds` : `${bedNums[0]}–${bedNums[bedNums.length - 1]} Beds`; details.appendChild(spanBeds); } details.appendChild(document.createTextNode(' | ')); } if (data.baths[0]?.name) { const bathOptions = data.baths.map(b => Number(b.label)); const min = Math.min(...bathOptions); const max = Math.max(...bathOptions); const spanBaths = document.createElement('span'); spanBaths.textContent = min === max ? `${max} Baths` : `${min}–${max} Baths`; details.appendChild(spanBaths); details.appendChild(document.createTextNode(' | ')); } if (!!data.square_footage) { const spanSqft = document.createElement('span'); spanSqft.className = 'sqft'; spanSqft.textContent = `${data.square_footage} sqft`; details.appendChild(spanSqft); } info.appendChild(details); card.appendChild(info); const btnWrap = document.createElement('div'); btnWrap.className = 'button-wrapper homegrid'; const nSlug = data.neighborhood.name; const pSlug = data.property_name?.toLowerCase().replace(/\s+/g, '-'); if (nSlug && pSlug) { const viewMore = document.createElement('a'); viewMore.className = 'button'; viewMore.href = `/find-your-home/${nSlug}-${pSlug}`; viewMore.textContent = 'VIEW MORE'; btnWrap.appendChild(viewMore); const fav = document.createElement('a'); fav.className = 'favorite'; fav.href = `mailto:?subject=EverRange%20Favorite&body=Check%20out%20this%20home:%20${window.location.origin}/find-your-home/${nSlug}-${pSlug}`; btnWrap.appendChild(fav); card.appendChild(btnWrap); } container.appendChild(card); const pagination = document.createElement('div'); pagination.className = 'mapPagination'; const left = document.createElement('div'); left.className = 'paginationLeft'; if (currentFilteredLocations.length > 1) left.addEventListener('click', sidebarPreviousLocation); const pagLeft = document.createElement('div'); pagLeft.className = 'pagLeft'; left.appendChild(pagLeft); const summary = document.createElement('div'); summary.className = 'paginationSummary'; [currentPage, ' OF ', totalPages].forEach(txt => { const span = document.createElement('span'); span.textContent = txt; summary.appendChild(span); }); const right = document.createElement('div'); right.className = 'paginationRight'; if (currentFilteredLocations.length > 1) right.addEventListener('click', sidebarNextLocation); const pagRight = document.createElement('div'); pagRight.className = 'pagRight'; right.appendChild(pagRight); pagination.appendChild(left); pagination.appendChild(summary); pagination.appendChild(right); container.appendChild(pagination); autosetMapHeight(); } document.addEventListener('DOMContentLoaded', init);