{"product_id":"new-mexico-luna-county-1-50-acres-sunshine-valley-ranchettes-unit-19-block-16-lots-14-31-32-terms-82-month","title":"New Mexico, Luna County, 1.50 Acres Sunshine Valley Ranchettes, Unit 19, Block 16, Lots 14, 31 \u0026 32. TERMS $82\/Month","description":"\u003cstyle class=\"ols-layout-alignment-guard\"\u003e\n\/* Contain all legacy Bootstrap-style floats inside each product-description panel.\n   This prevents following Shopify sections\/cards from wrapping up the right side. *\/\n.descriptionmainsbelowss .container-holder {\n  display: flow-root !important;\n  clear: both !important;\n  width: 100% !important;\n  max-width: 1200px !important;\n  box-sizing: border-box !important;\n}\n.descriptionmainsbelowss .container-fluid,\n.descriptionmainsbelowss .clear-fix,\n.descriptionmainsbelowss .lower-box-holder,\n.descriptionmainsbelowss .container-gallery,\n.descriptionmainsbelowss .ols-imagine-shell {\n  clear: both !important;\n  box-sizing: border-box !important;\n}\n.descriptionmainsbelowss .clear-fix {\n  display: flow-root !important;\n  width: 100% !important;\n}\n.descriptionmainsbelowss .image-container.col-md-12 {\n  clear: both !important;\n  float: none !important;\n  width: 100% !important;\n  box-sizing: border-box !important;\n}\n.descriptionmainsbelowss .lower-box-holder {\n  display: flow-root !important;\n  width: 100% !important;\n}\n\u003c\/style\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cstyle type=\"text\/css\"\u003e\n\niframe.video {\n    max-width: 100%;\n    height: 350px;\n    margin: 40px 0 40px 0;\n}\n\nvideo.video {\n    max-width: 450px;\n    width: 100%;\n    box-shadow: 2px 2px 20px black;\n}\n\np {\n    font-family: arial !important;\n    padding-left: 5px;\n    padding-right: 5px;\n}\n\n.container-holder {\n    border: solid 2px #f9f9f9;\n    max-width: 1200px;\n    margin: auto;\n    box-shadow: -2px 3px 20px #33475b;\n    background-color: #fffffffc;\n    margin-top: 20px;\n}\n\n.container-top {\n    text-align: center;\n    background-image: radial-gradient(circle farthest-side at center bottom,#6b85b1a8,#6b85b1 50%);\n    color: #fff;\n    padding: 25px 0 15px 0;\n    font-family: \"PT Sans Narrow\",sans-serif,\"google\" !important;\n    text-shadow: 3px 1px 6px #000000f5;\n    margin: 20px 15px 20px 15px;\n    box-shadow: 4px 4px 20px black;\n}\n\n.container-top.bottom {\n    text-align: center;\n    background-image: radial-gradient(circle farthest-side at center bottom,#6b85b1,#ffffff00 65%);\n    color: #333;\n    padding: 25px 0 15px 0;\n    font-family: \"PT Sans Narrow\",sans-serif,\"google\" !important;\n    margin: 20px 15px 5px 15px;\n    text-shadow: 1px 1px 7px #cecece;\n    box-shadow: 0 0 black;\n}\n\np.lot-name-title {\n    font-size: 25px;\n    font-weight: 600;\n}\n\np.lot-number {\n    font-weight: 800 !important;\n    font-size: 26px !important;\n}\n\np.lot-description {\n    font-size: 18px;\n}\n\np.featured-text {\n    font-size: 14px;\n    font-weight: 600;\n    background-color: #fff;\n    margin-top: 10px;\n}\n\np.title-description-text {\n    font-size: 14px;\n    font-weight: 600;\n    background-color: #ffffcc;\n    color: #585858;\n    margin-top: 10px;\n}\n\n.lot-description-area {\n    font-size: 14px;\n    font-weight: 600;\n    background-color: #ffffff;\n    color: #585858;\n    margin-top: 10px;\n    height: auto;\n}\n\np.description-title {\n    text-align: center;\n    font-size: 18px;\n    margin-bottom: 0px;\n    margin-top: 16px;\n}\n\np.description-sub-name {\n    text-align: center;\n    font-size: 25px;\n    font-weight: 800;\n    margin-bottom: 0px;\n}\n\np.description-detail-text {\n    text-align: center;\n    font-size: 18px;\n    font-weight: 900;\n    margin-bottom: 0px;\n}\n\np.financing-text {\n    padding-top: 10px;\n}\n\n.checkout-price-container {\n    height: auto !important;\n    background-color: #fff;\n    margin-top: 0px;\n    padding: 10px 0px 2px 10px;\n    box-shadow: 0px 0px 20px 4px #33475b;\n    border-radius: 9px;\n}\n\np.lot-price {\n    line-height: 16px;\n    font-size: 16px;\n    font-weight: 600;\n}\n\n.image-container {\n    text-align: center;\n    margin-top: 10px;\n}\n\nimg.lot-img {\n    max-width: 800px;\n    box-shadow: 3px 3px 10px #333;\n}\n\n.container-fluid-2 {\n    width: 100%;\n    border: solid 2px #f9f9f9;\n    background-image: linear-gradient(#fff,#fff,#fdffe6,#fff,white);\n}\n\np.location-legal-text {\n    text-align: center;\n    font-size: 20px;\n    font-family: Impact;\n    color: rgb(55, 88, 120);\n    font-weight: 900;\n}\n\np.location-text {\n    font-size: 18px;\n    font-weight: 600;\n    text-align: center;\n}\n\n.lower-box-holder {\n    display: inline-block;\n    width: 100%;\n}\n\n.location-description {\n    vertical-align: middle;\n    padding-top: 20px;\n}\n\np.invest-resell {\n    text-align: center;\n    font-family: Impact;\n    font-size: 18pt;\n    color: rgb(0, 0, 0);\n    text-shadow: 3px 1px 19px #337ab7;\n    margin: 25px 0 20px 0;\n}\n\np.lot-details {\n    text-align: center;\n    font-size: 13px;\n    font-weight: 600;\n    background-color: #6b85b1;\n    padding: 20px;\n    box-shadow: 2px 2px 6px black;\n    color: #fff;\n    height: 60px;\n}\n\n.col-md-12.count-details {\n    border-top: 2px solid;\n    padding-top: 20px;\n    background-color: #fff;\n    padding-bottom: 20px;\n}\n\np.county-detail-title {\n    text-align: center;\n    font-size: 16px;\n    font-weight: 600;\n}\n\n.lower-box-holder.footer {\n    background-color: #fff;\n    border-top: 2px solid;\n    padding-top: 10px;\n    padding-bottom: 10px;\n    margin-top: 0px;\n}\n\np.never-alone {\n    font-size: 16px;\n    font-weight: 600;\n    border-bottom: 2px solid;\n}\n\np.footer-text {\n    line-height: 12px;\n}\n\na.login-link {\n    background-color: #6b85b1;\n    color: #fff;\n    padding-left: 10px;\n    padding-right: 10px;\n    padding-top: 5px;\n    padding-bottom: 5px;\n    font-size: 16px;\n}\n\na.details-link.avail-lots {\n    color: #ffffff;\n    background-color: #6b85b1;\n    padding: 5px;\n    border-radius: 5px;\n}\n\na.details-link {\n    color: #ffffff;\n    font-weight: 900;\n}\n\na.details-link:hover {\n    color: #fafcff;\n    text-decoration: none;\n    text-shadow: -3px -2px 20px #ffffff;\n}\n\n.entrance {\n    border: 1px solid;\n    padding: 22px;\n    box-shadow: 1px 4px 20px #000000d9;\n    background-color: #fff;\n}\n\np.sub-entrance {\n    font-size: 16px;\n    font-weight: 900;\n}\n\n.icon-container-holder {\n    text-align: center;\n    margin: 35px 0 30px 0;\n    box-shadow: 1px 1px 5px 0px #00000073;\n    border-radius: 6px;\n    padding: 5px 0 16px 0;\n    font-size: 16px;\n    color: #010101;\n}\n\na:hover {\n    color: #23527c;\n    text-decoration: none;\n}\n\n.icon-container-holder:hover {\n    margin-top: 30px;\n    box-shadow: 1px 3px 20px #6b85b1;\n}\n\nimg.bottom-icon {\n    width: 100px;\n}\n\n#fbuilder,\n#fbuilder * {\n    text-align: left !important;\n}\n\n.horizontal-layout {\n    display: flex;\n    justify-content: space-between;\n    gap: 15px;\n    align-items: flex-end;\n    flex-wrap: wrap;\n}\n\n.horizontal-layout .input,\n.horizontal-layout .result {\n    flex: 1;\n    min-width: 150px;\n}\n\n.horizontal-layout label {\n    display: block;\n    font-weight: bold;\n    margin-bottom: 5px;\n}\n\n.horizontal-layout input,\n.horizontal-layout select {\n    width: 100%;\n}\n\n#fbuilder .desc {\n    text-align: center !important;\n    display: block;\n    width: 100%;\n    color: #6A85B0;\n    font-style: italic;\n    margin-top: 8px !important;\n    margin-bottom: 10px !important;\n    font-size: 16px !important;\n}\n\n#fbuilder label {\n    text-align: center !important;\n    display: block !important;\n    width: 100% !important;\n}\n\n#fbuilder input[type=\"number\"],\n#fbuilder select,\n#fbuilder input[readonly] {\n    height: 42px !important;\n    line-height: 42px !important;\n    box-sizing: border-box !important;\n    border-radius: 3px !important;\n    padding: 0 10px !important;\n    vertical-align: middle !important;\n    font-size: 15px !important;\n    font-family: inherit !important;\n    text-align: center !important;\n}\n\n#fbuilder .monthly-payment {\n    height: 42px !important;\n    line-height: 42px !important;\n    background-color: #4a4a4a !important;\n    color: #fff !important;\n    font-weight: bold !important;\n    border: none !important;\n    outline: none !important;\n    box-shadow: none !important;\n    border-radius: 3px !important;\n    text-align: center !important;\n    padding: 0 10px !important;\n    box-sizing: border-box !important;\n    font-size: 15px !important;\n}\n\n.tooltip {\n    display: inline;\n    position: relative;\n}\n\n.tooltip:hover:after {\n    display: flex;\n    justify-content: center;\n    background: #444;\n    border-radius: 8px;\n    color: #fff;\n    content: attr(title);\n    margin: -250px auto 0;\n    font-size: 16px;\n    padding: 13px;\n    width: 220px;\n}\n\n.tooltip:hover:before {\n    border: solid;\n    border-color: #444 transparent;\n    border-width: 12px 6px 0 6px;\n    content: \"\";\n    left: 45%;\n    bottom: 30px;\n    position: absolute;\n}\n\n@media only screen and (max-width:720px) {\n    iframe.test {\n        height: 210px;\n    }\n\n    p.title-description-text {\n        margin-top: 20px;\n    }\n\n    p.financing-text {\n        padding-top: 10px;\n        font-size: 12px;\n    }\n\n    .col-md-6,\n    .col-md-12 {\n        padding: 0;\n    }\n\n    iframe.video {\n        height: 200px;\n        margin: 40px 0 0;\n    }\n\n    .column {\n        width: 50% !important;\n    }\n}\n\n@media only screen and (max-width:420px) {\n    p.financing-text {\n        padding-top: 10px;\n        font-size: 10px;\n    }\n}\n\n@media (max-width:480px) {\n    #fbuilder .desc {\n        font-size: 13px !important;\n        line-height: 1.4;\n    }\n\n    #fbuilder label {\n        font-size: 14px;\n    }\n\n    #fbuilder input,\n    #fbuilder select {\n        font-size: 15px;\n    }\n}\n\n@media only screen and (min-width:700px) and (max-width:1024px) {\n    #fbuilder input[type=\"number\"],\n    #fbuilder select,\n    #fbuilder input[readonly],\n    #fbuilder .monthly-payment {\n        height: 48px !important;\n        line-height: 48px !important;\n        font-size: 16px !important;\n    }\n\n    #fbuilder select {\n        padding-top: 10px !important;\n        padding-bottom: 10px !important;\n    }\n\n    #fbuilder label {\n        margin-bottom: 8px !important;\n    }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\n\u003cdiv class=\"container-top\"\u003e\n\u003cp class=\"lot-name-title\"\u003eSunshine Valley Ranchettes\u003c\/p\u003e\n\u003cp class=\"lot-description\"\u003eSunshine Valley Ranchettes, Luna County, New Mexico\u003c\/p\u003e\n\u003cp class=\"lot-number\"\u003eUnit 19, Block 16, Lots 14, 31 \u0026amp; 32\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-6\"\u003e\n\u003cdiv class=\"lot-description-area\"\u003e\n\u003ciframe loading=\"lazy\" style=\"border:0;\" height=\"350\" width=\"100%\" src=\"https:\/\/maps.google.com\/maps?q=32.014897,-107.488535\u0026amp;t=k\u0026amp;z=15\u0026amp;output=embed\"\u003e\n\u003c\/iframe\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-6\"\u003e\n\u003cdiv class=\"lot-description-area\" style=\"height:auto !important;min-height:0 !important;margin-bottom:0 !important;padding-bottom:0 !important;\"\u003e\n\n\u003cp class=\"financing-text\" style=\"margin-bottom:0 !important;\"\u003e\n\u003cstrong style=\"color:#2f4058;font-weight:bold;\"\u003eFinancing:\u003c\/strong\u003e\nThis lot is being offered for sale with financing. Simply make the small down payment, and the land contracts will be emailed and hard copy mailed to you immediately. You can start using or building your land while you are making payments.\n\u003c\/p\u003e\n\n\u003ccenter style=\"display:block;margin-top:8px !important;margin-bottom:18px !important;padding:0 !important;\"\u003e\n\u003ca href=\"https:\/\/store.onlinelandsales.com\/Guarantee_s\/2351.htm\" title=\"Industry Best 2 Month Refund Period of Principal Paid\" style=\"color:rgb(112,146,191);text-decoration:none;font-size:20px;\"\u003e\n\u003cb\u003eGuarantee\u003c\/b\u003e\n\u003c\/a\u003e\n\n\u003ca href=\"https:\/\/store.onlinelandsales.com\/Reviews_s\/2085.htm\" title=\"Online Land Sales has received over a thousand positive feedbacks and direct reviews\" style=\"color:rgb(112,146,191);text-decoration:none;font-size:20px;\"\u003e\n\u003cb\u003eReviews\u003c\/b\u003e\n\u003cimg style=\"height:auto;width:15%;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/ForstarReviewsImage1A_cf483654-ed87-4bc4-af6b-21725959c5ee.png?v=1745965584\"\u003e\n\u003c\/a\u003e\n\u003c\/center\u003e\n\n\u003cdiv class=\"checkout-price-container\" style=\"margin-top:0 !important;padding-top:12px !important;\"\u003e\n\n\u003cp class=\"lot-price\"\u003eDown Payment: $121\u003c\/p\u003e\n\u003cp class=\"lot-price\"\u003eMonthly Payments: $82\u003c\/p\u003e\n\u003cp class=\"lot-price\"\u003eSales Price: $8,248\u003c\/p\u003e\n\u003cp class=\"lot-price\"\u003eInterest Rate: 9%\u003c\/p\u003e\n\u003cp class=\"lot-price\"\u003e10% DISCOUNT ON REMAINING BALANCE IF PAID EARLY\u003c\/p\u003e\n\n\u003cp class=\"ols-checkout-line\" style=\"margin:10px 0 6px;\"\u003e\nCheckout bills down payment only.\n\u003ca href=\"https:\/\/store.onlinelandsales.com\/pages\/10-reasons-to-buy-from-us\" style=\"color:#7092bf;text-decoration:none;font-size:15px;\"\u003e\n\u003cb\u003e10 Reasons To Buy From Us\u003c\/b\u003e\n\u003c\/a\u003e\n\u003c\/p\u003e\n\n\u003c!-- OLS Terms Assistant v1 --\u003e\n\n\u003cdiv class=\"ols-terms-assistant\" data-ols-terms-assistant=\"\"\u003e\n\u003cbutton type=\"button\" class=\"ols-terms-toggle\"\u003eUnderstand These Terms\u003c\/button\u003e\n\n\u003cdiv class=\"ols-terms-panel\" hidden=\"\"\u003e\n\n\u003cdiv class=\"ols-terms-prompts\"\u003e\n\n\u003cbutton type=\"button\" data-question=\"Explain these terms for this specific property, including the three down payment choices, lower monthly payments with Premium and Superior, sales-price discounts, OLS matching credits, estimated interest savings, interest rate, approximate loan length, early payoff discount, and what happens after checkout.\" data-style=\"short\"\u003e\nExplain these terms\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-question=\"What does the $500 Premium down payment option save me on this property, including the lower monthly payment, OLS discount and matching credit, and estimated interest savings?\" data-style=\"short\"\u003e\nWhat does $500 down save?\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-question=\"What does the $1,000 Superior down payment option save me on this property, including the lower monthly payment, OLS discount and matching credit, and estimated interest savings?\" data-style=\"short\"\u003e\nWhat does $1,000 down save?\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-ols-extra-prompt=\"\" data-question=\"What if I pay $25 extra each month?\"\u003e\nPay $25 extra monthly?\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-ols-payoff-prompt=\"\"\u003e\nPay off early?\n\u003c\/button\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-payoff-choices\" hidden=\"\"\u003e\n\u003cdiv class=\"ols-payoff-note\"\u003e\nOLS offers a 10% discount on the remaining principal balance for early payoff. When might you want to pay it off?\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-payoff-buttons\"\u003e\n\u003cbutton type=\"button\" data-payoff-years=\"1\"\u003e1 year\u003c\/button\u003e\n\u003cbutton type=\"button\" data-payoff-years=\"2\"\u003e2 years\u003c\/button\u003e\n\u003cbutton type=\"button\" data-payoff-years=\"5\"\u003e5 years\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-terms-status\" hidden=\"\"\u003eChecking these terms…\u003c\/div\u003e\n\u003cdiv class=\"ols-terms-answer\" hidden=\"\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ols-followup-label\" hidden=\"\"\u003eHave another question?\u003c\/div\u003e\n\n\u003cdiv class=\"ols-terms-input-row\"\u003e\n\u003cinput type=\"text\" class=\"ols-terms-input\" placeholder=\"Ask about price or financing...\" maxlength=\"250\" autocomplete=\"off\"\u003e\n\u003cbutton type=\"button\" class=\"ols-terms-submit\"\u003eAsk\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.checkout-price-container .lot-price {\n    margin:0 0 4px !important;\n    line-height:1.25 !important;\n}\n\n.ols-terms-assistant {\n    margin:0 0 10px;\n    font-family:inherit;\n}\n\n.ols-terms-toggle {\n    margin:0;\n    border:1px solid #7092BF;\n    background:#fff;\n    color:#52739f;\n    border-radius:5px;\n    padding:8px 13px;\n    font-size:14px;\n    font-weight:700;\n    cursor:pointer;\n}\n\n.ols-terms-toggle:hover {\n    background:#f5f8fc;\n}\n\n.ols-terms-panel {\n    margin-top:7px;\n    padding:12px;\n    border:1px solid #d9e1eb;\n    border-radius:6px;\n    background:#fff;\n    max-width:100%;\n    box-sizing:border-box;\n}\n\n.ols-terms-prompts {\n    display:flex;\n    flex-wrap:wrap;\n    gap:6px;\n    margin-bottom:9px;\n}\n\n.ols-terms-prompts button,\n.ols-payoff-buttons button {\n    border:1px solid #d5dce5;\n    background:#fff;\n    border-radius:15px;\n    padding:5px 10px;\n    font-size:12px;\n    cursor:pointer;\n}\n\n.ols-terms-prompts button:hover,\n.ols-payoff-buttons button:hover {\n    border-color:#7092BF;\n}\n\n.ols-payoff-choices {\n    margin:8px 0 10px;\n    padding:9px 10px;\n    border:1px solid #d9e1eb;\n    border-radius:5px;\n    background:#fff;\n}\n\n.ols-payoff-note {\n    font-size:13px;\n    line-height:1.4;\n    color:#444;\n    margin-bottom:7px;\n}\n\n.ols-payoff-buttons {\n    display:flex;\n    flex-wrap:wrap;\n    gap:6px;\n}\n\n.ols-followup-label {\n    margin:10px 0 5px;\n    font-size:13px;\n    font-weight:700;\n    color:#2f4058;\n}\n\n.ols-terms-input-row {\n    display:flex;\n    gap:7px;\n}\n\n.ols-terms-input {\n    flex:1;\n    min-width:0;\n    border:1px solid #cfd7e1;\n    border-radius:4px;\n    padding:9px 10px;\n    font-size:14px;\n    background:#fff;\n}\n\n.ols-terms-submit {\n    border:0;\n    background:#7092BF;\n    color:#fff;\n    border-radius:4px;\n    padding:9px 15px;\n    font-size:14px;\n    font-weight:700;\n    cursor:pointer;\n}\n\n.ols-terms-submit:disabled {\n    opacity:.6;\n    cursor:wait;\n}\n\n.ols-terms-status {\n    margin-top:10px;\n    font-size:13px;\n    color:#666;\n}\n\n.ols-terms-answer {\n    margin-top:10px;\n    padding:10px 11px;\n    border-left:3px solid #7092BF;\n    background:#fff;\n    font-size:14px;\n    line-height:1.45;\n    color:#333;\n}\n\n@media(max-width:600px) {\n    .ols-terms-input-row {\n        display:block;\n    }\n\n    .ols-terms-input {\n        width:100%;\n        box-sizing:border-box;\n        margin-bottom:7px;\n    }\n\n    .ols-terms-submit {\n        width:100%;\n    }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"col-md-6\"\u003e\n\u003cdiv class=\"lot-description-area\" style=\"height:auto !important;min-height:0 !important;margin-bottom:0 !important;padding-bottom:0 !important;\"\u003e\n\u003cdiv class=\"checkout-price-container\" style=\"display:none !important;\"\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var assistants=document.querySelectorAll('[data-ols-terms-assistant]');\n  var widget=assistants[assistants.length-1];\n\n  if(!widget || widget.dataset.olsReady==='1') return;\n\n  widget.dataset.olsReady='1';\n\n  var termsBox=widget.closest('.checkout-price-container');\n  if(!termsBox) return;\n\n  var WORKER_URL='https:\/\/ols-knowledge.service-2e6.workers.dev\/ask';\n\n  var toggle=widget.querySelector('.ols-terms-toggle');\n  var panel=widget.querySelector('.ols-terms-panel');\n  var input=widget.querySelector('.ols-terms-input');\n  var submit=widget.querySelector('.ols-terms-submit');\n  var status=widget.querySelector('.ols-terms-status');\n  var answer=widget.querySelector('.ols-terms-answer');\n  var followupLabel=widget.querySelector('.ols-followup-label');\n  var payoffChoices=widget.querySelector('.ols-payoff-choices');\n  var payoffPrompt=widget.querySelector('[data-ols-payoff-prompt]');\n\n  function valueFor(label){\n    var lines=termsBox.querySelectorAll('.lot-price');\n\n    for(var i=0;i\u003clines.length;i++){\n      var text=(lines[i].textContent||'').replace(\/\\s+\/g,' ').trim();\n\n      if(text.toLowerCase().indexOf(label.toLowerCase())===0){\n        var m=text.match(\/[\\d,]+(?:\\.\\d+)?\/);\n        return m ? Number(m[0].replace(\/,\/g,'')) : null;\n      }\n    }\n\n    return null;\n  }\n\n  function updateExtraPaymentPrompt(){\n    var price=valueFor('Sales Price:');\n    var btn=widget.querySelector('[data-ols-extra-prompt]');\n\n    if(!btn || !Number.isFinite(price)) return;\n\n    var extra=25;\n\n    if(price\u003e20000){\n      extra=100;\n    } else if(price\u003e10000){\n      extra=50;\n    }\n\n    btn.setAttribute(\n      'data-question',\n      'What if I pay $'+extra+' extra each month?'\n    );\n\n    btn.textContent='Pay $'+extra+' extra monthly?';\n  }\n\n  function listingContext(){\n    return {\n      standard_ols_terms:true,\n      three_down_payment_options:true,\n      term_months:186,\n      down_payment:(valueFor('Down Payment:') ?? valueFor('Standard Down Payment:') ?? 0),\n      monthly_payment:(valueFor('Monthly Payments:') ?? valueFor('Monthly Payment:')),\n      price:valueFor('Sales Price:'),\n      apr:valueFor('Interest Rate:')\n    };\n  }\n\n  function showFollowupState(){\n    if(followupLabel) followupLabel.hidden=false;\n\n    if(input){\n      input.value='';\n      input.placeholder='Ask about price or financing...';\n\n      var row=input.closest('.ols-terms-input-row');\n\n      if(row) row.classList.add('followup-active');\n    }\n  }\n\n  function loading(on){\n    submit.disabled=on;\n    status.hidden=!on;\n\n    if(on) answer.hidden=true;\n  }\n\n  function pacificToday(){\n\n    var parts=new Intl.DateTimeFormat('en-US',{\n      timeZone:'America\/Los_Angeles',\n      year:'numeric',\n      month:'2-digit',\n      day:'2-digit'\n    }).formatToParts(new Date());\n\n    function get(type){\n      var p=parts.find(function(x){\n        return x.type===type;\n      });\n\n      return p ? Number(p.value) : null;\n    }\n\n    return {\n      year:get('year'),\n      month:get('month'),\n      day:get('day')\n    };\n  }\n\n  function utcDate(y,m,d){\n    return new Date(Date.UTC(y,m-1,d));\n  }\n\n  function nextScheduled(y,m,d){\n\n    if(d===1){\n      return {year:y,month:m,day:15};\n    }\n\n    if(m===12){\n      return {year:y+1,month:1,day:1};\n    }\n\n    return {year:y,month:m+1,day:1};\n  }\n\n  function firstPaymentInfo(){\n\n    var p=pacificToday();\n    var c;\n\n    if(p.day\u003c15){\n      c={year:p.year,month:p.month,day:15};\n    } else {\n      c=nextScheduled(p.year,p.month,15);\n    }\n\n    var pDate=utcDate(p.year,p.month,p.day);\n    var cDate=utcDate(c.year,c.month,c.day);\n\n    var days=Math.round((cDate-pDate)\/86400000);\n\n    if(days\u003c=6){\n      c=nextScheduled(c.year,c.month,c.day);\n      cDate=utcDate(c.year,c.month,c.day);\n    }\n\n    return {\n      formatted:new Intl.DateTimeFormat('en-US',{\n        timeZone:'UTC',\n        month:'long',\n        day:'numeric',\n        year:'numeric'\n      }).format(cDate),\n      dueDay:c.day\n    };\n  }\n\n  function localAmortizationMonths(principal,apr,payment){\n\n    principal=Number(principal);\n    apr=Number(apr);\n    payment=Number(payment);\n\n    if(\n      !Number.isFinite(principal) ||\n      !Number.isFinite(apr) ||\n      !Number.isFinite(payment) ||\n      principal\u003c=0 ||\n      payment\u003c=0\n    ){\n      return null;\n    }\n\n    var r=apr\/100\/12;\n    var balance=principal;\n    var months=0;\n\n    while(balance\u003e0.005 \u0026\u0026 months\u003c1200){\n\n      var interest=r===0 ? 0 : balance*r;\n      var due=balance+interest;\n\n      if(due\u003c=payment){\n        months++;\n        balance=0;\n        break;\n      }\n\n      if(payment\u003c=interest \u0026\u0026 r\u003e0){\n        return null;\n      }\n\n      balance-=payment-interest;\n      months++;\n    }\n\n    return months;\n  }\n\n  function localExplainTerms(){\n\n    var c=listingContext();\n\n    var financed=Number(c.price)-Number(c.down_payment);\n    var months=localAmortizationMonths(\n      financed,\n      c.apr,\n      c.monthly_payment\n    );\n\n    var first=firstPaymentInfo();\n\n    if(\n      !Number.isFinite(c.price) ||\n      !Number.isFinite(c.down_payment) ||\n      !Number.isFinite(c.monthly_payment) ||\n      !Number.isFinite(c.apr)\n    ){\n      return null;\n    }\n\n    function fmtMoney(n){\n      return '$'+Number(n).toLocaleString('en-US',{\n        minimumFractionDigits:Number.isInteger(Number(n))?0:2,\n        maximumFractionDigits:2\n      });\n    }\n\n    var term='about 15.5 years';\n\n    if(Number.isFinite(months)){\n      term='about '+months+' months ('+(months\/12).toFixed(1)+' years)';\n    }\n\n    var ordinal=first \u0026\u0026 first.dueDay===1 ? '1st' : '15th';\n\n    var dueSentence='';\n\n    if(first){\n      dueSentence=\n        ' If purchased today, your first monthly payment would be due '+\n        first.formatted+\n        ', and your regular payment date would be the '+\n        ordinal+\n        '.';\n    }\n\n    return (\n      fmtMoney(c.price)+' sales price, '+\n      fmtMoney(c.down_payment)+' down, '+\n      fmtMoney(c.monthly_payment)+' monthly at '+\n      c.apr+'% APR. At the advertised payment, the financing runs '+\n      term+\n      ', with a smaller final payment if needed.'+\n      dueSentence+\n      ' Checkout charges the down payment; your land contract is then sent to you and monthly payments begin. You can pay off early and receive a 10% discount on the remaining principal balance.'\n    );\n  }\n\n  function localAmortizationSummary(principal,apr,payment){\n\n    principal=Number(principal);\n    apr=Number(apr);\n    payment=Number(payment);\n\n    if(\n      !Number.isFinite(principal) ||\n      !Number.isFinite(apr) ||\n      !Number.isFinite(payment) ||\n      principal\u003c=0 ||\n      payment\u003c=0\n    ){\n      return null;\n    }\n\n    var r=apr\/100\/12;\n    var balance=principal;\n    var months=0;\n    var totalInterest=0;\n\n    while(balance\u003e0.005 \u0026\u0026 months\u003c1200){\n\n      var interest=r===0 ? 0 : balance*r;\n      var due=balance+interest;\n\n      totalInterest+=interest;\n\n      if(due\u003c=payment){\n        months++;\n        balance=0;\n        break;\n      }\n\n      if(payment\u003c=interest \u0026\u0026 r\u003e0){\n        return null;\n      }\n\n      balance-=payment-interest;\n      months++;\n    }\n\n    return {\n      months:months,\n      totalInterest:totalInterest\n    };\n  }\n\n  function localExtraPaymentAnswer(extra){\n\n    var c=listingContext();\n\n    var principal=Number(c.price)-Number(c.down_payment);\n\n    var normal=localAmortizationSummary(\n      principal,\n      c.apr,\n      c.monthly_payment\n    );\n\n    var accelerated=localAmortizationSummary(\n      principal,\n      c.apr,\n      Number(c.monthly_payment)+Number(extra)\n    );\n\n    if(!normal || !accelerated) return null;\n\n    var total=Number(c.monthly_payment)+Number(extra);\n    var savedMonths=normal.months-accelerated.months;\n    var savedInterest=normal.totalInterest-accelerated.totalInterest;\n\n    function fmtMoney(n){\n      return '$'+Number(n).toLocaleString('en-US',{\n        minimumFractionDigits:Number.isInteger(Number(n))?0:2,\n        maximumFractionDigits:2\n      });\n    }\n\n    var text=\n      'If you choose to pay '+\n      fmtMoney(extra)+\n      ' extra each month, your total monthly amount would be '+\n      fmtMoney(total)+\n      '. ';\n\n    text+=\n      'That would pay the balance off in about '+\n      accelerated.months+\n      ' months ('+\n      (accelerated.months\/12).toFixed(1)+\n      ' years)';\n\n    if(savedMonths\u003e0){\n      text+=', about '+savedMonths+' months sooner';\n    }\n\n    if(savedInterest\u003e0.5){\n      text+=' and about '+fmtMoney(savedInterest)+' less interest';\n    }\n\n    return text+'.';\n  }\n\n  var cachedExplainTerms=localExplainTerms();\n\n  async function ask(q,responseStyle){\n\n    q=String(q||'').trim();\n\n    if(!q) return;\n\n    responseStyle=responseStyle||'micro';\n\n    loading(true);\n\n    try{\n\n      var response=await fetch(WORKER_URL,{\n        method:'POST',\n        headers:{\n          'Content-Type':'application\/json'\n        },\n        body:JSON.stringify({\n          application:'terms_box',\n          mode:'policy',\n          response_style:responseStyle,\n          question:q,\n          listing_context:listingContext()\n        })\n      });\n\n      if(!response.ok){\n        throw new Error('request failed');\n      }\n\n      var data=await response.json();\n\n      answer.textContent=\n        data.answer||\n        'I could not find enough information to answer that.';\n\n      answer.hidden=false;\n      showFollowupState();\n\n    } catch(e){\n\n      answer.textContent=\n        'Sorry, we could not check those terms right now. Please try again.';\n\n      answer.hidden=false;\n      showFollowupState();\n\n    } finally {\n\n      loading(false);\n\n    }\n  }\n\n  updateExtraPaymentPrompt();\n\n  var extraPromptButton=\n    widget.querySelector('[data-ols-extra-prompt]');\n\n  var cachedExtraPaymentAnswer=null;\n\n  if(extraPromptButton){\n\n    var q=\n      extraPromptButton.getAttribute('data-question')||'';\n\n    var m=\n      q.match(\/\\$([\\d,]+(?:\\.\\d{1,2})?)\/);\n\n    if(m){\n      cachedExtraPaymentAnswer=\n        localExtraPaymentAnswer(\n          Number(m[1].replace(\/,\/g,''))\n        );\n    }\n  }\n\n  toggle.addEventListener('click',function(){\n\n    var opening=panel.hidden;\n\n    panel.hidden=!panel.hidden;\n\n    toggle.setAttribute(\n      'aria-expanded',\n      opening?'true':'false'\n    );\n\n    if(opening){\n      setTimeout(function(){\n        input.focus();\n      },50);\n    }\n  });\n\n  submit.addEventListener('click',function(){\n\n    if(payoffChoices){\n      payoffChoices.hidden=true;\n    }\n\n    ask(input.value,'micro');\n  });\n\n  input.addEventListener('keydown',function(e){\n\n    if(e.key==='Enter'){\n\n      e.preventDefault();\n\n      if(payoffChoices){\n        payoffChoices.hidden=true;\n      }\n\n      ask(input.value,'micro');\n    }\n  });\n\n  widget.querySelectorAll('[data-question]').forEach(function(btn){\n\n    btn.addEventListener('click',function(){\n\n      var q=btn.getAttribute('data-question');\n      var responseStyle=\n        btn.getAttribute('data-style')||'micro';\n\n      input.value=q;\n\n      if(payoffChoices){\n        payoffChoices.hidden=true;\n      }\n\n      if(btn.hasAttribute('data-local-explain')){\n\n        if(cachedExplainTerms){\n\n          answer.textContent=cachedExplainTerms;\n          answer.hidden=false;\n          showFollowupState();\n\n          return;\n        }\n      }\n\n      if(btn.hasAttribute('data-ols-extra-prompt')){\n\n        if(cachedExtraPaymentAnswer){\n\n          answer.textContent=cachedExtraPaymentAnswer;\n          answer.hidden=false;\n          showFollowupState();\n\n          return;\n        }\n      }\n\n      ask(q,responseStyle);\n\n    });\n\n  });\n\n  if(payoffPrompt){\n\n    payoffPrompt.addEventListener('click',function(){\n\n      answer.textContent=\n        'OLS offers a 10% discount on the remaining principal balance for early payoff. When might you want to pay it off?';\n\n      answer.hidden=false;\n\n      showFollowupState();\n\n      if(payoffChoices){\n        payoffChoices.hidden=false;\n      }\n\n    });\n\n  }\n\n  widget.querySelectorAll('[data-payoff-years]').forEach(function(btn){\n\n    btn.addEventListener('click',function(){\n\n      var years=\n        Number(btn.getAttribute('data-payoff-years'));\n\n      if(!Number.isFinite(years)) return;\n\n      var q=\n        'If I make the regular advertised monthly payments for '+\n        years+\n        ' year'+\n        (years===1?'':'s')+\n        ', what would my estimated remaining principal and early payoff amount be after applying the 10% OLS early-payoff discount?';\n\n      input.value=q;\n\n      ask(q,'micro');\n\n    });\n\n  });\n\n})();\n\u003c\/script\u003e\n\n\u003c!-- \/OLS Terms Assistant v1 --\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"clear-fix\"\u003e\n\u003cdiv class=\"image-container col-md-12\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\n\u003cdiv class=\"ols-down-payment-options\" style=\"clear:both;text-align:center;margin:10px auto 4px;max-width:1100px;\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/downpayment3optionols.jpg?v=1790309732\" alt=\"OLS Down Payment Options - Standard $121, Premium $500, Superior $1,000\" style=\"display:block;width:100%;max-width:1100px;height:auto;margin:0 auto;\"\u003e\n\n\u003c\/div\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eSize: 1.50 Acres\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eZONING: Residential (no HOA)\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eUtilities: No (off-grid)\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eGPS: 32.014897, -107.488535\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eTAXES: Approx. \u003c\/p\u003e\n\u003cp class=\"lot-details\"\u003eTAXES: 8 a year\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cp class=\"lot-details\"\u003eAPN: 57948 (part)\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003c!-- Gallery Test --\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\n.container-gallery {\n    max-width:800px;\n    width:100%;\n    margin:auto;\n    position:relative;\n}\n\n.mySlides {\n    display:none;\n}\n\n.cursor {\n    cursor:pointer;\n}\n\n.prev,\n.next {\n    cursor:pointer;\n    position:absolute;\n    top:40%;\n    width:auto;\n    padding:16px;\n    margin-top:-50px;\n    color:white;\n    font-weight:bold;\n    font-size:20px;\n    border-radius:0 3px 3px 0;\n    user-select:none;\n    -webkit-user-select:none;\n    text-decoration:none;\n    z-index:3;\n}\n\n.next {\n    right:0;\n    border-radius:3px 0 0 3px;\n}\n\n.prev {\n    left:0;\n}\n\n.prev:hover,\n.next:hover {\n    background-color:rgba(0,0,0,.8);\n}\n\n.numbertext {\n    color:#f2f2f2;\n    font-size:12px;\n    padding:8px 12px;\n    position:absolute;\n    top:0;\n}\n\n.caption-container {\n    text-align:center;\n    background-color:#6b85b1;\n    color:white;\n}\n\np#caption {\n    margin:0;\n}\n\n.row-gallery::after {\n    content:\"\";\n    display:table;\n    clear:both;\n}\n\n.column {\n    float:left;\n    width:16.66%;\n}\n\n.demo {\n    opacity:.6;\n}\n\n.active,\n.demo:hover {\n    opacity:1;\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"clear-fix\"\u003e\n\u003cdiv class=\"image-container col-md-12\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"clear-fix\"\u003e\n\u003cdiv class=\"image-container col-md-12\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\n\u003cp class=\"gallery-heading\" style=\"text-align:center;font-size:20px;font-weight:bold;margin:18px 0 10px;color:#333;\"\u003e\nExplore this lot at Sunshine Valley Ranchettes\n\u003c\/p\u003e\n\n\u003cdiv class=\"container-gallery\"\u003e\n\n\u003cdiv class=\"mySlides\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222\" style=\"width:100%;\"\u003e\n\u003c\/div\u003e\n\n\u003ca class=\"prev\" href=\"#\" aria-label=\"Previous image\"\u003e❮\u003c\/a\u003e\n\u003ca class=\"next\" href=\"#\" aria-label=\"Next image\"\u003e❯\u003c\/a\u003e\n\n\u003cdiv class=\"caption-container\"\u003e\n\u003cp id=\"caption\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row-gallery\"\u003e\n\n\u003cdiv class=\"column\"\u003e\n\u003cimg alt=\"1\" class=\"demo cursor\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222\" style=\"width:100%;\"\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\nvar slideIndex=1;\n\nshowSlides(slideIndex);\n\nfunction plusSlides(n){\n    showSlides(slideIndex+=n);\n}\n\nfunction currentSlide(n){\n    showSlides(slideIndex=n);\n}\n\nfunction showSlides(n){\n\n    var i;\n\n    var slides=\n        document.getElementsByClassName(\"mySlides\");\n\n    var dots=\n        document.getElementsByClassName(\"demo\");\n\n    var captionText=\n        document.getElementById(\"caption\");\n\n    if(n\u003eslides.length){\n        slideIndex=1;\n    }\n\n    if(n\u003c1){\n        slideIndex=slides.length;\n    }\n\n    for(i=0;i\u003cslides.length;i++){\n        slides[i].style.display=\"none\";\n    }\n\n    for(i=0;i\u003cdots.length;i++){\n        dots[i].className=\n            dots[i].className.replace(\" active\",\"\");\n    }\n\n    slides[slideIndex-1].style.display=\"block\";\n\n    dots[slideIndex-1].className+=\" active\";\n\n    captionText.innerHTML=\n        dots[slideIndex-1].alt;\n}\n\ndocument.querySelectorAll(\".container-gallery .demo\").forEach(\nfunction(img,index){\n\n    img.addEventListener(\"click\",function(){\n        currentSlide(index+1);\n    });\n\n});\n\ndocument.querySelectorAll(\".container-gallery .prev\").forEach(\nfunction(button){\n\n    button.addEventListener(\"click\",function(e){\n        e.preventDefault();\n        plusSlides(-1);\n    });\n\n});\n\ndocument.querySelectorAll(\".container-gallery .next\").forEach(\nfunction(button){\n\n    button.addEventListener(\"click\",function(e){\n        e.preventDefault();\n        plusSlides(1);\n    });\n\n});\n\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Gallery Test End --\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-imagine-shell\"\u003e\n\n\u003cdiv class=\"ols-imagine\" data-worker=\"https:\/\/ols-imagine-place.service-2e6.workers.dev\/api\/imagine-place\" data-image=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222\" data-display-image=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222\u0026amp;width=900\" data-subdivision=\"Sunshine Valley Ranchettes\"\u003e\n\n\u003cdiv class=\"ols-imagine-inner\"\u003e\n\n\u003ch2\u003eSee What You Could Do Here\u003c\/h2\u003e\n\n\u003cp class=\"ols-imagine-lead\"\u003e\nChoose an idea and see it take shape on this property.\n\u003c\/p\u003e\n\n\u003cdiv class=\"ols-image-area\"\u003e\n\n\u003cimg class=\"ols-main-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222\u0026amp;width=900\" alt=\"Sunshine Valley Ranchettes Unit 19, Block 16, Lots 14, 31 \u0026amp; 32 area view\" loading=\"lazy\"\u003e\n\n\u003cdiv class=\"ols-image-loading\" hidden=\"\"\u003e\n\n\u003cdiv class=\"ols-compass\"\u003e\n\u003cdiv class=\"ols-compass-ring\"\u003e\n\n\u003cspan class=\"ols-compass-n\"\u003eN\u003c\/span\u003e\n\u003cspan class=\"ols-compass-e\"\u003eE\u003c\/span\u003e\n\u003cspan class=\"ols-compass-s\"\u003eS\u003c\/span\u003e\n\u003cspan class=\"ols-compass-w\"\u003eW\u003c\/span\u003e\n\n\u003cdiv class=\"ols-compass-needle\"\u003e\n\u003cspan class=\"ols-compass-arrow\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-compass-center\"\u003e\n\u003cspan class=\"ols-compass-ols\"\u003eOLS\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstrong\u003eWe're creating your view...\u003c\/strong\u003e\n\n\u003cspan\u003eVisualizing your idea on this property.\u003c\/span\u003e\n\n\u003cspan class=\"ols-loading-explore\" hidden=\"\"\u003e\nWhile your view is coming together, feel free to keep exploring this property page.\n\u003c\/span\u003e\n\n\u003cspan class=\"ols-loading-note\" hidden=\"\"\u003e\nNo rush — your view will be here when you come back.\n\u003c\/span\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-purpose-stage\"\u003e\n\n\u003cdiv class=\"ols-question\"\u003e\nWhat would you do with this land?\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-choice-row\"\u003e\n\n\u003cbutton type=\"button\" data-purpose=\"Live Here\"\u003e\nLive Here\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-purpose=\"Vacation Getaway\"\u003e\nVacation Getaway\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-purpose=\"Recreation\"\u003e\nRecreation\n\u003c\/button\u003e\n\n\u003cbutton type=\"button\" data-purpose=\"Investment\"\u003e\nInvestment\n\u003c\/button\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-use-stage\" hidden=\"\"\u003e\n\n\u003cdiv class=\"ols-selected-purpose\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"ols-question ols-use-question\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"ols-choice-row ols-use-options\"\u003e\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"ols-link-button ols-change-purpose\"\u003e\n← Change Purpose\n\u003c\/button\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-result-controls\" hidden=\"\"\u003e\n\n\u003cdiv class=\"ols-result-title\"\u003e\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"ols-link-button ols-view-original\"\u003e\nView Original Property Image\n\u003c\/button\u003e\n\n\u003cdiv class=\"ols-refine\"\u003e\n\n\u003cdiv class=\"ols-refine-title\"\u003e\nMake It Your Own\n\u003c\/div\u003e\n\n\u003cp class=\"ols-refine-copy\"\u003e\nChoose a quick change or describe what you'd like to see.\n\u003c\/p\u003e\n\n\u003cdiv class=\"ols-refine-buttons\"\u003e\u003c\/div\u003e\n\n\u003ctextarea class=\"ols-refine-text\" rows=\"3\" maxlength=\"500\" placeholder=\"Example: Add a larger porch and a firepit.\"\u003e\u003c\/textarea\u003e\n\n\u003cbutton type=\"button\" class=\"ols-redraw\"\u003e\nRedraw My View\n\u003c\/button\u003e\n\n\u003cdiv class=\"ols-redraw-count\"\u003e\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"ols-link-button ols-start-over\"\u003e\nTry Another Idea\n\u003c\/button\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"ols-message\"\u003e\u003c\/div\u003e\n\n\u003cp class=\"ols-disclaimer\"\u003e\nConcept visualization only. Building, zoning, utility, access and permit requirements should be independently verified.\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\n.ols-imagine-shell {\n  clear:both !important;\n  float:none !important;\n  display:block !important;\n  width:100% !important;\n  max-width:100% !important;\n  position:relative !important;\n  box-sizing:border-box !important;\n}\n\n.ols-imagine-shell::before,\n.ols-imagine-shell::after {\n  content:\"\";\n  display:table;\n  clear:both;\n}\n\n.ols-imagine {\n  clear:both !important;\n  float:none !important;\n  display:block !important;\n  width:100% !important;\n  max-width:100% !important;\n  position:relative !important;\n  box-sizing:border-box !important;\n}\n\n.ols-imagine-inner {\n  clear:both !important;\n  float:none !important;\n  display:block !important;\n  width:100% !important;\n  max-width:800px !important;\n  margin-left:auto !important;\n  margin-right:auto !important;\n  box-sizing:border-box !important;\n}\n\n.ols-imagine h2 {\n  margin:0 0 8px;\n  text-align:center;\n  font-size:30px;\n  line-height:1.25;\n  font-weight:500;\n}\n\n.ols-imagine-lead {\n  max-width:720px;\n  margin:0 auto 20px;\n  text-align:center;\n  font-size:17px;\n  line-height:1.5;\n}\n\n.ols-imagine {\n  width:100%;\n  margin:34px 0;\n}\n\n.ols-image-area {\n  position:relative;\n  width:100%;\n}\n\n.ols-main-image {\n  display:block;\n  width:100%;\n  height:auto;\n  border-radius:12px;\n}\n\n.ols-image-loading {\n  min-height:270px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  text-align:center;\n}\n\n.ols-image-loading[hidden] {\n  display:none;\n}\n\n.ols-image-loading strong {\n  font-size:18px;\n}\n\n.ols-image-loading span {\n  margin-top:6px;\n  color:#667085;\n  font-size:14px;\n}\n\n.ols-loading-explore {\n  max-width:590px;\n  margin-top:12px !important;\n  padding:0 18px;\n  font-size:14px !important;\n  line-height:1.5;\n  color:#536b89 !important;\n}\n\n.ols-loading-note {\n  margin-top:5px !important;\n  font-size:12px !important;\n  line-height:1.45;\n  color:#8a94a3 !important;\n}\n\n.ols-loading-explore[hidden],\n.ols-loading-note[hidden] {\n  display:none;\n}\n\n.ols-compass {\n  width:92px;\n  height:92px;\n  margin:0 auto 17px;\n}\n\n.ols-compass-ring {\n  position:relative;\n  width:92px;\n  height:92px;\n  box-sizing:border-box;\n  border:2px solid #7092BF;\n  border-radius:50%;\n  color:#536b89;\n  font-size:12px;\n  font-weight:700;\n}\n\n.ols-compass-n,\n.ols-compass-e,\n.ols-compass-s,\n.ols-compass-w {\n  position:absolute;\n  line-height:1;\n}\n\n.ols-compass-n {\n  top:7px;\n  left:50%;\n  transform:translateX(-50%);\n}\n\n.ols-compass-s {\n  bottom:7px;\n  left:50%;\n  transform:translateX(-50%);\n}\n\n.ols-compass-e {\n  right:8px;\n  top:50%;\n  transform:translateY(-50%);\n}\n\n.ols-compass-w {\n  left:8px;\n  top:50%;\n  transform:translateY(-50%);\n}\n\n.ols-compass-needle {\n  position:absolute;\n  left:50%;\n  top:50%;\n  width:4px;\n  height:54px;\n  margin-left:-2px;\n  margin-top:-27px;\n  transform-origin:50% 50%;\n  animation:ols-compass-spin 4.5s linear infinite;\n}\n\n.ols-compass-arrow {\n  position:absolute;\n  top:0;\n  left:50%;\n  width:0;\n  height:0;\n  transform:translateX(-50%);\n  border-left:7px solid transparent;\n  border-right:7px solid transparent;\n  border-bottom:25px solid #7092BF;\n}\n\n.ols-compass-needle::after {\n  content:\"\";\n  position:absolute;\n  bottom:2px;\n  left:50%;\n  width:3px;\n  height:23px;\n  transform:translateX(-50%);\n  background:#9aa8b9;\n}\n\n.ols-compass-center {\n  position:absolute;\n  left:50%;\n  top:50%;\n  width:28px;\n  height:28px;\n  transform:translate(-50%,-50%);\n  border-radius:50%;\n  background:#fff;\n  border:1.5px solid #7092BF;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  z-index:2;\n}\n\n.ols-compass-ols {\n  font-size:9px;\n  line-height:1;\n  font-weight:700;\n  letter-spacing:.4px;\n  color:#536b89;\n}\n\n@keyframes ols-compass-spin {\n  from {transform:rotate(0deg)}\n  to {transform:rotate(360deg)}\n}\n\n@media(prefers-reduced-motion:reduce) {\n  .ols-compass-needle {\n    animation:none;\n    transform:rotate(25deg);\n  }\n}\n\n.ols-purpose-stage,\n.ols-use-stage,\n.ols-result-controls {\n  margin-top:24px;\n  text-align:center;\n}\n\n.ols-question {\n  margin-bottom:14px;\n  font-size:20px;\n  font-weight:600;\n}\n\n.ols-selected-purpose {\n  margin-bottom:5px;\n  color:#667085;\n  font-size:14px;\n}\n\n.ols-choice-row,\n.ols-refine-buttons {\n  display:flex;\n  flex-wrap:wrap;\n  justify-content:center;\n  gap:10px;\n}\n\n.ols-choice-row button,\n.ols-refine-buttons button {\n  appearance:none;\n  border:1px solid #c7d2df;\n  background:#f6f8fb;\n  color:#222;\n  border-radius:25px;\n  padding:12px 19px;\n  font-size:15px;\n  line-height:1.2;\n  cursor:pointer;\n}\n\n.ols-choice-row button:hover,\n.ols-refine-buttons button:hover {\n  background:#7092BF;\n  border-color:#7092BF;\n  color:#fff;\n}\n\n.ols-result-title {\n  margin-bottom:8px;\n  font-size:19px;\n  font-weight:600;\n}\n\n.ols-link-button {\n  padding:6px;\n  border:0;\n  background:transparent;\n  color:#555;\n  font-size:14px;\n  text-decoration:underline;\n  cursor:pointer;\n}\n\n.ols-refine {\n  margin-top:22px;\n}\n\n.ols-refine-title {\n  font-size:21px;\n  font-weight:600;\n}\n\n.ols-refine-copy {\n  margin:5px 0 14px;\n}\n\n.ols-refine-buttons {\n  margin-bottom:14px;\n}\n\n.ols-refine-text {\n  display:block;\n  width:100%;\n  min-height:90px;\n  padding:13px;\n  border:1px solid #c7d2df;\n  border-radius:10px;\n  box-sizing:border-box;\n  font-family:inherit;\n  font-size:16px;\n  line-height:1.45;\n  resize:vertical;\n}\n\n.ols-redraw {\n  min-width:190px;\n  margin-top:14px;\n  padding:14px 27px;\n  border:0;\n  border-radius:28px;\n  background:#7092BF;\n  color:#fff;\n  font-size:16px;\n  font-weight:600;\n  cursor:pointer;\n}\n\n.ols-redraw:disabled {\n  opacity:.5;\n  cursor:not-allowed;\n}\n\n.ols-redraw-count {\n  margin-top:8px;\n  color:#727b88;\n  font-size:12px;\n}\n\n.ols-start-over {\n  margin-top:18px;\n}\n\n.ols-message {\n  min-height:20px;\n  margin-top:13px;\n  text-align:center;\n  font-size:14px;\n  line-height:1.4;\n}\n\n.ols-disclaimer {\n  max-width:720px;\n  margin:15px auto 0;\n  text-align:center;\n  color:#727b88;\n  font-size:12px;\n  line-height:1.45;\n}\n\n@media(max-width:600px) {\n  .ols-imagine h2 {\n    font-size:25px;\n  }\n\n  .ols-imagine-lead {\n    font-size:16px;\n  }\n\n  .ols-choice-row,\n  .ols-refine-buttons {\n    display:grid;\n    grid-template-columns:1fr 1fr;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"ols-imagine-shell\"\u003e\n\n\u003cscript\u003e\n(function(){\n\n  document.querySelectorAll(\".ols-imagine\").forEach(function(root){\n\n    if(root.dataset.initialized===\"true\") return;\n\n    root.dataset.initialized=\"true\";\n\n    const worker=root.dataset.worker;\n    const sourceImage=root.dataset.image;\n    const originalDisplayImage=root.dataset.displayImage;\n    const subdivision=root.dataset.subdivision;\n\n    const mainImage=root.querySelector(\".ols-main-image\");\n    const loading=root.querySelector(\".ols-image-loading\");\n    const loadingExplore=root.querySelector(\".ols-loading-explore\");\n    const loadingNote=root.querySelector(\".ols-loading-note\");\n    const purposeStage=root.querySelector(\".ols-purpose-stage\");\n    const useStage=root.querySelector(\".ols-use-stage\");\n    const resultControls=root.querySelector(\".ols-result-controls\");\n    const useQuestion=root.querySelector(\".ols-use-question\");\n    const useOptions=root.querySelector(\".ols-use-options\");\n    const selectedPurposeLabel=root.querySelector(\".ols-selected-purpose\");\n    const resultTitle=root.querySelector(\".ols-result-title\");\n    const refineButtons=root.querySelector(\".ols-refine-buttons\");\n    const refineText=root.querySelector(\".ols-refine-text\");\n    const redrawButton=root.querySelector(\".ols-redraw\");\n    const redrawCount=root.querySelector(\".ols-redraw-count\");\n    const viewOriginalButton=root.querySelector(\".ols-view-original\");\n    const message=root.querySelector(\".ols-message\");\n\n    let selectedPurpose=\"\";\n    let selectedUse=\"\";\n    let generatedImageUrl=\"\";\n    let customRedraws=0;\n    let exploreTimer=null;\n    let slowTimer=null;\n\n    const maxCustomRedraws=3;\n\n    const menus={\n      \"Live Here\":{\n        question:\"What kind of place do you imagine?\",\n        choices:[\n          \"Small Home\",\n          \"Ranch Home\",\n          \"Manufactured Home\",\n          \"Modern Home\"\n        ]\n      },\n\n      \"Vacation Getaway\":{\n        question:\"What kind of getaway do you imagine?\",\n        choices:[\n          \"Rustic Cabin\",\n          \"A-Frame Cabin\",\n          \"Tiny Cabin\",\n          \"Modern Cabin\"\n        ]\n      },\n\n      \"Recreation\":{\n        question:\"How would you use the property?\",\n        choices:[\n          \"RV Getaway\",\n          \"Camping Retreat\",\n          \"Off-Grid Basecamp\",\n          \"Recreation Cabin\"\n        ]\n      },\n\n      \"Investment\":{\n        question:\"What would you like to imagine?\",\n        choices:[\n          \"Future Homesite\",\n          \"Rental Cabin\",\n          \"Small Rental Home\",\n          \"Simple Improvements\"\n        ]\n      }\n    };\n\n    const refinements={\n      \"RV Getaway\":[\n        \"Add a covered patio\",\n        \"Add a firepit\",\n        \"Add an ATV\",\n        \"Make it more comfortable\"\n      ],\n\n      \"Camping Retreat\":[\n        \"Add another tent\",\n        \"Add a picnic area\",\n        \"Add a firepit\",\n        \"Make it more comfortable\"\n      ],\n\n      \"Off-Grid Basecamp\":[\n        \"Add solar panels\",\n        \"Add an RV\",\n        \"Add outdoor seating\",\n        \"Make the shelter larger\"\n      ],\n\n      \"Recreation Cabin\":[\n        \"Add a porch\",\n        \"Add a firepit\",\n        \"Make the cabin larger\",\n        \"Make it more rustic\"\n      ],\n\n      \"Rustic Cabin\":[\n        \"Add a bigger porch\",\n        \"Add a firepit\",\n        \"Make it larger\",\n        \"Add a garage\"\n      ],\n\n      \"A-Frame Cabin\":[\n        \"Add a deck\",\n        \"Add a firepit\",\n        \"Make it larger\",\n        \"Add outdoor seating\"\n      ],\n\n      \"Tiny Cabin\":[\n        \"Add a porch\",\n        \"Add a firepit\",\n        \"Add solar panels\",\n        \"Make it more modern\"\n      ],\n\n      \"Modern Cabin\":[\n        \"Add a deck\",\n        \"Add larger windows\",\n        \"Add a firepit\",\n        \"Make it larger\"\n      ],\n\n      \"Small Home\":[\n        \"Add a garage\",\n        \"Add a covered porch\",\n        \"Add fencing\",\n        \"Make it larger\"\n      ],\n\n      \"Ranch Home\":[\n        \"Add a garage\",\n        \"Add a larger porch\",\n        \"Add fencing\",\n        \"Add a workshop\"\n      ],\n\n      \"Manufactured Home\":[\n        \"Add a porch\",\n        \"Add a garage\",\n        \"Add fencing\",\n        \"Add a driveway\"\n      ],\n\n      \"Modern Home\":[\n        \"Add a garage\",\n        \"Add a patio\",\n        \"Add larger windows\",\n        \"Make it larger\"\n      ],\n\n      \"Future Homesite\":[\n        \"Add a driveway\",\n        \"Clear a larger area\",\n        \"Add fencing\",\n        \"Add a small building\"\n      ],\n\n      \"Rental Cabin\":[\n        \"Add a deck\",\n        \"Add a firepit\",\n        \"Add outdoor seating\",\n        \"Make it larger\"\n      ],\n\n      \"Small Rental Home\":[\n        \"Add a garage\",\n        \"Add a porch\",\n        \"Add fencing\",\n        \"Add parking\"\n      ],\n\n      \"Simple Improvements\":[\n        \"Add fencing\",\n        \"Add a driveway\",\n        \"Add a gate\",\n        \"Clear a larger area\"\n      ]\n    };\n\n    function clearLoadingTimers(){\n\n      if(exploreTimer){\n        clearTimeout(exploreTimer);\n        exploreTimer=null;\n      }\n\n      if(slowTimer){\n        clearTimeout(slowTimer);\n        slowTimer=null;\n      }\n\n      loadingExplore.hidden=true;\n      loadingNote.hidden=true;\n    }\n\n    function startLoadingTimers(){\n\n      clearLoadingTimers();\n\n      exploreTimer=setTimeout(function(){\n        loadingExplore.hidden=false;\n      },3000);\n\n      slowTimer=setTimeout(function(){\n        loadingNote.hidden=false;\n      },10000);\n    }\n\n    function resetToOriginal(){\n\n      clearLoadingTimers();\n\n      selectedPurpose=\"\";\n      selectedUse=\"\";\n      generatedImageUrl=\"\";\n      refineText.value=\"\";\n\n      mainImage.onload=null;\n      mainImage.onerror=null;\n\n      mainImage.src=originalDisplayImage;\n      mainImage.hidden=false;\n\n      loading.hidden=true;\n      resultControls.hidden=true;\n      useStage.hidden=true;\n      purposeStage.hidden=false;\n\n      viewOriginalButton.hidden=true;\n\n      message.textContent=\"\";\n    }\n\n    function updateRedrawCount(){\n\n      const remaining=\n        maxCustomRedraws-customRedraws;\n\n      if(remaining\u003e0){\n\n        redrawCount.textContent=\n          remaining+\n          (remaining===1\n            ?\" custom redraw remaining\"\n            :\" custom redraws remaining\");\n\n        redrawButton.disabled=false;\n        refineText.disabled=false;\n\n        refineButtons.querySelectorAll(\"button\")\n        .forEach(function(button){\n          button.disabled=false;\n        });\n\n      } else {\n\n        redrawCount.textContent=\n          \"You've used your 3 custom redraws.\";\n\n        redrawButton.disabled=true;\n        refineText.disabled=true;\n\n        refineButtons.querySelectorAll(\"button\")\n        .forEach(function(button){\n          button.disabled=true;\n        });\n      }\n    }\n\n    root.querySelectorAll(\"[data-purpose]\")\n    .forEach(function(button){\n\n      button.addEventListener(\"click\",function(){\n\n        selectedPurpose=this.dataset.purpose;\n        selectedUse=\"\";\n\n        const menu=\n          menus[selectedPurpose];\n\n        selectedPurposeLabel.textContent=\n          selectedPurpose;\n\n        useQuestion.textContent=\n          menu.question;\n\n        useOptions.innerHTML=\"\";\n\n        menu.choices.forEach(function(choice){\n\n          const btn=\n            document.createElement(\"button\");\n\n          btn.type=\"button\";\n          btn.textContent=choice;\n\n          btn.addEventListener(\"click\",function(){\n\n            selectedUse=choice;\n\n            purposeStage.hidden=true;\n            useStage.hidden=true;\n\n            generateImage(\"\",false);\n\n          });\n\n          useOptions.appendChild(btn);\n\n        });\n\n        purposeStage.hidden=true;\n        useStage.hidden=false;\n        resultControls.hidden=true;\n\n        message.textContent=\"\";\n\n      });\n\n    });\n\n    root.querySelector(\".ols-change-purpose\")\n    .addEventListener(\"click\",function(){\n\n      clearLoadingTimers();\n\n      selectedPurpose=\"\";\n      selectedUse=\"\";\n\n      useStage.hidden=true;\n      resultControls.hidden=true;\n      purposeStage.hidden=false;\n\n      mainImage.src=\n        originalDisplayImage;\n\n      viewOriginalButton.hidden=true;\n\n      message.textContent=\"\";\n\n    });\n\n    function buildRefinements(){\n\n      refineButtons.innerHTML=\"\";\n\n      const options=\n        refinements[selectedUse]||[];\n\n      options.forEach(function(text){\n\n        const btn=\n          document.createElement(\"button\");\n\n        btn.type=\"button\";\n        btn.textContent=text;\n\n        btn.addEventListener(\"click\",function(){\n\n          refineText.value=text;\n          refineText.focus();\n\n        });\n\n        refineButtons.appendChild(btn);\n\n      });\n\n      updateRedrawCount();\n    }\n\n    async function generateImage(\n      refinement,\n      isCustomRedraw\n    ){\n\n      message.textContent=\"\";\n\n      purposeStage.hidden=true;\n      useStage.hidden=true;\n      resultControls.hidden=true;\n\n      mainImage.hidden=true;\n\n      loading.hidden=false;\n\n      startLoadingTimers();\n\n      try{\n\n        const response=\n          await fetch(worker,{\n            method:\"POST\",\n            headers:{\n              \"Content-Type\":\"application\/json\"\n            },\n            body:JSON.stringify({\n              imageUrl:sourceImage,\n              subdivisionName:subdivision,\n              purpose:selectedPurpose,\n              useChoice:selectedUse,\n              refinement:refinement\n            })\n          });\n\n        const data=\n          await response.json();\n\n        if(!response.ok||!data.ok){\n          throw new Error(\n            data.error||\n            \"The visualization could not be created.\"\n          );\n        }\n\n        generatedImageUrl=\n          data.imageUrl+\n          (data.imageUrl.includes(\"?\")?\"\u0026\":\"?\")+\n          \"v=\"+Date.now();\n\n        mainImage.onload=function(){\n\n          clearLoadingTimers();\n\n          mainImage.onload=null;\n          mainImage.onerror=null;\n\n          loading.hidden=true;\n          mainImage.hidden=false;\n\n          resultControls.hidden=false;\n\n          viewOriginalButton.hidden=false;\n          viewOriginalButton.textContent=\n            \"View Original Property Image\";\n\n          resultTitle.textContent=\n            selectedPurpose+\n            \" — \"+\n            selectedUse;\n\n          if(isCustomRedraw){\n            customRedraws++;\n          }\n\n          buildRefinements();\n\n          refineText.value=\"\";\n        };\n\n        mainImage.onerror=function(){\n\n          clearLoadingTimers();\n\n          mainImage.onload=null;\n          mainImage.onerror=null;\n\n          loading.hidden=true;\n          mainImage.hidden=false;\n\n          mainImage.src=\n            originalDisplayImage;\n\n          useStage.hidden=false;\n          resultControls.hidden=true;\n\n          viewOriginalButton.hidden=true;\n\n          message.textContent=\n            \"The visualization was created but could not be displayed.\";\n        };\n\n        mainImage.src=\n          generatedImageUrl;\n\n      } catch(error){\n\n        clearLoadingTimers();\n\n        loading.hidden=true;\n\n        mainImage.hidden=false;\n        mainImage.src=\n          originalDisplayImage;\n\n        useStage.hidden=false;\n        resultControls.hidden=true;\n\n        viewOriginalButton.hidden=true;\n\n        message.textContent=\n          error.message||\n          \"Something went wrong.\";\n      }\n    }\n\n    redrawButton.addEventListener(\"click\",function(){\n\n      if(customRedraws\u003e=maxCustomRedraws){\n        return;\n      }\n\n      const change=\n        refineText.value.trim();\n\n      if(!change){\n\n        message.textContent=\n          \"Tell us what you would like to change.\";\n\n        return;\n      }\n\n      generateImage(\n        change,\n        true\n      );\n\n    });\n\n    viewOriginalButton.addEventListener(\"click\",function(){\n      resetToOriginal();\n    });\n\n    root.querySelector(\".ols-start-over\")\n    .addEventListener(\"click\",function(){\n      resetToOriginal();\n    });\n\n    viewOriginalButton.hidden=true;\n\n  });\n\n})();\n\u003c\/script\u003e\n\n\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003c!-- end ols-imagine-shell --\u003e\n\n\u003cdiv class=\"container-fluid-2\"\u003e\n\n\u003cdiv class=\"container-top bottom\"\u003e\n\n\u003cp class=\"lot-name-title\"\u003e\nLocation and Legal Description\n\u003c\/p\u003e\n\n\u003cp class=\"lot-description\"\u003e\nSunshine Valley Ranchettes, Luna County, New Mexico\u003cbr\u003e\n1.50 Acres\u003cbr\u003e\nUnit 19, Block 16, Lots 14, 31 \u0026amp; 32\n\u003c\/p\u003e\n\n\u003cp style=\"font-size:17px;\"\u003e\n\u003cb\u003eSunshine Valley Ranchettes, NM – 1.50 Acres in Luna County\u003c\/b\u003e\u003cbr\u003e\n1.50 acres of adjoining lots in Unit 19, Block 16 of Sunshine Valley Ranchettes, between Deming and Columbus in Luna County. Level high-desert land with wide-open views and very low taxes. Camp, RV, or build a mobile, modular or site-built home.\n\u003c\/p\u003e\n\n\u003cp style=\"text-align:center;margin-top:18px;margin-bottom:0;\"\u003e\n\u003ca href=\"https:\/\/store.onlinelandsales.com\/collections\/sunshine-valley-ranchettes\" style=\"color:#337ab7;font-weight:bold;text-decoration:none;\"\u003e\n← See All Sunshine Valley Ranchettes Lots\n\u003c\/a\u003e\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003c!-- OLS OWNERSHIP EXPERIENCE START --\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\n\n\u003cstyle\u003e\n\n.ols-ownexp {\n  clear:both;\n  max-width:1160px;\n  margin:16px auto 14px;\n  padding:14px 18px 10px;\n  border-top:1px solid #d9e1ec;\n  border-bottom:1px solid #d9e1ec;\n  font-family:Arial,sans-serif;\n  color:#2f4058;\n  box-sizing:border-box;\n}\n\n.ols-ownexp * {\n  box-sizing:border-box;\n}\n\n.ols-ownexp-title {\n  text-align:center;\n  margin:0 0 3px;\n  font-size:22px;\n  line-height:1.15;\n  font-weight:700;\n  color:#2f4058;\n}\n\n.ols-ownexp-sub {\n  text-align:center;\n  margin:0 0 12px;\n  font-size:12.5px;\n  line-height:1.3;\n  color:#6d7784;\n}\n\n.ols-ownexp-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:0;\n}\n\n.ols-ownexp-item {\n  text-align:center;\n  padding:0 13px 2px;\n  border-right:1px solid #d9e1ec;\n}\n\n.ols-ownexp-item:last-child {\n  border-right:0;\n}\n\n.ols-ownexp-icon {\n  width:42px;\n  height:42px;\n  margin:0 auto 6px;\n  border-radius:50%;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  background:#eef3f9;\n  color:#7092BF;\n}\n\n.ols-ownexp-item:nth-child(2) .ols-ownexp-icon {\n  background:#edf3ef;\n  color:#5b8567;\n}\n\n.ols-ownexp-item:nth-child(3) .ols-ownexp-icon {\n  background:#f4eee9;\n  color:#9a6a4b;\n}\n\n.ols-ownexp-item:nth-child(4) .ols-ownexp-icon {\n  background:#f5f1e7;\n  color:#aa8427;\n}\n\n.ols-ownexp-icon svg {\n  width:25px;\n  height:25px;\n}\n\n.ols-ownexp-label {\n  font-size:14px;\n  line-height:1.15;\n  font-weight:700;\n  color:#2f4058;\n  margin:0 0 5px;\n}\n\n.ols-ownexp-copy {\n  font-size:12.5px;\n  line-height:1.38;\n  color:#566170;\n  margin:0 auto;\n  max-width:245px;\n}\n\n.ols-ownexp-note {\n  margin:8px 0 0;\n  text-align:center;\n  font-size:10.5px;\n  line-height:1.3;\n  color:#7a8490;\n}\n\n.ols-seasons {\n  clear:both;\n  max-width:1160px;\n  margin:0 auto 18px;\n  padding:8px 14px 9px;\n  border:1px solid #d9e1ec;\n  border-radius:8px;\n  background:#f8fafc;\n  font-family:Arial,sans-serif;\n  color:#2f4058;\n  box-sizing:border-box;\n}\n\n.ols-seasons-row {\n  display:grid;\n  grid-template-columns:1.15fr repeat(4,1fr);\n  align-items:center;\n}\n\n.ols-seasons-head {\n  padding:0 12px 0 2px;\n}\n\n.ols-seasons-title {\n  font-size:16px;\n  line-height:1.15;\n  font-weight:700;\n  color:#2f4058;\n  margin:0 0 2px;\n}\n\n.ols-seasons-sub {\n  font-size:10.5px;\n  color:#6d7784;\n  line-height:1.25;\n}\n\n.ols-season {\n  min-width:0;\n  padding:0 10px;\n  border-left:1px solid #d9e1ec;\n}\n\n.ols-season-top {\n  display:flex;\n  align-items:center;\n  gap:6px;\n  margin-bottom:2px;\n  white-space:nowrap;\n}\n\n.ols-season-dot {\n  width:27px;\n  height:27px;\n  border-radius:50%;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  font-size:15px;\n  flex:0 0 27px;\n}\n\n.ols-season.spring .ols-season-dot {\n  background:#f7e9ef;\n  color:#c66a91;\n}\n\n.ols-season.summer .ols-season-dot {\n  background:#fbf2d9;\n  color:#c58a14;\n}\n\n.ols-season.fall .ols-season-dot {\n  background:#f7e6dc;\n  color:#b85e32;\n}\n\n.ols-season.winter .ols-season-dot {\n  background:#e8f1f9;\n  color:#4e83b5;\n}\n\n.ols-season-name {\n  font-size:12.5px;\n  font-weight:700;\n  color:#2f4058;\n}\n\n.ols-season-range {\n  font-size:10.5px;\n  color:#617080;\n  margin-left:auto;\n}\n\n.ols-season-copy {\n  font-size:10.8px;\n  line-height:1.28;\n  color:#566170;\n}\n\n.ols-climate-note {\n  margin:5px 0 0;\n  text-align:right;\n  font-size:9px;\n  color:#8b949e;\n}\n\n@media(max-width:760px) {\n\n  .ols-ownexp {\n    padding:12px 10px 9px;\n  }\n\n  .ols-ownexp-title {\n    font-size:19px;\n  }\n\n  .ols-ownexp-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    row-gap:14px;\n  }\n\n  .ols-ownexp-item:nth-child(2) {\n    border-right:0;\n  }\n\n  .ols-ownexp-item:nth-child(3),\n  .ols-ownexp-item:nth-child(4) {\n    border-top:1px solid #e5eaf0;\n    padding-top:12px;\n  }\n\n  .ols-ownexp-item:nth-child(4) {\n    border-right:0;\n  }\n\n  .ols-seasons {\n    padding:9px 10px;\n  }\n\n  .ols-seasons-row {\n    grid-template-columns:1fr 1fr;\n  }\n\n  .ols-seasons-head {\n    grid-column:1\/-1;\n    text-align:center;\n    padding:0 0 7px;\n  }\n\n  .ols-season {\n    border-left:0;\n    border-top:1px solid #e5eaf0;\n    padding:7px 8px 4px;\n  }\n\n  .ols-season:nth-child(even) {\n    border-right:1px solid #e5eaf0;\n  }\n\n  .ols-climate-note {\n    text-align:center;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"clear-fix\"\u003e\n\u003cdiv class=\"image-container col-md-12\"\u003e\n\u003cdiv class=\"container-fluid-2\"\u003e\n\n\u003csection class=\"ols-ownexp\" data-ols-ownership-subdivision=\"Sunshine Valley Ranchettes\"\u003e\n  \u003ch3 class=\"ols-ownexp-title\"\u003eWhat Could Ownership Be Like Here?\u003c\/h3\u003e\n  \u003cp class=\"ols-ownexp-sub\"\u003eFour ways buyers may picture using land in this area.\u003c\/p\u003e\n  \u003cdiv class=\"ols-ownexp-grid\"\u003e\n    \u003cdiv class=\"ols-ownexp-item\"\u003e\n      \u003cdiv class=\"ols-ownexp-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 11.2 12 4l9 7.2v8.3a.5.5 0 0 1-.5.5H15v-6H9v6H3.5a.5.5 0 0 1-.5-.5z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ols-ownexp-label\"\u003eBuild Primary Residence\u003c\/div\u003e\n      \u003cp class=\"ols-ownexp-copy\"\u003eBig skies, sunshine, and open space can create a strong sense of independence in southwestern New Mexico.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-ownexp-item\"\u003e\n      \u003cdiv class=\"ols-ownexp-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 11.5 12 5l8 6.5V20H4zM8 20v-5h4v5M17 5v4M16 5h2\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003cpath d=\"M2.5 20h19\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ols-ownexp-label\"\u003eVacation Home \/ Cabin\u003c\/div\u003e\n      \u003cp class=\"ols-ownexp-copy\"\u003eA simple desert retreat for clear nights, quiet views, and time away from crowds.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-ownexp-item\"\u003e\n      \u003cdiv class=\"ols-ownexp-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"m2.5 19 6.3-10 3.4 5.2L15.5 9 22 19zM7.2 11.5l1.6 1.7 1.5-1.1M14.4 11l1.2 1.2 1.4-1\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ols-ownexp-label\"\u003eRecreational \/ Hunting\u003c\/div\u003e\n      \u003cp class=\"ols-ownexp-copy\"\u003eGreat for exploring, stargazing, outdoor weekends, and experiencing the wide-open southwestern New Mexico landscape.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-ownexp-item\"\u003e\n      \u003cdiv class=\"ols-ownexp-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 20h16M6 18v-5h3v5M11 18V9h3v9M16 18V6h3v12M5 9l4-3 3 1 6-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ols-ownexp-label\"\u003eInvestment\u003c\/div\u003e\n      \u003cp class=\"ols-ownexp-copy\"\u003eSouthwestern New Mexico land offers a simple desert hold with low-complexity ownership and future-use flexibility.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"ols-ownexp-note\"\u003ePossible uses vary by parcel and local rules; verify zoning, access, utilities and requirements before planning improvements.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003csection class=\"ols-seasons\" data-climate-station=\"Deming, NM\" data-climate-source=\"https:\/\/www.ncei.noaa.gov\/access\/services\/data\/v1?dataTypes=MLY-TMAX-NORMAL%2CMLY-TMIN-NORMAL%2CMLY-TAVG-NORMAL%2CMLY-PRCP-NORMAL%2CMLY-SNOW-NORMAL\u0026amp;dataset=normals-monthly-1991-2020\u0026amp;format=pdf\u0026amp;stations=USC00292436\"\u003e\n  \u003cdiv class=\"ols-seasons-row\"\u003e\n    \u003cdiv class=\"ols-seasons-head\"\u003e\n      \u003cdiv class=\"ols-seasons-title\"\u003eExperience the Seasons Here\u003c\/div\u003e\n      \u003cdiv class=\"ols-seasons-sub\"\u003eFour seasons. Four different ways to enjoy your land.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-season spring\"\u003e\n      \u003cdiv class=\"ols-season-top\"\u003e\n\u003cspan class=\"ols-season-dot\"\u003e✿\u003c\/span\u003e\u003cspan class=\"ols-season-name\"\u003eSpring\u003c\/span\u003e\u003cspan class=\"ols-season-range\"\u003e72–88° \/ 36–50°\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ols-season-copy\"\u003eBright, mild days make this a great season to explore the land.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-season summer\"\u003e\n      \u003cdiv class=\"ols-season-top\"\u003e\n\u003cspan class=\"ols-season-dot\"\u003e☀\u003c\/span\u003e\u003cspan class=\"ols-season-name\"\u003eSummer\u003c\/span\u003e\u003cspan class=\"ols-season-range\"\u003e94–97° \/ 60–66°\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ols-season-copy\"\u003eLong sunny days put the wide-open scenery on full display.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-season fall\"\u003e\n      \u003cdiv class=\"ols-season-top\"\u003e\n\u003cspan class=\"ols-season-dot\"\u003e◆\u003c\/span\u003e\u003cspan class=\"ols-season-name\"\u003eFall\u003c\/span\u003e\u003cspan class=\"ols-season-range\"\u003e67–89° \/ 34–58°\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ols-season-copy\"\u003eClear skies and easing temperatures make outdoor time especially inviting.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ols-season winter\"\u003e\n      \u003cdiv class=\"ols-season-top\"\u003e\n\u003cspan class=\"ols-season-dot\"\u003e❄\u003c\/span\u003e\u003cspan class=\"ols-season-name\"\u003eWinter\u003c\/span\u003e\u003cspan class=\"ols-season-range\"\u003e57–64° \/ 28–31°\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ols-season-copy\"\u003eCooler sunshine and crisp nights bring a calm, open-country feel.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"ols-climate-note\"\u003eTypical seasonal highs \/ lows from nearby historical climate normals.\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- OLS OWNERSHIP EXPERIENCE END --\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"image-container col-md-12\" style=\"text-align:center;\"\u003e\n\n\u003cbr\u003e\n\n\u003ca href=\"https:\/\/www.google.com\/maps\/dir\/?api=1\u0026amp;origin=Deming%2C+NM\u0026amp;destination=32.014897,-107.488535\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-block;padding:12px 22px;border-radius:8px;background:#7092bf;color:#fff;font-weight:700;text-decoration:none;font-size:16px;\"\u003eGet Directions from Deming, NM\u003c\/a\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-sec\" style=\"width:100%;\"\u003e\n\n\u003cdiv class=\"col-md-6 img-vid\"\u003e\n\n\u003cp class=\"invest-resell\"\u003e\n\n\u003ca href=\"https:\/\/store.onlinelandsales.com\/Purpose_s\/2499.htm\"\u003e\n\n\u003cimg width=\"60%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/purpchart_4a503a89-4292-4685-9184-83482d76fcc4.png?v=1746036110\"\u003e\n\n\u003c\/a\u003e\n\n\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"col-md-6 img-vid\"\u003e\n\n\u003cdiv style=\"position:relative;overflow:hidden;padding-top:56.25%;\"\u003e\n\n\u003ciframe src=\"https:\/\/video.mindstamp.io\/embed\/njYkbOzBMOpt\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;min-height:unset;min-width:unset;border:0;\"\u003e\n\u003c\/iframe\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"col-md-12 count-details\" style=\"text-align:left !important;\"\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;list-style-type:none;padding-left:0;text-align:left;\"\u003e\n\u003cli\u003e\n\u003cb\u003eQ: Why buy land in Sunshine Valley Ranchettes, New Mexico?\u003c\/b\u003e\u003cbr\u003e\nA: Sunshine Valley Ranchettes offers affordable acreage between Deming and Columbus in Luna County, New Mexico, with wide-open desert views, mild winters and very low taxes.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;list-style-type:none;padding-left:0;text-align:left;\"\u003e\n\u003cli\u003e\n\u003cb\u003eQ: What can I use the property for?\u003c\/b\u003e\u003cbr\u003e\nA: Camping, RVs, mobile and modular homes and site-built homes are allowed, with no time limit to build. Check with the county for permits for your intended use.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;list-style-type:none;padding-left:0;text-align:left;\"\u003e\n\u003cli\u003e\n\u003cb\u003eQ: Are utilities available?\u003c\/b\u003e\u003cbr\u003e\nA: No. This is an off-grid property with no utilities installed, so common solutions include solar power, a well or water holding tank, and a septic system when you build.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"col-md-12 count-details\" style=\"text-align:left !important;\"\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;\"\u003e\n\u003cli\u003e\n\u003cb\u003e1.50 Acres in Sunshine Valley Ranchettes:\u003c\/b\u003e\n1.50 acres of adjoining lots in Unit 19, Block 16 of Sunshine Valley Ranchettes, between Deming and Columbus in Luna County. Level high-desert land with wide-open views and very low taxes. Camp, RV, or build a mobile, modular or site-built home.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;\"\u003e\n\u003cli\u003e\n\u003cb\u003eEasy Ownership with Seller Financing:\u003c\/b\u003e\nPriced at $8,248 with just $121 down and $82\/month, with no credit check or qualifying.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;\"\u003e\n\u003cli\u003e\n\u003cb\u003eFlexible Use:\u003c\/b\u003e\nCamping, RVs, mobile and modular homes and site-built homes are allowed, with no time limit to build. Check with the county for permits for your intended use.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003cul style=\"font-size:15px;\"\u003e\n\u003cli\u003e\n\u003cb\u003eNear Deming:\u003c\/b\u003e\nDeming has groceries, shopping, restaurants and a hospital, and Columbus and the Mexican border are a short drive south.\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"padding-bottom:20px;\"\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"col-md-12 count-details\" style=\"text-align:left !important;\"\u003e\n\n\u003cp class=\"county-detail-title\"\u003e \u003c\/p\u003e\n\n\u003cstrong\u003eLuna County\u003c\/strong\u003e\nlies in southwestern New Mexico along the Mexican border. Its county seat is Deming, on Interstate 10, and the county includes Rockhound and Pancho Villa state parks and the Florida Mountains.\n\n\u003cbr\u003e\u003cbr\u003e\n\nThe high-desert climate brings sunshine nearly year-round, mild winters and wide-open views, and property taxes are among the lowest in the state.\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"lower-box-holder\"\u003e\n\n\u003cdiv class=\"col-md-12 count-details\" style=\"text-align:left !important;\"\u003e\n\n\u003ccenter\u003e\n\u003cp\u003e\n\u003ci style=\"font-size:15px;\"\u003e\n👉 Click “Add to Cart” or contact us today to reserve this New Mexico property before it’s gone!\n\u003c\/i\u003e\n\u003c\/p\u003e\n\u003c\/center\u003e\n\n\u003chr style=\"height:1.5px;border-width:0;color:gray;background-color:#f3f3f3;\"\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c!-- OLS Connectivity Card: Sunshine Valley Ranchettes --\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\n.ols-connectivity-strip {\n    clear:both;\n    max-width:1160px;\n    margin:16px auto 0;\n    padding:7px 14px;\n    border:1px solid #d9e1ec;\n    border-radius:9px;\n    background:#fbfcfe;\n    box-sizing:border-box;\n    font-family:Arial,sans-serif;\n    color:#4c5561;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    gap:16px;\n    flex-wrap:wrap;\n    font-size:14px;\n    line-height:1.25;\n}\n\n.ols-connectivity-strip__title {\n    font-weight:700;\n    color:#6a85b0;\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n}\n\n.ols-connectivity-strip__icon {\n    width:19px;\n    height:19px;\n    flex:0 0 19px;\n    color:#6a85b0;\n}\n\n.ols-connectivity-strip__item {\n    white-space:nowrap;\n}\n\n.ols-connectivity-dot {\n    display:inline-block;\n    width:10px;\n    height:10px;\n    border-radius:50%;\n    margin:0 5px 0 3px;\n    vertical-align:1px;\n}\n\n.ols-connectivity-dot--good {\n    background:#35b94b;\n}\n\n.ols-connectivity-dot--partial {\n    background:#e3a62f;\n}\n\n.ols-connectivity-dot--limited {\n    background:#c96b63;\n}\n\n.ols-connectivity-strip__note {\n    font-size:10px;\n    line-height:1.05;\n    color:#a0a5ac;\n    width:100%;\n    text-align:center;\n    margin-top:-9px;\n}\n\n@media(max-width:650px) {\n\n    .ols-connectivity-strip {\n        gap:7px 11px;\n        padding:7px 9px;\n        font-size:13px;\n    }\n\n    .ols-connectivity-strip__title {\n        width:100%;\n        text-align:center;\n    }\n\n    .ols-connectivity-strip__note {\n        margin-top:0;\n    }\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"container-holder\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"container-fluid\"\u003e\n\u003cdiv class=\"clear-fix\"\u003e\n\n\u003cdiv class=\"ols-connectivity-strip\" aria-label=\"Connectivity near Sunshine Valley Ranchettes\"\u003e\n  \u003cspan class=\"ols-connectivity-strip__title\"\u003e\u003csvg class=\"ols-connectivity-strip__icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 0v7m-3 0h6M7.76 16.24a6 6 0 0 1 0-8.48m8.48 0a6 6 0 0 1 0 8.48M4.93 19.07a10 10 0 0 1 0-14.14m14.14 0a10 10 0 0 1 0 14.14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003eConnectivity Near Sunshine Valley Ranchettes\u003c\/span\u003e\n  \u003cspan class=\"ols-connectivity-strip__item\"\u003e\u003cstrong\u003eVerizon\u003c\/strong\u003e \u003cspan class=\"ols-connectivity-dot ols-connectivity-dot--good\"\u003e\u003c\/span\u003eGood\u003c\/span\u003e\n  \u003cspan class=\"ols-connectivity-strip__item\"\u003e\u003cstrong\u003eAT\u0026amp;T\u003c\/strong\u003e \u003cspan class=\"ols-connectivity-dot ols-connectivity-dot--good\"\u003e\u003c\/span\u003eGood\u003c\/span\u003e\n  \u003cspan class=\"ols-connectivity-strip__item\"\u003e\u003cstrong\u003eT-Mobile\u003c\/strong\u003e \u003cspan class=\"ols-connectivity-dot ols-connectivity-dot--good\"\u003e\u003c\/span\u003eGood\u003c\/span\u003e\n  \u003cspan class=\"ols-connectivity-strip__item\"\u003e\u003cstrong\u003eStarlink\u003c\/strong\u003e \u003cspan class=\"ols-connectivity-dot ols-connectivity-dot--good\"\u003e\u003c\/span\u003eAvailable\u003c\/span\u003e\n  \u003cspan class=\"ols-connectivity-strip__note\"\u003eEstimated nearby coverage; actual service may vary.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- \/OLS Connectivity Card --\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"NM_SunshineValley_U19B16L14-31-32","offers":[{"title":"$121 - STANDARD","offer_id":67950327496783,"sku":"NM_SunshineValley_U19B16L14-31-32","price":121.0,"currency_code":"USD","in_stock":true},{"title":"$500 - PREMIUM","offer_id":67950327529551,"sku":null,"price":500.0,"currency_code":"USD","in_stock":true},{"title":"$1000 - SUPERIOR","offer_id":67950327562319,"sku":null,"price":1000.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0624\/8179\/3103\/files\/SunshineMainnew.jpg?v=1767640222","url":"https:\/\/store.onlinelandsales.com\/products\/new-mexico-luna-county-1-50-acres-sunshine-valley-ranchettes-unit-19-block-16-lots-14-31-32-terms-82-month","provider":"Onlinelandsales","version":"1.0","type":"link"}