1<!DOCTYPE html> 2<html lang="en-US"> 3 4<head> 5 <link media="all" rel="stylesheet" href="/cms-assets/css/main.css" nonce='7c58537cbb1ded6b3fc516afd31668c6'> 6<title>Contact Us | Ranger Home Builders | Bryan-College Station & Navasota, TX</title> 7<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 7-8
7 8<script async src="https://www.googletagmanager.com/gtag/js?id=
8G-B6HKMG07X6
vendor: 12 bytes, line 8
8"></script>
9<script> 10
vendor: 134 bytes, lines 10-14
10window.dataLayer = window.dataLayer || []; 11 function gtag(){dataLayer.push(arguments);} 12 gtag('js', new Date()); 13 14 gtag('config', '
14G-B6HKMG07X6
vendor: 4 bytes, line 14
14');
15</script>
15 16<meta charset="utf-8"> 17<meta name="viewport" content="width=device-width, initial-scale=1.0"> 18<link media="all" rel="stylesheet" href="/css/main.css"> 19<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" /> 20<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css"/> 21<link media="all" rel="stylesheet" href="/css/dev.css">
22<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
vendor: 2 bytes, line 22
22
23<script>window.jQuery || document.write('
23<script src="/js/jquery-3.2.1.min.js"><\/script>')</script>
vendor: 2 bytes, line 23
23
24<script src="//cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>
vendor: 2 bytes, line 24
24
25<script type="text/javascript" src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
vendor: 2 bytes, line 25
25
26<script src="/js/jquery.main.js"></script>
26 27<link href="//fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> 28<link href="//fonts.googleapis.com/css?family=Frank+Ruhl+Libre:300,400,500,700,900" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 29 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 30 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 31 <link rel="manifest" href="/site.webmanifest"> 32 <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> 33 <meta name="msapplication-TileColor" content="#da532c"> 34 <meta name="theme-color" content="#ffffff"> 35<meta name="description" content="Get in touch with Ranger Home Builders. Visit our model homes in Bryan, College Station & Navasota, TX or send us a message. We'd love to help you find your new home.">
35<script> 36 document.addEventListener('DOMContentLoaded', function() { 37 var form = document.querySelector('form'); 38 if (!form) return; 39 form.addEventListener('submit', function() { 40 var fn = document.getElementById('FirstName') ? document.getElementById('FirstName').value : ''; 41 var ln = document.getElementById('LastName') ? document.getElementById('LastName').value : ''; 42 var em = document.getElementById('Email') ? document.getElementById('Email').value : ''; 43 var ph = document.getElementById('Phone') ? document.getElementById('Phone').value : ''; 44 var url = 'https://script.google.com/macros/s/AKfycbzKp5PingIjA7ehYs9Ug-YbQu9bTqLMr3IoTX1PfjtiQqsHFGkCjZ75opHI3bMEieHc/exec' 45 + '?action=newLead' 46 + '&firstName=' + encodeURIComponent(fn) 47 + '&lastName=' + encodeURIComponent(ln) 48 + '&email=' + encodeURIComponent(em) 49 + '&phone=' + encodeURIComponent(ph); 50 var img = new Image(); 51 img.src = url; 52 }); 53 }); 54 </script>
54 55</script>
55<link rel="canonical" href="https://www.rangerhomebuilders.com/contact"><!-- Global Site Tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, line 55
55 <script async src="https://www.googletagmanager.com/gtag/js?id=
55UA-142101526-1
vendor: 11 bytes, line 55
55"></script>
55<script>
vendor: 127 bytes, line 55
55window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
55UA-142101526-1
vendor: 4 bytes, line 55
55');
55</script>
vendor: 60 bytes, line 55
55<script src='https://www.google.com/recaptcha/api.js?render=
556Ld5QIoUAAAAAKznGOlK7z6mgqJ8ajRUc3CK5M17
vendor: 58 bytes, lines 55-57
55' nonce='7c58537cbb1ded6b3fc516afd31668c6'></script> 56 57
57</head> 58 59<body> 60 <div id="wrapper"> 61 <header id="header"> 62<div class="container"> 63<div class="logo"> 64<a href="/"> 65<img src="/images/logo-header.png" alt="Ranger Home Builders"> 66</a> 67</div> 68<div class="header-holder"> 69<div class="contact-holder"> 70 <a class="head-link" href="https://www.stjude.org/give/dream-home/college-station.html" target="_blank"><span class="icon icon-icon-st-jude"></span></a> 71<ul class="social socia_networks"> 72<li> 73 <a href="https://www.facebook.com/Ranger-Homes-346717382849498/" class="facebook" target="_blank" ><span class="icon-facebook"></span></a> 74</li><li> 75 <a href="https://www.instagram.com/rangerhomebuilders/" class="instagram" target="_blank" ><span class="icon-instagram"></span></a> 76</li></ul><div class="nav-holder"> 77 <nav id="nav"> 78 <ul class="main_navigation"> 79<li> 80 <a href="" 81>Find Your Home</a> 82<div class="drop-down-wrapper"> 83 <ul class="drop-down"> 84<li> 85 <a href="/neighborhood" 86>Neighborhoods</a> 87</li><li> 88 <a href="/available_homes" 89>Available Homes</a> 90</li><li> 91 <a href="/floor_plans" 92>Floor Plans</a> 93</li> </ul> 94</div> 95</li><li> 96 <a href="/gallery" 97>Gallery</a> 98</li><li> 99 <a href="/features" 100>Features</a> 101</li><li> 102 <a href="/the-ranger-way" 103>The Ranger Way</a> 104</li><li> 105 <a href="/about" 106>About</a> 107</li><li class=" selected" > 108 <a href="/contact" 109>Contact</a> 110</li> </ul> 111 </nav> 112</div><a class="nav-opener" href="#"><span></span></a> 113</div> 114</div> 115</div> 116<style> 117/* Filter pill redesign â Available Homes sort bar */ 118.sort-section .sort-block{display:flex;align-items:center;gap:10px;border:1px solid #d0d9e0;border-radius:50px;padding:8px 12px 8px 16px;min-width:unset;background:#fff;flex-wrap:nowrap} 119.sort-section .sort-block h6{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a0abb3;margin:0;white-space:nowrap} 120.sort-section .sort-list{display:flex;align-items:center;gap:6px;margin:0;flex-wrap:nowrap} 121.sort-section .sort-list li{display:inline-flex;padding:0} 122.sort-section .sort-list a{display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;padding:7px 14px;border-radius:50px;border:1.5px solid #d0d9e0;background:#fff;color:#4a5e6d;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;line-height:1;transition:background .15s,border-color .15s,color .15s} 123.sort-section .sort-list a span{font-size:16px;line-height:1} 124.sort-section .sort-list a[data-filter_val="HomePrice"]::after{content:"Price"} 125.sort-section .sort-list a[data-filter_val="SquareFeet"]::after{content:"Sq ft"} 126.sort-section .sort-list a[data-filter_val="Beds"]::after{content:"Bedrooms"} 127.sort-section .sort-list a:hover{border-color:#003863;color:#003863;background:#f0f5fa} 128.sort-section .sort-list a.active,.sort-section .sort-list a:focus{background:#003863;border-color:#003863;color:#fff} 129.sort-section .sort-list a.active span{color:#fff} 130.sort-section .sort-arrow{display:flex;align-items:center;gap:4px;width:auto;height:auto;border-left:1px solid #d0d9e0;padding-left:10px;margin-left:2px;flex-shrink:0} 131.sort-section .sort-arrow a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid #d0d9e0;background:#fff;color:#a0abb3;font-size:14px;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s} 132.sort-section .sort-arrow a:hover{border-color:#003863;color:#003863;background:#f0f5fa} 133.sort-section .sort-arrow a.active{background:#003863;border-color:#003863;color:#fff}
134.sort-section .sort-arrow a span{font-size:14px;line-height:1} 135@media(max-width:479px){.sort-section .sort-block{border-radius:12px;padding:12px;flex-wrap:wrap}.sort-section .sort-list a{flex:1;justify-content:center;min-width:90px}.sort-section .sort-arrow{border-left:none;padding-left:0;border-top:1px solid #d0d9e0;padding-top:8px;width:100%;justify-content:flex-end}} 136 137.rw-step-text,.rw-step-list,.rw-faq-a{text-align:left}.rw-step-list li{text-align:left} 138 139/* Banner overlay â lighter (45%) */ 140.banner::before{background:rgba(0,56,99,0.15)!important} 141</style> </header> 142 <main id="main"> 143 <section class="banner" style="background-image: url('/images/contact.jpg');"> 144 <div class="container"> 145 <div class="banner-info"> 146 <h1>Contact</h1> 147 </div> 148 </div> 149 </section> 150 <section class="breadcrumbs-section"> 151 <div class="container"> 152 153 <ul class="breadcrumbs"> 154 <li><a href="/">Home</a></li> 155 <li>Contact</li> 156 </ul> 157 </div> 158 </section> 159 <section> 160 <div class="container"> 161 <div class="row-template"> 162 <div class="col-8"> 163 <h2>Build Your Dream Home in Bryan, College Station & Navasota, Texas. Contact us today.</h2> 164 165<p>We look forward to helping you build your dream home with a stress-free process that avoids hidden costs and extra work. Get a quality, personalized Ranger Home at an affordable price.</p> 166<form action="/forms/cases.ashx?form=contact_us" method="post" class="form-validation"> 167 <label for="FirstName">First Name*</label> 168 <input type="text" id="FirstName" name="FirstName" data-required="true"> 169 <label for="LastName">Last Name*</label> 170 <input type="text" id="LastName" name="LastName" data-required="true"> 171 <label for="Phone">Phone Number*</label> 172 <input type="text" id="Phone" name="Phone" data-required="true"> 173 <label for="Email">Email Address*</label> 174 <input type="email" id="Email" name="Email" data-required="true"> 175 <label for="Message">Message</label> 176 <textarea id="Message" name="Message"></textarea> 177
177<script> 'use strict';grecaptcha.ready(function(){function c(a){grecaptcha.execute("6Ld5QIoUAAAAAKznGOlK7z6mgqJ8ajRUc3CK5M17",{action:'general_form_contact_us'}).then(function(b){document.querySelector(".g-recaptcha-response-v3-contact_us").value=b;a&&a()})}window.customFormSubmit=new Event("customFormSubmit");let a=document.querySelector(".g-recaptcha-response-v3-contact_us").closest("form");if(null!=a){let d=!0,b=0;a.onsubmit=function(){event.preventDefault();if(d)return b++,d = !1,c(function(){let c = document.getElementById("paymentFields_"+a.getAttribute("name"));c?"true"===c.dataset.paymentEnabled?(a.dispatchEvent(window.customFormSubmit),b=0,d=!0):a.submit():a.submit()}),!1;0<b&&b++;if(1<b)return alert("Form submission is in progress."),!1}}else c()}); </script>
177 178 <input type="hidden" class="g-recaptcha-response-v3-contact_us" name="g-recaptcha-response-v3"> 179 <input type="submit" value="Submit"> 180</form> 181 </div> 182 <div class="col-4"> 183 <div class="address-sidebar"> 184 <h5>Contact Information</h5> 185<ul class="links"> 186 <b>Greens Prairie Reserve Model Home</b> 187 <li>2350 Sudden Breeze Drive</li> 188 <li>College Station, Texas 77845</li> 189 <li><b>Martha Vilas</b></li> 190 <li><a href="tel:(979) 324-8089">(979) 324-8089</a></li> 191 <li><a href="mailto:[email protected]">[email protected]</a></li> 192</ul> 193<br><ul class="links"> 194 <b>Rudder Pointe Model Home</b> 195 <li>3101 Normandy Way</li> 196 <li>Bryan, Texas 77808</li> 197 <li><b>Matt Jones</b></li> 198 <li><a href="tel:(979) 255-7526">(979) 255-7526</a></li> 199 <li><a href="mailto:[email protected]">[email protected]</a></li> 200</ul> 201<br><ul class="links"> 202 <b>Southern Pointe Model Home</b> 203 <li>6125 Darlington Avenue</li> 204 <li>College Station, Texas 77845</li> 205 <li><b>Adam Schulze</b></li> 206 <li><a href="tel:(979) 393-3977">(979) 393-3977</a></li> 207 <li><a href="mailto:[email protected]">[email protected]</a></li> 208</ul> 209<br><ul class="links"> 210 <b>Pecan Grove Model Home</b> 211 <li>Pecan Grove</li> 212 <li>7811 Redbud Rd</li> 213 <li>Navasota, Texas 77868</li> 214 <li><b>Adam Schulze</b></li> 215 <li><a href="tel:(979) 393-3977">(979) 393-3977</a></li> 216 <li><a href="mailto:[email protected]">[email protected]</a></li> 217</ul> 218<br> </div> 219 </div> 220 </div> 221 </div> 222 </section> 223 </main> 224 <footer id="footer"> 225<div class="footer-top"> 226<div class="container"> 227<div class="row-holder"> 228<div class="col-4"> 229<a class="logo" href="/"> 230<img src="/images/logo-footer.png" alt="Ranger Home Builders"> 231</a> 232</div> 233<div class="col-3"> 234<h5>Model Home Locations</h5> 235<br> 236<ul class="links"> 237<li><a href="/neighborhoods/rudder-pointe"><b>Rudder Pointe</b></a></li> 238<li>3101 Normandy Way</li> 239<li>Bryan, Texas 77808</li> 240</ul> 241<br> 242<ul class="links"> 243<li><a href="/neighborhoods/southern-pointe"><b>Southern Pointe</b></a></li> 244<li>6125 Darlington Avenue</li> 245<li>College Station, Texas 77845</li> 246</ul> 247<br> 248<ul class="links"> 249<li><a href="/neighborhoods/greens-prairie-reserve"><b>Greens Prairie Reserve</b></a></li> 250<li>2350 Sudden Breeze Drive</li> 251<li>College Station, Texas 77845</li> 252</ul> 253<br> 254<ul class="links"> 255<li><a href="/neighborhoods/barron-oaks"><b>Barron Oaks</b></a></li> 256<li>2565 Leyla Ln</li> 257<li>College Station, Texas 77845</li> 258</ul> 259<br> 260<ul class="links"> 261<li><a href="/neighborhoods/pecan-grove"><b>Pecan Grove</b></a></li> 262<li>7811 Redbud Rd</li> 263<li>Navasota, Texas 77868</li> 264</ul> 265</div> 266<div class="col-2"> 267 268<h5>Site Links</h5> 269<br> 270<ul class="links main_navigation"> 271<li> 272 <a href="" >Find Your Home</a> 273</li><li> 274 <a href="/gallery" >Gallery</a> 275</li><li> 276 <a href="/features" >Features</a> 277</li><li> 278 <a href="/the-ranger-way" >The Ranger Way</a> 279</li><li> 280 <a href="/about" >About</a> 281</li><li> 282 <a href="/contact" >Contact</a> 283</li></ul></div> 284<div class="col-3"> 285 286<h5>Follow Ranger</h5> 287<ul class="social socia_networks"> 288<li> 289 <a href="https://www.facebook.com/Ranger-Homes-346717382849498/" class="facebook" target="_blank" ><span class="icon-facebook"></span></a> 290</li><li> 291 <a href="https://www.instagram.com/rangerhomebuilders/" class="instagram" target="_blank" ><span class="icon-instagram"></span></a> 292</li></ul></div> 293</div> 294</div> 295</div> 296<div class="footer-bottom"> 297 <div class="container"> 298 <ul class="copyright"> 299 <li>© 2026 Ranger Home Builders. All Rights Reserved.</li> 300 <li>Website Design & Development by Bryan Creative Group</li> 301 </ul> 302 </div> 303</div>
304<script> 305(function(){ 306 var CRM_URL='https://script.google.com/macros/s/AKfycbzKp5PingIjA7ehYs9Ug-YbQu9bTqLMr3IoTX1PfjtiQqsHFGkCjZ75opHI3bMEieHc/exec'; 307 function rhbAttachWidgetCapture(){var btn=document.getElementById('rhb-submit');if(!btn){setTimeout(rhbAttachWidgetCapture,500);return;}btn.addEventListener('click',function(){var fn=(document.getElementById('rhb-first-name')||{}).value||'';var ln=(document.getElementById('rhb-last-name')||{}).value||'';var ph=(document.getElementById('rhb-phone')||{}).value||'';var em=(document.getElementById('rhb-email')||{}).value||'';var ms=(document.getElementById('rhb-message')||{}).value||'';if(!fn&&!em&&!ph)return;setTimeout(function(){var params=new URLSearchParams({action:'createLead',firstName:fn,lastName:ln,email:em,phone:ph,source:'Website',notes:'Widget message: '+ms});new Image().src=CRM_URL+'?'+params.toString();},300);},true);} 308 if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',rhbAttachWidgetCapture);}else{rhbAttachWidgetCapture();} 309 function rhbFormBeacon(frm){try{var fn=(frm.querySelector('[name="FirstName"]')||{}).value||'';var ln=(frm.querySelector('[name="LastName"]')||{}).value||'';var ph=(frm.querySelector('[name="Phone"]')||{}).value||'';var em=(frm.querySelector('[name="Email"]')||{}).value||'';var ms=(frm.querySelector('[name="Message"]')||{}).value||'';if(!fn&&!ph&&!em)return;var params=new URLSearchParams({action:'createLead',firstName:fn,lastName:ln,email:em,phone:ph,source:'Website',notes:ms?'Website: '+ms:''});new Image().src=CRM_URL+'?'+params.toString();}catch(e){}} 310 function rhbAttachFormBeacons(){document.querySelectorAll('form').forEach(function(f){var a=f.action||'';if((a.indexOf('contact_us')>-1||a.indexOf('schedule_tour_form')>-1)&&!f.dataset.rhbB){f.dataset.rhbB='1';f.addEventListener('submit',function(){rhbFormBeacon(f);});}});} 311 if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',rhbAttachFormBeacons);}else{rhbAttachFormBeacons();} 312})(); 313</script>
313 </footer> 314 </div> 315 316<style> 317 #rhb-widget { position: fixed; bottom: 28px; right: 28px; z-index: 9999; font-family: inherit; } 318 #rhb-trigger { display: flex; align-items: center; gap: 10px; background: #1a3a5c; color: #fff; border: none; border-radius: 50px; padding: 12px 20px 12px 14px; cursor: pointer; box-shadow: 0 4px 16px rgba(0,0,0,0.22); transition: background 0.2s, transform 0.15s; font-size: 15px; font-weight: 600; letter-spacing: 0.01em; } 319 #rhb-trigger:hover { background: #24507f; transform: translateY(-1px); } 320 #rhb-trigger-logo { width: 36px; height: 36px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; } 321 #rhb-trigger-logo img { width: 28px; height: 28px; object-fit: contain; } 322 #rhb-panel { display: none; width: 320px; background: #fff; border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,0.18); overflow: hidden; animation: rhb-slide-up 0.22s ease; } 323 @keyframes rhb-slide-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } 324 #rhb-panel-header { background: #1a3a5c; padding: 16px 18px 14px; display: flex; align-items: center; gap: 12px; } 325 #rhb-panel-logo { width: 42px; height: 42px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; } 326 #rhb-panel-logo img { width: 32px; height: 32px; object-fit: contain; } 327 #rhb-panel-header-text { flex: 1; } 328 #rhb-panel-header-text strong { display: block; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.2; } 329 #rhb-panel-header-text span { color: rgba(255,255,255,0.72); font-size: 12px; } 330 #rhb-close { background: none; border: none; color: rgba(255,255,255,0.7); font-size: 20px; cursor: pointer; line-height: 1; padding: 2px 4px; transition: color 0.15s; align-self: flex-start; } 331 #rhb-view-options { padding: 18px 18px 20px; } 332 #rhb-view-options p { margin: 0 0 14px; font-size: 13px; color: #555; line-height: 1.5; } 333 .rhb-action-btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } 334 .rhb-action-btn { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border: 1.5px solid #e2e8f0; border-radius: 10px; background: #f8fafc; cursor: pointer; transition: border-color 0.15s, background 0.15s; text-decoration: none; color: #1a3a5c; font-size: 12px; font-weight: 600; } 335 .rhb-action-btn:hover { border-color: #1a3a5c; background: #eef3f8; } 336 .rhb-action-btn svg { width: 22px; height: 22px; stroke: #1a3a5c; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; } 337 #rhb-view-form { display: none; padding: 0 18px 18px; } 338 #rhb-form-back { background: none; border: none; color: #1a3a5c; font-size: 12px; font-weight: 600; cursor: pointer; padding: 10px 0 8px; display: flex; align-items: center; gap: 4px; } 339 .rhb-field { margin-bottom: 10px; } 340 .rhb-field label { display: block; font-size: 11px; font-weight: 600; color: #374151; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.04em; } 341 .rhb-field input, .rhb-field textarea { width: 100%; box-sizing: border-box; border: 1.5px solid #d1d5db; border-radius: 8px; padding: 8px 10px; font-size: 14px; color: #111; background: #fff; transition: border-color 0.15s; font-family: inherit; outline: none; } 342 .rhb-field input:focus, .rhb-field textarea:focus { border-color: #1a3a5c; } 343 .rhb-field textarea { resize: none; height: 72px; } 344 #rhb-submit { width: 100%; padding: 11px; background: #1a3a5c; color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; transition: background 0.2s; margin-top: 4px; } 345 #rhb-submit:hover { background: #24507f; } 346 #rhb-submit:disabled { background: #9ca3af; cursor: not-allowed; } 347 .rhb-recaptcha-note { font-size: 10px; color: #9ca3af; text-align: center; margin-top: 8px; line-height: 1.4; } 348 #rhb-view-success { display: none; padding: 28px 18px 24px; text-align: center; } 349 #rhb-view-success .rhb-success-icon { width: 48px; height: 48px; background: #e8f5e9; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; } 350 #rhb-view-success .rhb-success-icon svg { width: 24px; height: 24px; stroke: #2e7d32; fill: none; stroke-width: 2.2; } 351 #rhb-view-success h4 { margin: 0 0 8px; font-size: 16px; color: #1a3a5c; } 352 #rhb-view-success p { margin: 0; font-size: 13px; color: #555; line-height: 1.5; } 353 #rhb-error-msg { display: none; font-size: 12px; color: #dc2626; margin-top: 6px; text-align: center; } 354</style> 355<div id="rhb-widget"><div id="rhb-panel"><div id="rhb-panel-header" style="background:#1a3a5c;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px"><div id="rhb-panel-header-text" style="flex:1"><strong style="display:block;color:#fff;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap">Ranger Home Builders</strong><span style="color:rgba(255,255,255,0.75);font-size:12px;white-space:nowrap">How can we help you?</span></div><a id="rhb-close" aria-label="Close contact widget" href="#" onclick="return false;" style="min-width:0!important;width:24px!important;height:24px!important;padding:0!important;flex-shrink:0;font-size:20px;color:rgba(255,255,255,0.8);cursor:pointer;text-decoration:none;line-height:1;display:flex;align-items:center;justify-content:center">×</a></div><div id="rhb-view-options"><p>How would you like to reach us?</p><div class="rhb-action-btns"><a href="tel:9793933977" class="rhb-action-btn" id="rhb-btn-call"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 9.81 19.79 19.79 0 01.01 1.18 2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.09 7.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>Call</a><a href="sms:9793933977" class="rhb-action-btn" id="rhb-btn-text"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg>Text</a><a href="#" class="rhb-action-btn" id="rhb-btn-message" onclick="return false;"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>Message</a></div></div><div id="rhb-view-form"><button id="rhb-form-back" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>Back</button><div class="rhb-field"><label for="rhb-first-name">First Name *</label><input type="text" id="rhb-first-name" name="FirstName" autocomplete="given-name" required></div><div class="rhb-field"><label for="rhb-last-name">Last Name *</label><input type="text" id="rhb-last-name" name="LastName" autocomplete="family-name" required></div><div class="rhb-field"><label for="rhb-phone">Phone Number *</label><input type="tel" id="rhb-phone" name="Phone" autocomplete="tel" required></div><div class="rhb-field"><label for="rhb-email">Email Address *</label><input type="email" id="rhb-email" name="Email" autocomplete="email" required></div><div class="rhb-field"><label for="rhb-message">Message</label><textarea id="rhb-message" name="Message" placeholder="Tell us a little about what youâre looking for..."></textarea></div><div id="rhb-error-msg">Something went wrong. Please try again or call us directly.</div><button type="button" id="rhb-submit">Send Message</button><p class="rhb-recaptcha-note">Protected by reCAPTCHA. By submitting you agree to our <a href="/privacy-policy" target="_blank" style="color:inherit;text-decoration:underline;">privacy policy</a>.</p></div><div id="rhb-view-success"><div class="rhb-success-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></div><h4>Message sent!</h4><p>Thanks for reaching out. One of our team members will be in touch with you shortly.</p></div></div><button id="rhb-trigger" aria-label="Contact Ranger Home Builders" aria-expanded="false"><span id="rhb-trigger-logo"><img src="/images/logo.png" alt=""></span>Contact Us</button></div>
356<script> 357(function(){var RECAPTCHA_SITE_KEY='6Ld5QIoUAAAAAKznGOlK7z6mgqJ8ajRUc3CK5M17',FORM_ENDPOINT='/forms/cases.ashx?form=contact_us',panel=document.getElementById('rhb-panel'),trigger=document.getElementById('rhb-trigger'),closeBtn=document.getElementById('rhb-close'),viewOpts=document.getElementById('rhb-view-options'),viewForm=document.getElementById('rhb-view-form'),viewSucc=document.getElementById('rhb-view-success'),msgBtn=document.getElementById('rhb-btn-message'),backBtn=document.getElementById('rhb-form-back'),submitBtn=document.getElementById('rhb-submit'),errorMsg=document.getElementById('rhb-error-msg');function openPanel(){panel.style.display='block';trigger.style.display='none';trigger.setAttribute('aria-expanded','true');showView('options');}function closePanel(){panel.style.display='none';trigger.style.display='flex';trigger.setAttribute('aria-expanded','false');}function showView(n){viewOpts.style.display=n==='options'?'block':'none';viewForm.style.display=n==='form'?'block':'none';viewSucc.style.display=n==='success'?'block':'none';}trigger.addEventListener('click',openPanel);closeBtn.addEventListener('click',closePanel);msgBtn.addEventListener('click',function(){showView('form');});backBtn.addEventListener('click',function(){showView('options');errorMsg.style.display='none';});submitBtn.addEventListener('click',function(){var fn=document.getElementById('rhb-first-name').value.trim(),ln=document.getElementById('rhb-last-name').value.trim(),ph=document.getElementById('rhb-phone').value.trim(),em=document.getElementById('rhb-email').value.trim(),ms=document.getElementById('rhb-message').value.trim();if(!fn||!ln||!ph||!em){errorMsg.textContent='Please fill in all required fields.';errorMsg.style.display='block';return;}errorMsg.style.display='none';submitBtn.disabled=true;submitBtn.textContent='Sending...';function doSubmit(token){var fd=new FormData();fd.append('FirstName',fn);fd.append('LastName',ln);fd.append('Phone',ph);fd.append('Email',em);fd.append('Message',ms);fd.append('g-recaptcha-response-v3',token||'');fetch(FORM_ENDPOINT,{method:'POST',body:fd}).then(function(){showView('success');['rhb-first-name','rhb-last-name','rhb-phone','rhb-email','rhb-message'].forEach(function(id){document.getElementById(id).value='';});new Image().src='https://script.google.com/macros/s/AKfycbzKp5PingIjA7ehYs9Ug-YbQu9bTqLMr3IoTX1PfjtiQqsHFGkCjZ75opHI3bMEieHc/exec?action=newLead&source=Widget&firstName='+encodeURIComponent(fn)+'&lastName='+encodeURIComponent(ln)+'&email='+encodeURIComponent(eml)+'&phone='+encodeURIComponent(ph);}).catch(function(){errorMsg.textContent='Something went wrong. Please try again or call us directly.';errorMsg.style.display='block';}).finally(function(){submitBtn.disabled=false;submitBtn.textContent='Send Message';});}if(typeof grecaptcha!=='undefined'&&grecaptcha.execute){grecaptcha.ready(function(){grecaptcha.execute(RECAPTCHA_SITE_KEY,{action:'contact_widget'}).then(doSubmit).catch(function(){doSubmit('');});});}else{doSubmit('');}});})(); 358</script>
358 359
360<script> 361(function(){ 362 var panel=document.getElementById('rhb-panel'); 363 var form=document.getElementById('rhb-view-form'); 364 if(!panel||!form) return; 365 var id='rhb-mobile-fix'; 366 if(document.getElementById(id)) return; 367 var marker=document.createElement('span');marker.id=id;document.body.appendChild(marker); 368 function applyMobileStyles(){ 369 var h=window.innerHeight,w=window.innerWidth; 370 panel.style.maxHeight=(h-80)+'px';panel.style.overflowY='hidden';panel.style.display='flex';panel.style.flexDirection='column'; 371 if(w<=480){panel.style.width=(w-24)+'px';var widget=document.getElementById('rhb-widget');if(widget){widget.style.bottom='0';widget.style.right='0';widget.style.left='0';}} 372 form.style.overflowY='auto';form.style.webkitOverflowScrolling='touch';form.style.flex='1';form.style.minHeight='0'; 373 } 374 var obs=new MutationObserver(function(muts){muts.forEach(function(m){if(m.attributeName==='style'&&panel.style.display&&panel.style.display!=='none'){applyMobileStyles();}});}); 375 obs.observe(panel,{attributes:true,attributeFilter:['style']}); 376 var msgBtn=document.getElementById('rhb-btn-message'); 377 if(msgBtn){msgBtn.addEventListener('click',function(){setTimeout(function(){if(form.style.display!=='none')applyMobileStyles();},10);});} 378})(); 379</script>
379 380</body> 381 382</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.