Home / Albuquerque / Paradise East / Knolls Of Paradise Hills
Knolls Of Paradise Hills Homes for Sale | Paradise East, Albuquerque, NM Real Estate & Properties@endsection <div class="mb-4 bg-white rounded-lg shadow-md p-2 sm:p-4 mb-4"> <div class="flex items-start justify-between mb-2"> <h1 class="text-2xl">Knolls Of Paradise Hills - Homes for Sale</h1> <button class="flex items-center gap-2 px-2 py-1 border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors cursor-pointer" onclick="openMapModal('?ptype=Land,Residential&city=Albuquerque&area=ParadiseEast&subdivision=KnollsOfParadiseHills')"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"> <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path> </svg> <span class="text-sm font-medium">Map</span> </button> </div> <p>There are currently <b>0 MLS listings</b> for Houses for sale in <b>Knolls Of Paradise Hills, Albuquerque</b>.</p> <p>Click on any listing to view photos, property details, virtual tours, and an interactive map.</p> <p>Want to refine your search? Use our <a href="/search#ptype=Land,Residential&city=Albuquerque&area=ParadiseEast&subdivision=KnollsOfParadiseHills"><u><b>Advanced Home Search</b></u></a> to filter real estate by price, bedrooms, features, and more.</p> </div> <div class="mb-4 flex flex-wrap"> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3">Land<a href="https://albuquerquehomesonline.com/search-results?ptype=Residential&city=Albuquerque&area=ParadiseEast&subdivision=KnollsOfParadiseHills" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> <span class="ml-3">Residential<a href="https://albuquerquehomesonline.com/search-results?ptype=Land&city=Albuquerque&area=ParadiseEast&subdivision=KnollsOfParadiseHills" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Property Type </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/Albuquerque-City" class="hover:text-red-500 focus:outline-none">Albuquerque</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&area=ParadiseEast&subdivision=KnollsOfParadiseHills" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> City </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/ParadiseEast-Area" class="hover:text-red-500 focus:outline-none">Paradise East</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&subdivision=KnollsOfParadiseHills" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> MLS Area Major </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/KnollsOfParadiseHills-Subdivision" class="hover:text-red-500 focus:outline-none">Knolls Of Paradise Hills</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&area=ParadiseEast" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Subdivision </div> </div> </div> <!-- Property Listings --> <div class="space-y-6"> <div class="bg-white rounded-lg shadow-md p-8 text-center"> <p class="text-gray-600">Currently no properties for sale available in <b>Knolls Of Paradise Hills</b>.</p> </div> <p class="text-gray-800 mt-2 text-lg"><b>Explore Nearby Properties (1 mile radius):</b></p> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4505-Derby-Court-Nw-Albuquerque/id12396"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1088/277/117_s.jpg" alt="4505 DERBY Court NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4505-Derby-Court-Nw-Albuquerque/id12396"> 4505 DERBY Court NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$468,000</div> <div class="text-red-600 font-medium text-sm flex items-center justify-end"> <svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> -1,000$ 09/29 </div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> West Side 2-story beauty with space, style, and comfort in one beautiful package! Step into a bright, 4 bed, 3.5 bath with tile-floored interior where the heart of the home is a generous kitchen with granite counters, double ovens, gas stove, and bar seating perfect for gatherings. The living room's cozy corner fireplace invites you to unwind. Upstairs, find four bedrooms--including two oversized--plus a tucked-away office nook and a dreamy master suite with double sinks and a walk-in closet. Enjoy the view from an upstars balcony. Outside, enjoy a manicured front, XL backyard for all the activities and a location close to Coors, Paseo, and everyday essentials. Don't miss your chance--schedule your showing soon! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,301</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.17</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088277</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 12396, listingInfo: '4505 DERBY Court NW. MLS # 1088277' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4629-Albany-Court-Nw-Albuquerque/id12608"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1088/975/195_s.jpg" alt="4629 ALBANY Court NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4629-Albany-Court-Nw-Albuquerque/id12608"> 4629 ALBANY Court NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$725,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to an extraordinary custom residence offering 4,074 square feet of refined luxury, thoughtfully designed to balance elegance and functionality. This stunning 5-bedroom, 3-bath home impresses from the moment you arrive, with a charming courtyard entry and striking stone-accented exterior that set the tone for the sophisticated interiors beyond.Inside, you'll find a beautifully updated and freshly painted interior enhanced by modern lighting fixtures that add a contemporary flair. The main level features two generously sized bedrooms and a fully updated bath--ideal for guests, multigenerational living, or a home office setup.Upstairs, the expansive owner's suite is a true retreat, complete with a spa-inspired en-suite bath. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">5</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">4,074</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.19</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088975</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 12608, listingInfo: '4629 ALBANY Court NW. MLS # 1088975' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/9924-Golf-Course-Road-Nw-Albuquerque/id15253"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/650/192_s.jpg" alt="9924 GOLF COURSE Road NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/9924-Golf-Course-Road-Nw-Albuquerque/id15253"> 9924 GOLF COURSE Road NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$105,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to this .27 acres lot with amazing mountain views & city views. Ready to built you new custom dream home. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">0.27</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091650</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15253, listingInfo: '9924 GOLF COURSE Road NW. MLS # 1091650' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/10004-Clearwater-Court-Nw-Albuquerque/id15550"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/999/107_s.jpg" alt="10004 CLEARWATER Court NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/10004-Clearwater-Court-Nw-Albuquerque/id15550"> 10004 CLEARWATER Court NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$350,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Your private retreat with pool on a quiet cul-de-sac. Beautifully maintained home that truly shows pride of ownership. Nestled on a quiet cul-de-sac in a well-kept neighborhood, this 1,500 sq. ft. property offers 3 spacious bedrooms and 2 full baths. The interior features a blend of engineered hardwood and classic brick flooring throughout, adding charm and durability.Step outside to your own private retreat--an inviting pool and expansive backyard patio, perfect for entertaining, relaxing, or enjoying sunny afternoons. The side of the garage offers convenient RV parking with a dedicated RV electrical hookup.Recent upgrades include a brand-new HVAC heating and cooling system installed in 2024, giving you comfort and efficiency year-round. The yard is designed for low maintenance, </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,505</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.18</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091999</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15550, listingInfo: '10004 CLEARWATER Court NW. MLS # 1091999' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/9838-Academy-Street-Nw-Albuquerque/id11126"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1087/500/17b_s.jpg" alt="9838 ACADEMY Street NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/9838-Academy-Street-Nw-Albuquerque/id11126"> 9838 ACADEMY Street NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$475,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to this income generating property.Home has 6 bedrooms and 4 baths. close to shopping. Tile and granite counter tops. Kitchen is wide open with lots of storage and counter top space. Raised ceiling open up the space. two primary bedrooms with own bathrooms. Home is well maintained. nice glass back splash. Make this home yours before its gone. Buyer pays all closing costs. Garage was converted into a bedroom and bathroom. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">6</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,488</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.15</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087500</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 11126, listingInfo: '9838 ACADEMY Street NW. MLS # 1087500' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4703-Country-Club-Lane-Nw-H-1-Albuquerque/id15539"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/986/144_s.jpg" alt="4703 COUNTRY CLUB Lane NW H-1, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4703-Country-Club-Lane-Nw-H-1-Albuquerque/id15539"> 4703 COUNTRY CLUB Lane NW H-1, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$210,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to Paradise Views Condominiums! This condo offers 2 bedrooms and 2 bathrooms on ground level with an open floor plan. Great location with golf course near by. HOA covers water and gas, maintains HVAC, water heaters, roof, and grounds. Covered parking and storage included. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,190</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.03</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091986</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15539, listingInfo: '4703 COUNTRY CLUB Lane NW H-1. MLS # 1091986' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4713-Country-Club-Lane-Nw-D-4-Albuquerque/id11632"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1087/917/176_s.jpg" alt="4713 COUNTRY CLUB Lane NW D-4, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4713-Country-Club-Lane-Nw-D-4-Albuquerque/id11632"> 4713 COUNTRY CLUB Lane NW D-4, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$210,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Experience the beauty of New Mexico from this stunning, fully renovated condo in Paradise View Condominiums. Enjoy breathtaking sunrises & the Balloon Fiesta from your private balcony with Sandia Mountains views. The bright & open floor plan features a spacious kitchen island, cozy living room & updated amenities - a newer TPO roof (2022), windows, refrigerated air, & modern flooring throughout. Ideal location near Rust Medical Center, shopping, dining, & just a short distance to Paradise Hills Golf Course or The office. HOA takes care of common areas, roof, stucco,A/C, heating, water, sewer,& trash, giving you peace of mind. All you have to pay is the electric bill! CALL LISTING AGENT for DETAILS!! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,031</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.03</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087917</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 11632, listingInfo: '4713 COUNTRY CLUB Lane NW D-4. MLS # 1087917' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/10120-Loveland-Drive-Nw-Albuquerque/id10794"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1087/216/1b4_s.jpg" alt="10120 LOVELAND Drive NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/10120-Loveland-Drive-Nw-Albuquerque/id10794"> 10120 LOVELAND Drive NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$389,900</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Charming Brick Home in Paradise Greens Golf Course Neighborhood! This well-maintained 3-bedroom, 2-bath home is perfectly situated in the desirable Paradise Greens Golf Course area. With an open floor plan and tile flooring throughout, this home offers both comfort and functionality. The 2nd spacious living room features a cozy wood-burning fireplace--perfect for relaxing evenings. Enjoy peace of mind with recent updates including a water heater that's only about a year old, and a furnace and evaporative cooler that were installed less than a year ago. The finished 2-car garage includes heavy-duty built-in shelving for excellent storage and organization. Step into the backyard to find a private oasis with a hot tub and fruit trees--ideal for unwinding or entertaining. Located close to golf, </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,815</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.19</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087216</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 10794, listingInfo: '10120 LOVELAND Drive NW. MLS # 1087216' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4600-Arlington-Avenue-Nw-Albuquerque/id11410"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1087/774/171_s.jpg" alt="4600 ARLINGTON Avenue NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4600-Arlington-Avenue-Nw-Albuquerque/id11410"> 4600 ARLINGTON Avenue NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$665,000</div> <div class="text-red-600 font-medium text-sm flex items-center justify-end"> <svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> -5,000$ 09/26 </div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Award-Winning Parade of Homes & People's Choice 2004!Step into this stunning residence, greeted by elegant arched entryways, majestic columns, and beautifully lit nichos that add a warm, inviting glow. The architectural details continue with coffered ceilings and skip trowel walls adorned with exquisite frescoes, creating a sophisticated ambiance throughout.The formal dining room provides a welcoming space perfect for hosting memorable dinners and special occasions. The gourmet kitchen is a chef's dream, featuring gleaming granite countertops, custom cabinetry, stainless steel appliances, a spacious center island, and a convenient breakfast bar--ideal for casual mornings or social gatherings. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3,024</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.23</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087774</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 11410, listingInfo: '4600 ARLINGTON Avenue NW. MLS # 1087774' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/9960-Buckeye-Street-Nw-Albuquerque/id15774"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1092/220/119_s.jpg" alt="9960 BUCKEYE Street NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/9960-Buckeye-Street-Nw-Albuquerque/id15774"> 9960 BUCKEYE Street NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$445,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Beautifully crafted single-story custom home that seamlessly blends authentic Southwest character with modern elegance. Hand-hewn wood beams, traditional vigas, a cozy kiva fireplace, and rich wood floors create warmth and charm throughout. Expansive picture windows bathe the home in natural light while framing the beautifully landscaped backyard and mountain views. The kitchen features custom cabinetry, granite countertops, a spacious pantry, and bar seating, while the formal dining room provides the perfect setting for entertaining. Step outside to a covered back patio designed for year-round enjoyment. The private primary suite is thoughtfully separated from the additional bedrooms and offers a spa-like bath with a soaking tub, walk-in shower, and dual sinks. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,015</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.16</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1092220</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15774, listingInfo: '9960 BUCKEYE Street NW. MLS # 1092220' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> </div> <!-- Pagination --> <nav class="mt-8"> </nav> </div> <div class="w-full lg:w-1/3 mt-8 lg:mt-0"> <div class="bg-white rounded-lg shadow-md p-6 mb-8 sticky top-4 z-10"> <div class="flex items-center mb-4"> <img src="/img/Daria-Derebera.jpg" alt="Daria Derebera Realtor" class="w-16 h-16 rounded-full object-cover mr-4"> <div> <h3 class="font-semibold text-lg">Daria Derebera</h3> <p class="text-gray-600">Real Estate Broker in Albuquerque, NM</p> </div> </div> <div class="flex items-center mb-4"> <a href="tel:+15055218550" class="text-gray-700 hover:text-blue-600"> <svg class="w-4 h-4 mr-1 inline" fill="currentColor" viewBox="0 0 20 20"> <path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"/> </svg> (505) 521 8550 </a> </div> <form method="POST" id="detail-contact-agent" class=""> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div> <label for="contact_name" class="block text-sm font-medium text-gray-700 mb-1">Name</label> <input type="text" id="contact_name" name="name" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_email" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Email</label> <input type="email" id="contact_email" name="email" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_phone" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Phone</label> <input type="tel" id="contact_phone" name="phone" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_message" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Message</label> <textarea id="contact_message" name="message" rows="4" class="w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required></textarea> </div> <button type="submit" class="w-full bg-blue-600 text-white py-2 mt-4 rounded-md hover:bg-blue-700 transition-colors cursor-pointer"> Contact Agent </button> </form> </div> <div x-data="{ open: false }" @open-modal.window="open = $event.detail.id === 'detail-contact-agent'" x-show="open" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false"></div> <!-- Success Message --> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Agent Contact Request Sent</h3> <p class="text-gray-600 text-center mt-2">Thank you for contacting us. An agent will reach out to you as soon as possible.</p> <div class="mt-6 flex justify-center"> <button @click="open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> </div> </div> <script> const formsArr = ['detail-contact-agent']; formsArr.forEach(function(formId){ document.getElementById(formId).addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); if(formId === 'detail-contact-agent'){ const modalEvent = new CustomEvent('open-modal', { detail: { id: 'detail-contact-agent' } }); window.dispatchEvent(modalEvent); } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); }) </script> </div> </div> <h2 class="my-6">Explore Nearby Subdivisions in Albuquerque Area</h2> <p class="text-gray-700 text-lg leading-relaxed mb-6"> Looking beyond <b>Knolls Of Paradise Hills</b>? Expand your home search to these neighboring zip codes in Albuquerque Area. Each area offers unique characteristics, price points, and lifestyle options while maintaining convenient access to Albuquerque. Compare homes across multiple communities to find the perfect match for your budget and lifestyle preferences. </p> <div class="grid md:grid-cols-2 gap-8"> <div> <ul class="space-y-1"> <li> <a href="https://albuquerquehomesonline.com/TheKnollsOfParadise-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> The Knolls Of Paradise Homes for Sale</a> - <i>1 Listing ~0 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/HuntersRun-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Hunters Run Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/LosVerdes-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Los Verdes Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/AdobeWellsSubd-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Adobe Wells Subd Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/ParadiseHills-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Paradise Hills Homes for Sale</a> - <i>2 Listings ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/ParadiseHeights-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Paradise Heights Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/BosqueDelAcres-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Bosque Del Acres Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/RiverfrontEstates-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Riverfront Estates Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/Crestview-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Crestview Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/VolcanoHeights-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Volcano Heights Homes for Sale</a> - <i>1 Listing ~3 Miles Away</i> </li> </ul> </div> <div> <h3>Quick Facts about Knolls Of Paradise Hills community</h3> <ul class="space-y-1"> <li>Postal Code: <b>87114</b></li> <li>County: <b>Bernalillo</b></li> <li>Elementary School: <a href="https://albuquerquehomesonline.com/PetroglyphElementarySchool">Petroglyph</a></li> <li>Middle School: <a href="https://albuquerquehomesonline.com/JamesMonroeMiddleSchool">James Monroe</a></li> <li>High School: <a href="https://albuquerquehomesonline.com/CibolaHighSchool">Cibola</a></li> <li>Browse <a href="https://albuquerquehomesonline.com/KnollsOfParadiseHills-Subdivision/sold">1 resently sold</a> Knolls Of Paradise Hills properties</li> </ul> </div> </div> <div class="mt-8 text-sm text-gray-500 flex items-start"> <img src="/img/swmls_logo.gif" class="mr-3 flex-shrink-0 p-2 bg-white rounded border" alt="Southwest MLS Logo"> Some of the information contained herein has been provided by SWMLS, Inc. This information is from sources deemed reliable but not guaranteed by SWMLS, Inc. The information is for consumers’ personal, non-commerical use and may not be used for any purpose other than identifying properties which consumers may be interested in purchasing. </div> </div> <div x-show="open" x-data="mapModal()" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 overflow-hidden flex items-center justify-center p-1 sm:p-4" style="display: none;"> <div class="absolute inset-0 bg-black bg-opacity-75"></div> <div class="relative w-full max-w-7xl h-full max-h-[90vh] bg-white rounded-lg shadow-2xl overflow-hidden"> <div class="flex items-center justify-between p-4 bg-gray-50 border-b"> <h2 class="text-xl font-semibold text-gray-800">Property Map</h2> <button @click="closeModal()" class="bg-white rounded-full p-2 shadow-lg hover:bg-gray-100 transition"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <div x-show="loading" class="absolute inset-0 flex items-center justify-center bg-white z-20"> <div class="text-center"> <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"></div> <p class="mt-4 text-gray-600">Loading map and properties...</p> </div> </div> <div id="map" class="w-full h-full"></div> </div> </div> <script> let googleMapsLoaded = false; let googleMapsLoadPromise = null; let googleMapsQuery = null; function openMapModal(query = '') { googleMapsQuery = query; const modalElement = document.querySelector('[x-data="mapModal()"]'); const alpineData = Alpine.$data(modalElement); alpineData.openModal(); }; function loadGoogleMapsAPI() { if (googleMapsLoaded) { return Promise.resolve(); } if (googleMapsLoadPromise) { return googleMapsLoadPromise; } googleMapsLoadPromise = new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBK_zl9FOZc4Wg84V2MRW2ncYlTZLk3m5o&callback=initMapCallback'; script.async = true; script.defer = true; window.initMapCallback = () => { googleMapsLoaded = true; resolve(); }; script.onerror = () => { googleMapsLoadPromise = null; reject(new Error('Failed to load Google Maps')); }; document.head.appendChild(script); }); return googleMapsLoadPromise; } function mapModal() { return { open: false, loading: false, map: null, markers: [], markerCluster: null, infoWindow: null, currentInfoWindow: null, mapInitialized: false, async openModal() { this.open = true; this.loading = true; try { await loadGoogleMapsAPI(); await this.$nextTick(); if (!this.mapInitialized) { await this.initMap(); this.mapInitialized = true; } await this.loadProperties(); } catch (error) { console.error('Error loading map:', error); alert('Failed to load the map. Please check your internet connection and try again.'); this.open = false; } finally { this.loading = false; } }, closeModal() { this.open = false; this.clearMarkers(); if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }, clearMarkers() { this.markers.forEach(marker => marker.setMap(null)); this.markers = []; }, async initMap() { this.map = new google.maps.Map(document.getElementById('map'), { center: { lat: 35.0844, lng: -106.6504 }, zoom: 12, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.RIGHT_CENTER }, mapTypeControl: true, scaleControl: true, streetViewControl: true, rotateControl: true, fullscreenControl: true }); this.infoWindow = new google.maps.InfoWindow(); this.map.addListener('click', () => { if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }); }, async loadProperties() { try { this.clearMarkers(); const response = await fetch('/api/map-search' + googleMapsQuery); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const properties = await response.json(); this.createMarkers(properties?.results); if (this.markers.length > 0) { const bounds = new google.maps.LatLngBounds(); this.markers.forEach(marker => bounds.extend(marker.getPosition())); this.map.fitBounds(bounds); } } catch (error) { console.error('Error loading properties:', error); } }, createMarkers(properties) { properties.forEach(property => { const priceTag = this.createPriceMarker(property.price); const marker = new google.maps.Marker({ position: { lat: property.lat, lng: property.lng }, map: this.map, icon: { url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(priceTag), scaledSize: new google.maps.Size(50, 25), anchor: new google.maps.Point(25, 25) }, zoomControl: true, scaleControl: true, }); marker.addListener('click', () => { this.showPropertyInfo(property, marker); }); this.markers.push(marker); }); }, createPriceMarker(price) { const formattedPrice = '$' + (price > 10000 ? new Intl.NumberFormat().format(Math.round(price / 1000)) + 'K' : new Intl.NumberFormat().format(price)); return ` <svg width="50" height="25" xmlns="http://www.w3.org/2000/svg"> <g> <rect x="0" y="0" width="50" height="20" rx="4" fill="#3B82F6"/> <polygon points="25,25 21,20 29,20" fill="#3B82F6"/> <text x="25" y="14" text-anchor="middle" fill="white" font-family="Arial" font-size="10" font-weight="500" style="font-size: 11px !important;">${formattedPrice}</text> </g> </svg> `; }, showPropertyInfo(property, marker) { if (this.currentInfoWindow) { this.currentInfoWindow.close(); } const content = ` <div class="max-w-sm"> <a href="${property.url}" target="_blank"><img src="${property.image}" alt="${property.address}" class="w-full h-48 object-cover rounded-t-lg"></a> <div class="p-2"> <div class="flex flex-row justify-between"> <div> <div class="text-lg font-semibold text-gray-800">${property.address}</div> </div> <div class="text-right"> <p class="text-lg font-bold text-blue-800 ml-2">$${property.price.toLocaleString()}</p> </div> </div> <p class="text-md text-gray-800 mb-2"><span class="font-semibold">${property.city}</span> ${property.zip}, MLS# <span class="font-semibold">${property.mls_id}</span></p> <div class="flex items-center text-gray-600 text-sm mb-3"> ${property.beds > 0 ? `<span class="mr-2">🛏️ ${property.beds} beds</span>` : ''} ${property.baths > 0 ? `<span class="mr-2">🚿 ${property.baths} baths</span>` : ''} ${property.sqft != 0 ? `<span>📐 ${property.sqft} sqft</span>` : ''} </div> <div class="mx-4"> <a href="${property.url}" target="_blank" class="block w-full text-center bg-blue-600 text-white py-2 px-4 rounded hover:bg-blue-700 transition"> View Details </a> </div> </div> </div>`; this.currentInfoWindow = new google.maps.InfoWindow({ content: content }); this.currentInfoWindow.open(this.map, marker); }, init() { // Component initialized } } } </script> <!-- Request Info Modal (using Alpine.js) --> <div x-data="{ open: false, listingId: null, listingInfo: null, showSuccess: false }" @open-modal.window="open = $event.detail.id === 'request-info-modal'; listingId = $event.detail.listing; listingInfo=$event.detail.listingInfo; showSuccess = false" x-show="open || showSuccess" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false; showSuccess = false"></div> <!-- Success Message --> <div x-show="showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Information Request Submitted</h3> <p class="text-gray-600 text-center mt-2">Thank you for your interest. We'll get back to you shortly.</p> <div class="mt-6 flex justify-center"> <button @click="showSuccess = false; open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> <!-- Form Modal --> <div x-show="open && !showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="px-6 py-4 border-b"> <h3 class="text-lg font-medium">Request Information</h3> <button @click="open = false" class="absolute top-4 right-4 text-gray-400 hover:text-gray-500"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <form method="POST" id="search-request-info" target="submission-frame" class="p-6"> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div class="mb-4"> <label for="name" class="block text-sm font-medium text-gray-700">Name</label> <input type="text" name="name" id="name" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="email" class="block text-sm font-medium text-gray-700">Email</label> <input type="email" name="email" id="email" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="phone" class="block text-sm font-medium text-gray-700">Phone</label> <input type="text" name="phone" id="phone" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="message" class="block text-sm font-medium text-gray-700">Message</label> <textarea name="message" id="message" rows="4" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 text-sm" required x-bind:value="listingInfo ? `I'm interested in listing: ${listingInfo}` : ''"></textarea> </div> <div class="mt-6 flex justify-end"> <button type="button" @click="open = false" class="mr-3 px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50"> Cancel </button> <button type="submit" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> Submit Request </button> </div> </form> </div> </div> </div> <script> document.getElementById('search-request-info').addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); const modal = this.closest('[x-data*="open"]'); if (modal) { Alpine.$data(modal).showSuccess = true; Alpine.$data(modal).open = false; } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); </script>