PageSourceSearch

https://www.cotton-realty.com/

html cotton-realty.com collected 2026-10-09 01:13:48 UTC 170,564 bytes, 3,741 lines download raw bytes

1<!DOCTYPE html>
2<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" class="st-theme pg-pages-home_page  " lang="en">
3<head>
4  
5  
6  <link rel="preconnect" href="https://bam.nr-data.net/" >
7  <link rel="preconnect" href="https://js-agent.newrelic.com/" >
8  <link rel="preconnect" href="https://fonts.gstatic.com/" >
9  <link rel="preconnect" href="https://fonts.googleapis.com/" >
10  <link rel="preconnect" href="https://ssl.google-analytics.com/" >
11  <link rel="preconnect" href="https://prd-pbgo-public-uploads.s3.amazonaws.com/" >
12    <link rel="preconnect" href="https://prd-assets1.fastly.propertybase.com/" >
13    <link rel="preconnect" href="https://prd-assets2.fastly.propertybase.com/" >
14    <link rel="preconnect" href="https://prd-assets3.fastly.propertybase.com/" >
15    <link rel="preconnect" href="https://prd-assets4.fastly.propertybase.com/" >
16
17  
18  <meta charset="utf-8">
19  <meta http-equiv="X-UA-Compatible" content="IE=edge">
20  <meta name="viewport" content="width=device-width, initial-scale=1">
21  <title>Cotton Realty</title>
22  <meta name="Description" content="Cotton Realty" />
23  <meta name="format-detection" content="telephone=no">
24  <meta name="theme-color" content="#222222">
25
26
27
28
29
30    <link rel="canonical" href="https://www.cotton-realty.com/" />
31
32
33
34  <meta property="og:title" content="Cotton Realty" />
35  <meta property="og:type" content="website" />
36  <meta property="og:url" content="https://www.cotton-realty.com/" />
37  <meta property="og:site_name" content="Cotton Realty" />
38  <meta property="og:description" content="" />
39
40  <meta name="twitter:card" content="summary" />
41  <meta name="twitter:site" content="" />
42  <meta name="twitter:title" content="Cotton Realty" />
43  <meta name="twitter:description" content="Cotton Realty" />
44
45    <meta property="og:image" content="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_header_logo/48675/e9d282b1742c2a4f329bef3be583ba16.png?width=800&amp;optimize=medium&amp;auto=webp" />
46    <meta name="twitter:image" content="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_header_logo/48675/e9d282b1742c2a4f329bef3be583ba16.png?width=800&amp;optimize=medium&amp;auto=webp" />
47
48
49
50
51    <link rel="stylesheet" href="https://prd-assets1.fastly.propertybase.com/company_frontend_49682_d400ad4a26dc88599645dbad084327b0_1790809918.css?as=style&amp;rel=preload" />
52    <link rel="stylesheet" href="https://prd-assets1.fastly.propertybase.com/company_frontend_49682_d400ad4a26dc88599645dbad084327b0_1790809918.css" data-wb-theme-css="true" />
53    <link rel="preload" href="https://prd-assets2.fastly.propertybase.com/assets/frontend/homepage-274edf616347ec84711152001aecd9ec3cda8a961056ce1458dfef23df900736.js" as="script">
54
55
56  
57
58  
59
60    
60<script>
61    window.pbCookieConsentConfig = {"endpoint":"/cookie_consent","consentVersion":"2026-06-29","policyVersion":"2026-06-29","required":true,"globalPrivacyControl":false,"categories":["necessary","functional_integrations","preferences","analytics","advertising","personalization","third_party_integrations","chat_support"],"acceptedCategories":{},"consentId":null,"companyName":"Cotton Realty","modalCopy":"We use cookies and similar technologies to keep this site working, support core map functionality, remember preferences, measure performance, and support advertising, personalization, chat, and optional third-party services. You can opt out of optional cookies or manage your choices at any time.","privacyPolicyUrl":"/privacy-policy"};
62    window.dataLayer = window.dataLayer || [];
63    function gtag(){dataLayer.push(arguments);}
64    gtag('consent', 'default', {
65      ad_storage: 'denied',
66      analytics_storage: 'denied',
67      ad_user_data: 'denied',
68      ad_personalization: 'denied'
69    });
70      gtag('consent', 'update', { analytics_storage: 'granted' });
71      gtag('consent', 'update', { ad_storage: 'granted', ad_user_data: 'granted' });
72      gtag('consent', 'update', { ad_personalization: 'granted' });
73  </script>
73
74
75
76
77  
77<script>var parentGTM = false;</script>
vendor: 66 bytes, lines 77-78
77
78  <script async src="https://www.googletagmanager.com/gtag/js?id=
78G-NXERNZ8CCS
vendor: 16 bytes, lines 78-79
78"></script>
79    
79<script async src="https://www.googletagmanager.com/gtag/js?id="></script>
79
80  
80<script type="text/javascript">
81    
vendor: 139 bytes, lines 81-84
81window.dataLayer = window.dataLayer || [];
82    function gtag(){dataLayer.push(arguments);}
83    gtag('js', new Date());
84    gtag('config', '
84G-NXERNZ8CCS
vendor: 11 bytes, lines 84-86
84');
85
86      
86gtag('config', '');
87  </script>
87
88
89
90  
91
92
93  <meta name="csrf-param" content="authenticity_token" />
94<meta name="csrf-token" content="C-but2JrJ7qE4J_59phB0APs6CYq48FML_fkS75sT7zO9yKEzhcRvAwhi8duv_zmC4eUE76_CRPBcB0nGUgvkw" />
95
96
97  <style>
98  .arrow_trend_down svg path, .arrow_trend_down svg polygon, .arrow_trend_down svg square {
99    fill: #dd1d1d !important;
100  }
101
102  .arrow_trend_up svg path, .arrow_trend_up svg polygon, .arrow_trend_up svg square {
103    fill: #46953a !important;
104  }
105
106  .trend_na svg path, .trend_na svg polygon, .trend_na svg square {
107    fill: #818181 !important;
108  }
109</style>
110
111  
112
113  <style>
114    @font-face {
115      font-family: 'Glyphicons Halflings';
116      src: url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.eot');
117      src: url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.eot') format('embedded-opentype'), url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.woff') format('woff'), url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/glyphicons-halflings-regular.svg') format('svg');
118    }
119  </style>
120<!--/*
121  <style>
122  .hero-background-wrapper {
123    position: relative;
124  }
125  .hero-background-wrapper:before{
126    content: '';
127    background-image: url('');
128    background-size: cover;
129    background-position: center;
130    background-attachment: ;
131    position: absolute;
132    left: 0;
133    right: 0;
134    top: 0;
135    bottom: 0;
136    margin: auto;
137    width: 100%;
138    height: 100%;
139    opacity: ;
140    z-index: -2;
141  }
142  .hero-background-wrapper:after{
143    content: '';
144    background-color: ;
145    background-size: cover;
146    background-position: center;
147    position: absolute;
148    opacity: ;
149    left: 0;
150    right: 0;
151    top: 0;
152    bottom: 0;
153    margin: auto;
154    width: 100%;
155    height: 100%;
156    z-index: -1;
157  }
158</style>
159*/-->
160</head>
161
162  <body class="h-transparent qs-luxury theme-luxury hero home-page btn-sharp header-luxury_transparent st-wb3">
163    
164    
165    <header data-sticky="true" >
166      
167<nav class="c-navbar c-navbar--luxury_transparent     full-width">
168
169    <div class="c-navbar__content-1">
170        <div class="c-navbar__address-info">
171        </div>
172
173    </div>
174
175  <button class="navbar-toggler js-navbar-toggle" aria-label="Navbar Toggle">
176    <span class="navbar-toggler-icon">
177      <span></span>
178      <span></span>
179      <span></span>
180    </span>
181  </button>
182
183  <div class="c-navbar__inner_content">
184    <div class="navbar-brand">
185        <a title="Navigate to Cotton Realty homepage" aria-label="Link to Cotton Realty homepage" class="non-link" href="/"><img alt="Link to Cotton Realty homepage" title="Navigate to Cotton Realty homepage" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_header_logo/48675/e9d282b1742c2a4f329bef3be583ba16.png?width=700&amp;optimize=medium&amp;auto=webp 700w" sizes="700px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_header_logo/48675/e9d282b1742c2a4f329bef3be583ba16.png?width=700&amp;optimize=medium&amp;auto=webp" /></a>
186      
187    </div>
188
189    <div class="navbar-collapse collapse">
190      <div class="c-navbar__content-2">
191            <span><a data-type="Company" href="mailto:[email protected]">[email protected]</a></span>
192            <span><a class="non-link" data-type="Office" href="tel:5103850409">5103850409</a></span>
193
194          <div class="c-navbar__login-menu navbar-text"><li class="nav-item  first_item"><a class="nav-link" href="/users/new">Sign Up</a></li> <li class="nav-item  last_item"><a class="nav-link" href="/login">Login</a></li></div>
195      </div>
196
197      <div class="d-flex justify-content-end">
198          <div class="navbar-nav justify-content-end"><li class="nav-item  first_item"><a class="nav-link" href="/about">About</a></li> <li class="nav-item "><a class="nav-link" target="" href="https://sites.google.com/cotton-realty.com/real-estate-360/home">Events</a></li> <li class="nav-item "><a class="nav-link" href="/agents">Meet the Team</a></li> <li class="nav-item "><a class="nav-link" href="/contact">Contact</a></li> <li class="nav-item  parent"><a class="nav-link dropdown-toggle" data-toggle="hover-dropdown" aria-expanded="false" aria-haspopup="true" href="/buying-a-home">Buyers</a><div class="dropdown-menu"><a class="dropdown-item" href="/areas">Communities</a>
198 <a class="dropdown-item" href="/mortgage_calculator">Mortgage Calculator</a></div></li> <li class="nav-item  parent"><a class="nav-link dropdown-toggle" data-toggle="hover-dropdown" aria-expanded="false" aria-haspopup="true" href="/selling-your-home">Sellers</a><div class="dropdown-menu"><a class="dropdown-item" href="/properties/sale_prices">Home Valuation</a> <a class="dropdown-item" href="/market-insights/regions">Market Data Reports</a></div></li> <li class="nav-item  last_item parent"><a class="nav-link dropdown-toggle" data-toggle="hover-dropdown" aria-expanded="false" aria-haspopup="true" href="/searches/new">Search</a><div class="dropdown-menu"><a class="dropdown-item" href="/featured">Our Listings</a> <a class="dropdown-item" href="/searches/new">All Listings</a> <a class="dropdown-item" href="/new-real-estate-listings">New Listings</a> <a class="dropdown-item" href="/open-houses">Upcoming Open Houses</a></div></li></div>
199      </div>
200
201      <div class="c-navbar__content-2 c-navbar__content-2--mobile">
202          <div class="c-navbar__login-menu navbar-text"><li class="nav-item  first_item"><a class="nav-link" href="/users/new">Sign Up</a></li> <li class="nav-item  last_item"><a class="nav-link" href="/login">Login</a></li></div>
203      </div>
204
205      <div class="c-navbar__content-1 c-navbar__content-1--mobile">
206
207          <a> Cotton Realty</a> <br/>
208
209            <div><a class="non-link" data-type="Office" href="tel:5103850409">5103850409</a></div>
210            <div><a data-type="Company" href="mailto:[email protected]">[email protected]</a></div>
211      </div>
212    </div>
213  </div>
214</nav>
215
216
217
218
219  <div class="c-loader  js-loader-global " id="" style="display:none" role="status" aria-live="polite">
220    <div class="c-loader__loader">
221      <div></div>
222      <div></div>
223      <div></div>
224      <div></div>
225    </div>
226  </div>
227
228
229
230    </header>
231    
232
233    
234    <div class="st-hero-slider__wrapper">
235
236        <div class="st-carousel-container"
237             style=""
238             data-mobile-visible="true"
239             data-desktop-visible="true">
240          <div class="st-hero-slider__slide no-slide" data-mobile="true" data-desktop="true">
241                    <video loop muted playsinline src="https://prd-pbgo-public-uploads.s3.amazonaws.com/assets/uploads/theme_photo/video/332143/1b451f67a2de97bf3301342297cbe020.mp4" aria-label="Hero image" poster="" width="100%" style="" class="st-hero-image" autoplay controlsList="nodownload noremoteplayback nofullscreen"></video>
242
243          </div>
244        </div>
245
246
247
248          <!--   quicksearch option 1   -->
249<div id="qs-simple-wrapper" class="homepage-quicksearch-container theme-luxury bottom-third ">
250
251  <div class="home-elements-container">
252
253      <div class="home-quick-search">
254
255          <div class="qs-simple-forms" data-qs-container>
256            <div class="qs-form" data-qs-form="mls">
257              <form class="new_search" id="homepage_desktop_sales_search" title="Perform a property search using the form." aria-label="search listed properties" role="search" data-nl-search-enabled="false" data-qs-search-form="true" data-mls-action="/searches" data-ygl-action="/rental_searches" action="/searches" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="DyctwbVeJHXr8BGvrt2YqbNgZRf25RNAVqlbC8S4z2R1m824tmJG_PVPyTDjkJK7AS4lWleWhS0m_UGcogUyaw" autocomplete="off" />
258              <input type="hidden" name="rental_search[towns]" id="homepage_rental_search_towns_desktop" value="" autocomplete="off" />
259              <input type="hidden" name="rental_search[super_locations]" id="homepage_rental_search_super_locations_desktop" value="" autocomplete="off" />
260
261
262                <div class="row-min-padding">
263                  <div class="supersearch-container left-column search-field-margin d-flex align-items-center theme-luxury" id="">
264                      <input class="" id="homepage_search_super_locations_desktop" placeholder="Search By Address, City, Zip, or MLS #" aria-label="Search By Address, City, Zip, or MLS #" type="text" value="" name="search[super_locations]" />
265                      
266
267                    <button class="qs-button style-simple">
268                        <a href="javascript:$('#homepage_desktop_sales_search').submit();" class="btn btn-default btn-primary btn-sm" aria-label="Search for Properties">
269                          <svg class="magnifying-icon" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="28px" width="28px"  x="0px" y="0px" viewBox="6 118.6 556.4 556.4" enable-background="new 6 118.6 556.4 556.4" xml:space="preserve">
270                            <path d="M543.7,565.5l-61.1-61.1c-0.8-0.8-1.7-1.6-2.6-2.2c22.4-37.9,35.2-82,35.2-129c0-140.4-114.2-254.5-254.5-254.5
271                            C120.2,118.6,6,232.8,6,373.1c0,140.4,114.2,254.5,254.5,254.5c47.1,0,91.2-12.9,129-35.2c0.7,0.9,1.4,1.8,2.2,2.6l61.1,61.1
272                            c12.1,12.1,28.2,18.8,45.4,18.8c17.1,0,33.3-6.7,45.4-18.8C568.7,631.2,568.7,590.5,543.7,565.5z M82.4,373.1
273                            c0-98.2,79.9-178.1,178.1-178.1c98.2,0,178.1,79.9,178.1,178.1s-79.9,178.1-178.1,178.1S82.4,471.3,82.4,373.1z"></path>
274                          </svg>
275                          <svg class="qs-search-spinner" viewBox="0 0 50 50" aria-hidden="true" focusable="false">
276  <circle class="path" cx="25" cy="25" r="20" fill="none" stroke-width="5"></circle>
277</svg>
278
279                        </a>
280                    </span>
281
282                  </div>
283                    <div class="small advanced-link text-left clear-both mt-2">
284                        <a data-qs-advanced-link="true" data-mls-url="/searches/new" data-ygl-url="/rental_searches" href="/searches/new">Advanced Search</a>
285                    </div>
286                </div>
287</form>            </div>
288
289          </div>
290        </div>
291  </div>
292
293</div>
294
295
296
297    </div>
298  
299
300    
301
302    
302<script>
303      var primary_color = '#222222';
304      var interactive_color = '#ff0000';
305      var accent_color = '#191919';
306      var body_font_color = '#222223';
307      var market_report_default_range = 0;
308      var default_latitude = 37.806816;
309      var default_longitude = -122.26562;
310      var miDataOptions = {};
311      var marketInsights = {};
312    </script>
312
313
314    <main class="">
315      
315<script>
316  var miDataOptions = {};
317
318</script>
318
319
320
321            <div class="full-screen-width breakout valuation-wrapper section address-form luxury row"
322  data-homepage-valuation="true"
323  data-use-rematics="false"
324  data-google-maps-url="//maps.googleapis.com/maps/api/js?v=3&key=AIzaSyACBzy_C1JyFNEuinUSOmNDpjSj6LDNEkc"
325  data-autocompleter-url="https://prd-assets2.fastly.propertybase.com/assets/responsive/autocompleter-a91642d66fbd9f4185dddde790f850d7135fa0298514b1c8fb6df2d849231322.js"
326  >
327  <div class="container">
328    <div>
329      <div class="valuation">
330        <div class="valuation-header">
331          <h2 class="body-title text-center">What&#39;s Your Home Worth?</h2>
332        </div>
333        <div class="row m-auto justify-content-center" style="align-items: center; padding: 24px 0;">
334          <div class="hidden">
335            <form id="sold_valuation_search" action="/properties/sold_valuation" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="h_9aoQkdGqNFqIU1GgDU3rhNwgTEJICsP9jjjlRVa-uBtKv58M2Qe5ngsVb3ZlYfQ2_MWNjsMKrXqexTdUNuiQ" autocomplete="off" />
336              <input type="hidden" name="street_address" id="street_address" autocomplete="off" />
337              <input type="hidden" name="home_address" id="hidden_home_address" value="" autocomplete="off" />
338              <input type="hidden" name="neighborhood" id="neighborhood" autocomplete="off" />
339              <input type="hidden" name="town" id="town" autocomplete="off" />
340              <input type="hidden" name="county" id="county" autocomplete="off" />
341              <input type="hidden" name="state" id="state" autocomplete="off" />
342              <input type="hidden" name="state_abbr" id="state_abbr" autocomplete="off" />
343              <input type="hidden" name="zip_code" id="zip_code" autocomplete="off" />
344              <input type="hidden" name="latitude" id="latitude" autocomplete="off" />
345              <input type="hidden" name="longitude" id="longitude" autocomplete="off" />
346              <input type="hidden" name="custom_sorting" id="custom_sorting" value="newest" autocomplete="off" />
347</form>          </div>
348          <div class="col-md-12 col-sm-10 col-md-12 col-sm-10 m-auto  home-evaluation-input" style="position: relative; ">
349            <input type="text" name="home_address" id="home_address" value="" class="form-control location-field" autocomplete="off" placeholder="Type in your home address." aria-label="Type in your home address." />
350            <button href="javascript:void(0);" aria-label="Valuation Submit Button" class="btn btn-primary valuation-submit-btn simple" id="home_address_submit">
351              <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20px" height="24px" viewBox="0 0 24 24" version="1.1" style="height: 19px">
352    <g id="🔄-Components" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
353        <g id="search-bar/quick-search/desktop/empty" transform="translate(-278.000000, -13.000000)" fill="#666">
354            <g id="icon/magnifier/gray-quicksearch" transform="translate(278.000000, 13.000000)">
355                <g id="search">
356                    <path d="M23.7894737,21.9368421 L18.1099415,16.2573099 C18.0023392,16.1497076 17.8619883,16.0935673 17.7122807,16.0935673 L17.0947368,16.0935673 C18.5684211,14.3859649 19.4619883,12.1637427 19.4619883,9.73099415 C19.4619883,4.35555556 15.1064327,0 9.73099415,0 C4.35555556,0 0,4.35555556 0,9.73099415 C0,15.1064327 4.35555556,19.4619883 9.73099415,19.4619883 C12.1637427,19.4619883 14.3859649,18.5684211 16.0935673,17.0947368 L16.0935673,17.7122807 C16.0935673,17.8619883 16.154386,18.0023392 16.2573099,18.1099415 L21.9368421,23.7894737 C22.1567251,24.0093567 22.5122807,24.0093567 22.7321637,23.7894737 L23.7894737,22.7321637 C24.0093567,22.5122807 24.0093567,22.1567251 23.7894737,21.9368421 Z M9.73099415,17.2163743 C5.59532164,17.2163743 2.24561404,13.8666667 2.24561404,9.73099415 C2.24561404,5.59532164 5.59532164,2.24561404 9.73099415,2.24561404 C13.8666667,2.24561404 17.2163743,5.59532164 17.2163743,9.73099415 C17.2163743,13.8666667 13.8666667,17.2163743 9.73099415,17.2163743 Z" id="Shape" fill-rule="nonzero"></path>
357                </g>
358            </g>
359        </g>
360    </g>
361</svg>
362
363            </button>
364          </div>
365        </div>
366      </div>
367    </div>
368  </div>
369</div>
370
371
372
373            
374
375  <div id="banner-background" class="areas_card_slider full-screen-width mobile-row section areas-wrapper arrows " >
376    <div class="slick-container container text-center">
377        <h2 class="body-title text-md-center text-sm-center">
378          Local Areas
379        </h2>
380
381
382      
383
384      <div id="areas-slider" class="responsive slider">
385        
386  <a class="c-area-card c-area-card--luxury_landscape" id="51273" href="/areas/san-francisco">
387    <div class="c-area-card__image">
388
389        <img alt="San Francisco" class="photo-attribution-custom" title="[&quot;&lt;a href=\&quot;https://maps.google.com/maps/contrib/114936551742889652319\&quot;&gt;Marco Hueg&lt;/a&gt;&quot;]" data-logo="https://prd-assets1.fastly.propertybase.com/assets/svgs/frontend/social/google_logo-12dc077c1feeeb24f6e9057caf38391376615ee7f05befd435f1b18b98e01209.svg" data-credit="[&quot;&lt;a href=\&quot;https://maps.google.com/maps/contrib/114936551742889652319\&quot;&gt;Marco Hueg&lt;/a&gt;&quot;]" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51273/1521d1dd74f70d3058ebe8b2237e1d39.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51273/1521d1dd74f70d3058ebe8b2237e1d39.jpg?width=362&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 362w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51273/1521d1dd74f70d3058ebe8b2237e1d39.jpg?width=460&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 460w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51273/1521d1dd74f70d3058ebe8b2237e1d39.jpg?width=766&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 766w" sizes="(min-width: 1200px) 362px, (min-width: 768px) 460px, (min-width: 737px) 766px, 767px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51273/1521d1dd74f70d3058ebe8b2237e1d39.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50" />
390      <span class="c-area-card__connect-button">Details</span>
391    </div>
392    <div class="c-area-card__details">
393      <div style="text-decoration: none" class="c-area-card__title">San Francisco</div>
394    </div>
395  </a>
396
397
398  <a class="c-area-card c-area-card--luxury_landscape" id="51278" href="/areas/oakland">
399    <div class="c-area-card__image">
400
401        <img alt="Oakland" class="photo-attribution-custom" title="[&quot;&lt;a href=\&quot;https://maps.google.com/maps/contrib/115061239080648421931\&quot;&gt;Rogelio Sánchez&lt;/a&gt;&quot;]" data-logo="https://prd-assets1.fastly.propertybase.com/assets/svgs/frontend/social/google_logo-12dc077c1feeeb24f6e9057caf38391376615ee7f05befd435f1b18b98e01209.svg" data-credit="[&quot;&lt;a href=\&quot;https://maps.google.com/maps/contrib/115061239080648421931\&quot;&gt;Rogelio Sánchez&lt;/a&gt;&quot;]" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51278/4b416e52fd4bcc15e50785498af2995c.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51278/4b416e52fd4bcc15e50785498af2995c.jpg?width=362&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 362w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51278/4b416e52fd4bcc15e50785498af2995c.jpg?width=460&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 460w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51278/4b416e52fd4bcc15e50785498af2995c.jpg?width=766&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 766w" sizes="(min-width: 1200px) 362px, (min-width: 768px) 460px, (min-width: 737px) 766px, 767px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/51278/4b416e52fd4bcc15e50785498af2995c.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50" />
402      <span class="c-area-card__connect-button">Details</span>
403    </div>
404    <div class="c-area-card__details">
405      <div style="text-decoration: none" class="c-area-card__title">Oakland</div>
406    </div>
407  </a>
408
409
410  <a class="c-area-card c-area-card--luxury_landscape" id="62017" href="/areas/napa-county-or-american-canyon">
411    <div class="c-area-card__image">
412
413        <img alt="Napa County" class="photo-attribution-custom" title="&lt;a href=&quot;https://maps.google.com/maps/contrib/106611218431636014030&quot;&gt;Inês Martins&lt;/a&gt;" data-logo="https://prd-assets1.fastly.propertybase.com/assets/svgs/frontend/social/google_logo-12dc077c1feeeb24f6e9057caf38391376615ee7f05befd435f1b18b98e01209.svg" data-credit="&lt;a href=&quot;https://maps.google.com/maps/contrib/106611218431636014030&quot;&gt;Inês Martins&lt;/a&gt;" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/62017/c0d295988754ce3009b2c71ed43e42a6.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/62017/c0d295988754ce3009b2c71ed43e42a6.jpg?width=362&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 362w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/62017/c0d295988754ce3009b2c71ed43e42a6.jpg?width=460&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 460w, https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/62017/c0d295988754ce3009b2c71ed43e42a6.jpg?width=766&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50 766w" sizes="(min-width: 1200px) 362px, (min-width: 768px) 460px, (min-width: 737px) 766px, 767px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/area_profile/gallery_image/62017/c0d295988754ce3009b2c71ed43e42a6.jpg?width=767&amp;optimize=medium&amp;auto=webp&amp;crop=16:9,offset-x50,offset-y50" />
414      <span class="c-area-card__connect-button">Details</span>
415    </div>
416    <div class="c-area-card__details">
417      <div style="text-decoration: none" class="c-area-card__title">Napa County</div>
418    </div>
419  </a>
420
421
422      </div>
423
424
425        <a class="view-all" href="/areas">View All</a>
426    </div>
427  </div>
428
429
430
431            <!--  FEATURED PROPS  -->
432
433
434
435            
436
437<div class="full-screen-width section card_slider arrows featured-agents-wrapper" >
438  <div class="text-center slick-container container">
439      <h2 class="body-title text-md-center text-sm-center">
440        Our Agents
441      </h2>
442
443
444    <div id="agents-slider" class="agent-slider-carousel responsive slider">
445        
446
447  <div class="c-agent-card c-agent-card--1 default ">
448    <div class="c-agent-card__inner">
449      <a class="c-agent-card__image non-link" href="/agents/120820-tashanique-brown">
450        <div class="c-agent-card__image">
451            <img alt="Tashanique  Brown headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120820/a03b1122dd6cbee67010da8c090d3192.png?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120820/a03b1122dd6cbee67010da8c090d3192.png?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120820/a03b1122dd6cbee67010da8c090d3192.png?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120820/a03b1122dd6cbee67010da8c090d3192.png?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120820/a03b1122dd6cbee67010da8c090d3192.png?width=300&amp;optimize=low&amp;auto=webp" />
452        </div>
453</a>      <div class="c-agent-card__details">
454        <div class="c-agent-card__details__inner">
455          <div class="c-agent-card__name pb-2">
456            <a class="non-link" href="/agents/120820-tashanique-brown">
457              Tashanique </br>Brown
458</a>          </div>
459          <div class="c-agent-card__office">
460            Cotton Realty
461          </div>
462          <div class="c-agent-card__phone">
463              <a class="non-link" data-type="Agent" href="tel:510-807-7133">510-807-7133</a><br />
464          </div>
465        </div>
466        <div class="c-agent-card__email">
467          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
468        </div>
469      </div>
470    </div>
471  </div>
472
473        
474
475  <div class="c-agent-card c-agent-card--1 default ">
476    <div class="c-agent-card__inner">
477      <a class="c-agent-card__image non-link" href="/agents/119699-ria-cotton">
478        <div class="c-agent-card__image">
479            <img alt="Ria Cotton headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/119699/c5cfbb984b459d0e0eab5b5d6c1f2a9d.jpg?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/119699/c5cfbb984b459d0e0eab5b5d6c1f2a9d.jpg?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/119699/c5cfbb984b459d0e0eab5b5d6c1f2a9d.jpg?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/119699/c5cfbb984b459d0e0eab5b5d6c1f2a9d.jpg?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/119699/c5cfbb984b459d0e0eab5b5d6c1f2a9d.jpg?width=300&amp;optimize=low&amp;auto=webp" />
480        </div>
481</a>      <div class="c-agent-card__details">
482        <div class="c-agent-card__details__inner">
483          <div class="c-agent-card__name pb-2">
484            <a class="non-link" href="/agents/119699-ria-cotton">
485              Ria</br>Cotton
486</a>          </div>
487          <div class="c-agent-card__office">
488            Cotton Realty
489          </div>
490          <div class="c-agent-card__phone">
491              <a class="non-link" data-type="Agent" href="tel:510.385.0409">510.385.0409</a><br />
492          </div>
493        </div>
494        <div class="c-agent-card__email">
495          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
496        </div>
497      </div>
498    </div>
499  </div>
500
501        
502
503  <div class="c-agent-card c-agent-card--1 default ">
504    <div class="c-agent-card__inner">
505      <a class="c-agent-card__image non-link" href="/agents/120821-destiny-brown">
506        <div class="c-agent-card__image">
507            <img alt="Destiny Brown headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120821/d3e771a8057c00767e0a139dea00211e.jpg?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120821/d3e771a8057c00767e0a139dea00211e.jpg?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120821/d3e771a8057c00767e0a139dea00211e.jpg?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120821/d3e771a8057c00767e0a139dea00211e.jpg?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120821/d3e771a8057c00767e0a139dea00211e.jpg?width=300&amp;optimize=low&amp;auto=webp" />
508        </div>
509</a>      <div class="c-agent-card__details">
510        <div class="c-agent-card__details__inner">
511          <div class="c-agent-card__name pb-2">
512            <a class="non-link" href="/agents/120821-destiny-brown">
513              Destiny</br>Brown
514</a>          </div>
515          <div class="c-agent-card__office">
516            Cotton Realty
517          </div>
518          <div class="c-agent-card__phone">
519              <a class="non-link" data-type="Agent" href="tel:415.802.3544">415.802.3544</a><br />
520          </div>
521        </div>
522        <div class="c-agent-card__email">
523          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
524        </div>
525      </div>
526    </div>
527  </div>
528
529        
530
531  <div class="c-agent-card c-agent-card--1 default ">
532    <div class="c-agent-card__inner">
533      <a class="c-agent-card__image non-link" href="/agents/120825-kaley-mason">
534        <div class="c-agent-card__image">
535            <img alt="Kaley Mason headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120825/4243a93347c3f81ff256fedb8df0d5d7.jpg?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120825/4243a93347c3f81ff256fedb8df0d5d7.jpg?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120825/4243a93347c3f81ff256fedb8df0d5d7.jpg?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120825/4243a93347c3f81ff256fedb8df0d5d7.jpg?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120825/4243a93347c3f81ff256fedb8df0d5d7.jpg?width=300&amp;optimize=low&amp;auto=webp" />
536        </div>
537</a>      <div class="c-agent-card__details">
538        <div class="c-agent-card__details__inner">
539          <div class="c-agent-card__name pb-2">
540            <a class="non-link" href="/agents/120825-kaley-mason">
541              Kaley</br>Mason
542</a>          </div>
543          <div class="c-agent-card__office">
544            Cotton Realty
545          </div>
546          <div class="c-agent-card__phone">
547              <a class="non-link" data-type="Agent" href="tel:5102299575">5102299575</a><br />
548          </div>
549        </div>
550        <div class="c-agent-card__email">
551          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
552        </div>
553      </div>
554    </div>
555  </div>
556
557        
558
559  <div class="c-agent-card c-agent-card--1 default ">
560    <div class="c-agent-card__inner">
561      <a class="c-agent-card__image non-link" href="/agents/120824-lanise-spann">
562        <div class="c-agent-card__image">
563            <img alt="Lanise  Spann headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120824/49f55c3a50ebe14f2a603e75008bfd9a.png?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120824/49f55c3a50ebe14f2a603e75008bfd9a.png?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120824/49f55c3a50ebe14f2a603e75008bfd9a.png?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120824/49f55c3a50ebe14f2a603e75008bfd9a.png?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120824/49f55c3a50ebe14f2a603e75008bfd9a.png?width=300&amp;optimize=low&amp;auto=webp" />
564        </div>
565</a>      <div class="c-agent-card__details">
566        <div class="c-agent-card__details__inner">
567          <div class="c-agent-card__name pb-2">
568            <a class="non-link" href="/agents/120824-lanise-spann">
569              Lanise </br>Spann
570</a>          </div>
571          <div class="c-agent-card__office">
572            Cotton Realty
573          </div>
574          <div class="c-agent-card__phone">
575              <a class="non-link" data-type="Agent" href="tel:707.297.0398">
575707.297.0398</a><br />
576          </div>
577        </div>
578        <div class="c-agent-card__email">
579          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
580        </div>
581      </div>
582    </div>
583  </div>
584
585        
586
587  <div class="c-agent-card c-agent-card--1 default ">
588    <div class="c-agent-card__inner">
589      <a class="c-agent-card__image non-link" href="/agents/120823-claudia-schutlz">
590        <div class="c-agent-card__image">
591            <img alt="Claudia Schutlz headshot" loading="lazy" decoding="async" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120823/a9062b388940cf015d44add0fd70b708.png?width=300&amp;optimize=low&amp;auto=webp 300w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120823/a9062b388940cf015d44add0fd70b708.png?width=400&amp;optimize=medium&amp;auto=webp 400w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120823/a9062b388940cf015d44add0fd70b708.png?width=767&amp;optimize=medium&amp;auto=webp 767w, https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120823/a9062b388940cf015d44add0fd70b708.png?width=500&amp;optimize=medium&amp;auto=webp 500w" sizes="(min-width: 768px) 400px, (min-width: 500px) 767px, (min-width: 300px) 500px, 300px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/agent/photo/120823/a9062b388940cf015d44add0fd70b708.png?width=300&amp;optimize=low&amp;auto=webp" />
592        </div>
593</a>      <div class="c-agent-card__details">
594        <div class="c-agent-card__details__inner">
595          <div class="c-agent-card__name pb-2">
596            <a class="non-link" href="/agents/120823-claudia-schutlz">
597              Claudia</br>Schutlz
598</a>          </div>
599            <div class="c-agent-card__title pb-2">
600              Claudia Marissa
601            </div>
602          <div class="c-agent-card__office">
603            Cotton Realty
604          </div>
605          <div class="c-agent-card__phone">
606              <a class="non-link" data-type="Agent" href="tel:(510) 495-4503">(510) 495-4503</a><br />
607          </div>
608        </div>
609        <div class="c-agent-card__email">
610          <a class="agent-email c-agent-card__btn st-btn btn-primary btn px-4 agent_email" title="[email protected]" data-type="Agent" href="mailto:[email protected]">Contact Me</a>
611        </div>
612      </div>
613    </div>
614  </div>
615
616    </div>
617
618    <div class="bumper clear-both"></div>
619
620      <a class="view-all" href="/agents">View All</a>
621
622  </div>
623  <div class="spacer"></div>
624</div>
625
626
627
628              <div class="market-classic breakout market-updates section card_slider" >
629  <div class="container">
630    <div class="row">
631      <div class="col-sm-12 text-center">
632          <h2 class="body-title">Oakland, CA Market Data</h2>
633
634
635          <div class="home-market-report mobile-kill-padding">
636            <div class="kill-padding text-left">
637              <div id="market-slider" class="responsive slider">
638                
639<div class="c-market-report-summary-card c-market-report-summary-card--7 luxury_rectangle">
640  <div class="c-market-report-summary-card__inner">
641    <div class="c-market-report-summary-card__total">
642          396
643    </div>
644    <div class="c-market-report-summary-card__title" data-toggle="tooltip" data-placement="top" title="Number of properties listed for sale during the selected time period" ># New Properties</div>
645    <div class="c-market-report-summary-card__change is-up">
646          5.04% Increase
647    </div>
648  </div>
649    <div class="c-market-report-summary-card__chart" id="flag_summary-chart"></div>
650    
650<script type="text/javascript">
651      miDataOptions['flag_summary'] = {
652        data: [[1759302000000,326],[1761980400000,183],[1764576000000,97],[1767254400000,288],[1769932800000,286],[1772352000000,388],[1775026800000,361],[1777618800000,344],[1780297200000,334],[1782889200000,309],[1785567600000,329],[1788246000000,377]],
653        data_type: 'count',
654        options: {
655          chart: {
656            id: 'flag_summary-chart',
657            type: 'area',
658            height: 100,
659            zoom: {enabled: false},
660            toolbar: {show: false},
661            // group: '2',
662            sparkline: { enabled: true},
663            animations: {
664              enabled: true,
665              easing: 'easeinout',
666              speed: 800,
667              animateGradually: {
668                enabled: true,
669                delay: 150
670              }
671            }
672          },
673          colors: ['#fff'],
674          stroke: { width: 2 },
675          dataLabels: {enabled: false},
676          series: [{
677            name: '# New Properties',
678            data: [[1759302000000,326],[1761980400000,183],[1764576000000,97],[1767254400000,288],[1769932800000,286],[1772352000000,388],[1775026800000,361],[1777618800000,344],[1780297200000,334],[1782889200000,309],[1785567600000,329],[1788246000000,377]]
679          }],
680          tooltip: {
681            followCursor: false,
682            theme: 'dark',
683            x: {
684              show: false
685            },
686            marker: { show: false },
687            y: {
688              formatter: function(value) {
689                return numeral(value).format('(0,0)')
690              }
691            }
692          }
693        }
694      }
695    </script>
695
696</div>
697
698                
699<div class="c-market-report-summary-card c-market-report-summary-card--7 luxury_rectangle">
700  <div class="c-market-report-summary-card__inner">
701    <div class="c-market-report-summary-card__total">
702          191
703    </div>
704    <div class="c-market-report-summary-card__title" data-toggle="tooltip" data-placement="top" title="Number of properties sold during the selected time period" ># Sold Properties</div>
705    <div class="c-market-report-summary-card__change is-down">
706          12.39% Decrease
707    </div>
708  </div>
709    <div class="c-market-report-summary-card__chart" id="key_icon_summary-chart"></div>
710    
710<script type="text/javascript">
711      miDataOptions['key_icon_summary'] = {
712        data: [[1759302000000,250],[1761980400000,228],[1764576000000,211],[1767254400000,133],[1769932800000,157],[1772352000000,218],[1775026800000,242],[1777618800000,238],[1780297200000,249],[1782889200000,264],[1785567600000,207],[1788246000000,218]],
713        data_type: 'count',
714        options: {
715          chart: {
716            id: 'key_icon_summary-chart',
717            type: 'area',
718            height: 100,
719            zoom: {enabled: false},
720            toolbar: {show: false},
721            // group: '2',
722            sparkline: { enabled: true},
723            animations: {
724              enabled: true,
725              easing: 'easeinout',
726              speed: 800,
727              animateGradually: {
728                enabled: true,
729                delay: 150
730              }
731            }
732          },
733          colors: ['#fff'],
734          stroke: { width: 2 },
735          dataLabels: {enabled: false},
736          series: [{
737            name: '# Sold Properties',
738            data: [[1759302000000,250],[1761980400000,228],[1764576000000,211],[1767254400000,133],[1769932800000,157],[1772352000000,218],[1775026800000,242],[1777618800000,238],[1780297200000,249],[1782889200000,264],[1785567600000,207],[1788246000000,218]]
739          }],
740          tooltip: {
741            followCursor: false,
742            theme: 'dark',
743            x: {
744              show: false
745            },
746            marker: { show: false },
747            y: {
748              formatter: function(value) {
749                return numeral(value).format('(0,0)')
750              }
751            }
752          }
753        }
754      }
755    </script>
755
756</div>
757
758                
759<div class="c-market-report-summary-card c-market-report-summary-card--7 luxury_rectangle">
760  <div class="c-market-report-summary-card__inner">
761    <div class="c-market-report-summary-card__total">
762          971
763    </div>
764    <div class="c-market-report-summary-card__title" data-toggle="tooltip" data-placement="top" title="Total number of properties that were active during the selected time period" ># Active Properties</div>
765    <div class="c-market-report-summary-card__change is-up">
766          3.52% Increase
767    </div>
768  </div>
769    <div class="c-market-report-summary-card__chart" id="house_summary-chart"></div>
770    
770<script type="text/javascript">
771      miDataOptions['house_summary'] = {
772        data: [[1759302000000,1114],[1761980400000,899],[1764576000000,599],[1767254400000,611],[1769932800000,717],[1772352000000,911],[1775026800000,955],[1777618800000,936],[1780297200000,927],[1782889200000,849],[1785567600000,860],[1788246000000,938]],
773        data_type: 'count',
774        options: {
775          chart: {
776            id: 'house_summary-chart',
777            type: 'area',
778            height: 100,
779            zoom: {enabled: false},
780            toolbar: {show: false},
781            // group: '2',
782            sparkline: { enabled: true},
783            animations: {
784              enabled: true,
785              easing: 'easeinout',
786              speed: 800,
787              animateGradually: {
788                enabled: true,
789                delay: 150
790              }
791            }
792          },
793          colors: ['#fff'],
794          stroke: { width: 2 },
795          dataLabels: {enabled: false},
796          series: [{
797            name: '# Active Properties',
798            data: [[1759302000000,1114],[1761980400000,899],[1764576000000,599],[1767254400000,611],[1769932800000,717],[1772352000000,911],[1775026800000,955],[1777618800000,936],[1780297200000,927],[1782889200000,849],[1785567600000,860],[1788246000000,938]]
799          }],
800          tooltip: {
801            followCursor: false,
802            theme: 'dark',
803            x: {
804              show: false
805            },
806            marker: { show: false },
807            y: {
808              formatter: function(value) {
809                return numeral(value).format('(0,0)')
810              }
811            }
812          }
813        }
814      }
815    </script>
815
816</div>
817
818                
819<div class="c-market-report-summary-card c-market-report-summary-card--7 luxury_rectangle">
820  <div class="c-market-report-summary-card__inner">
821    <div class="c-market-report-summary-card__total">
822          $786K
823    </div>
824    <div class="c-market-report-summary-card__title" data-toggle="tooltip" data-placement="top" title="Average list price for listings that were active during the selected time period" >Avg. List Price - Active Properties</div>
825    <div class="c-market-report-summary-card__change is-down">
826          0.70% Decrease
827    </div>
828  </div>
829    <div class="c-market-report-summary-card__chart" id="money_summary-chart"></div>
830    
830<script type="text/javascript">
831      miDataOptions['money_summary'] = {
832        data: [[1759302000000,766482.0],[1761980400000,735517.0],[1764576000000,707235.0],[1767254400000,694724.0],[1769932800000,751653.0],[1772352000000,765911.0],[1775026800000,804500.0],[1777618800000,790693.0],[1780297200000,784844.0],[1782889200000,741627.0],[1785567600000,738060.0],[1788246000000,791715.0]],
833        data_type: 'currency',
834        options: {
835          chart: {
836            id: 'money_summary-chart',
837            type: 'area',
838            height: 100,
839            zoom: {enabled: false},
840            toolbar: {show: false},
841            // group: '2',
842            sparkline: { enabled: true},
843            animations: {
844              enabled: true,
845              easing: 'easeinout',
846              speed: 800,
847              animateGradually: {
848                enabled: true,
849                delay: 150
850              }
851            }
852          },
853          colors: ['#fff'],
854          stroke: { width: 2 },
855          dataLabels: {enabled: false},
856          series: [{
857            name: 'Avg. List Price - Active Properties',
858            data: [[1759302000000,766482.0],[1761980400000,735517.0],[1764576000000,707235.0],[1767254400000,694724.0],[1769932800000,751653.0],[1772352000000,765911.0],[1775026800000,804500.0],[1777618800000,790693.0],[1780297200000,784844.0],[1782889200000,741627.0],[1785567600000,738060.0],[1788246000000,791715.0]]
859          }],
860          tooltip: {
861            followCursor: false,
862            theme: 'dark',
863            x: {
864              show: false
865            },
866            marker: { show: false },
867            y: {
868              formatter: function(value) {
869                return numeral(value).format('($0.0 a)')
870              }
871            }
872          }
873        }
874      }
875    </script>
875
876</div>
877
878              </div>
879            </div>
880          </div>
881            <div class="disclaimer text-center small pb-2">
882    Statistics above are calculated on activity within the period from Sep, 04 2026 to Oct, 04 2026<br/>
883    Increase/Decrease activity is compared to the month of September. 
884    <a style="text-decoration: underline; font-weight: 600;" data-toggle="modal" data-target="#rb_subscribe_form" href="javascript:void(0)">Subscribe to Market Insights</a>
885  </div>
886
887
888
889
890
891
892
893        <div class="bumper clear"></div>
894          <a class="" aria="Link to Market Insights" alt="link to market insights" href="/market-insights">View All</a>
895
896      </div>
897    </div>
898  </div>
899</div>
900
901
902          <div class="homepage-below-fold-section" data-homepage-section="cms_content">
903      <div class="cms-content-wrapper full-screen-width luxury"
904>
905        <div class="container">
906            
907
908
909
910              <article class="cms " style="">
911
912
913
914
915    
916
917
918
919        <div class="cms__content container  wysywig-content cms-btn-solid cms-btn-sharp">
920
921                        <h1 class="text-center   ">Cotton Realty</h1>
922
923
924          <div>                              <div><p style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/WpLA3lsMx50?si=26evaQDp0BogXlK6" title="YouTube video player" width="560"></iframe></p></div>
925
926
927
928</div>
929
930        </div>
931  </article>
932
933        </div>
934      </div>
935      </div>
936
937            
938
939
940
941
942
943
944          <!--   quicksearch option 2  -->
945
946<div id="qs-complex-wrapper"
947  class="full-screen-width"
948>
949  <div class="container">
950    <div class="home-qs-complex col-sm-12 p-0 luxury" style="min-width: 100%;">
951
952      <div class="qs-complex-forms" data-qs-container>
953        <div class="qs-form" data-qs-form="mls">
954          <form class="" id="new_desktop_qs_sales_search" title="Perform a property search using the form." data-qs-search-form="true" data-mls-action="/searches" data-ygl-action="/rental_searches" action="/searches" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="Ct1fIDMZX-zU1gXGkA87LB2AzPIuQY8er2okfscSQ6ZwYb9ZMCU9Zcpp3VndQjE-r86Mv48yGXPfPj7poa--qQ" autocomplete="off" />
955          <input type="hidden" name="rental_search[towns]" id="homepage_rental_search_towns" value="" autocomplete="off" />
956          <input type="hidden" name="rental_search[super_locations]" id="homepage_rental_search_super_locations" value="" autocomplete="off" />
957          <input type="hidden" name="rental_search[min_beds]" id="homepage_rental_search_min_beds" value="" autocomplete="off" />
958          <input type="hidden" name="rental_search[max_beds]" id="homepage_rental_search_max_beds" value="" autocomplete="off" />
959          <input type="hidden" name="rental_search[min_baths]" id="homepage_rental_search_min_baths" value="" autocomplete="off" />
960          <input type="hidden" name="rental_search[price_low]" id="homepage_rental_search_price_low" value="" autocomplete="off" />
961          <input type="hidden" name="rental_search[price_high]" id="homepage_rental_search_price_high" value="" autocomplete="off" />
962
963
964
965        <div id="borough-complexsearch" class="luxury" style="display: flex; height: unset; padding: unset; align-items: center; width: 100%; box-shadow: none;">
966          <div class="supersearch-container col-md-4 col-sm-10 kill-padding p-0 ">
967              <input class="" id="homepage_search_super_locations" placeholder="Search By Address, City, Zip, or MLS #" aria-label="Search By Address, City, Zip, or MLS #" type="text" value="" name="search[super_locations]" />
968          </div>
969
970            <div class="col-md-2 kill-padding p-0 home-qs-fields d-none d-md-block">
971              <select title="Choose property types." aria-label="Choose property types." class="form-control" name="search[prop_type]" id="search_prop_type"><option value="">Type</option>
972<option selected="selected" value="">All</option>
973<option value="100013">Commercial/Industrial - Lease</option>
974<option value="100234">Commercial - Residential Income</option>
975<option value="100192">Manufactured in Park</option>
976<option value="100039">Residential Lease</option>
977<option value="100035">Commercial Lots and Land</option>
978<option value="100030">Commercial Sale</option>
979<option value="100029">Commercial Lease</option>
980<option value="100025">Residential</option>
981<option value="100024">Residential Income</option>
982<option value="8">Business Opportunity</option>
983<option value="5">Land</option>
984<option value="100038">Timeshare</option>
985<option value="1">Single Family</option>
986<option value="100012">Townhouse</option>
987<option value="10">Parking</option>
988<option value="9">Hotel</option>
989<option value="7">Commercial/Industrial</option>
990<option value="6">Rental</option>
991<option value="4">Multi Family</option>
992<option value="3">Condo</option>
993<option value="2">
993Mobile Home</option></select>
994            </div>
995            <div class="col-md-3 kill-padding p-0 home-qs-fields d-none d-md-flex" style="font-weight: 300">
996              <div class="form-control qs-beds-button d-none d-sm-flex">
997                <span class="dynamic-beds-count"> </span> <span class="dynamic-beds-character"></span> <span class="dynamic-max-beds-count"></span> Beds /
998                <span class="dynamic-baths-count"></span> Baths
999              </div>
1000              <div class="beds-qs-modal">
1001                <div aria-label="beds-select" name="beds-select" role="group" class="new-beds-display">
1002                  <div class="close-button"></div>
1003                  <label>Beds</label>
1004                  <div class="checkbox-row m-auto">
1005                    <input class="min-beds-hidden-field" autocomplete="off" type="hidden" name="search[min_beds]" id="search_min_beds" />
1006                    <input class="max-beds-hidden-field" autocomplete="off" type="hidden" name="search[max_beds]" id="search_max_beds" />
1007                    <input type="checkbox" name="new-beds-checkbox-any" id="new-beds-checkbox-any" value="any" class="new-beds-checkbox-input" checked="checked" />
1008                    <label class="new-beds-checkbox plus " for="new-beds-checkbox-any">Any</label>
1009                      <input type="checkbox" name="new-beds-checkbox-1" id="new-beds-checkbox-1" value="1" class="new-beds-checkbox-input" />
1010                      <label class="new-beds-checkbox" for="new-beds-checkbox-1">
1011                        1
1012                        <span class="">+</span>
1013</label>                      <input type="checkbox" name="new-beds-checkbox-2" id="new-beds-checkbox-2" value="2" class="new-beds-checkbox-input" />
1014                      <label class="new-beds-checkbox" for="new-beds-checkbox-2">
1015                        2
1016                        <span class="">+</span>
1017</label>                      <input type="checkbox" name="new-beds-checkbox-3" id="new-beds-checkbox-3" value="3" class="new-beds-checkbox-input" />
1018                      <label class="new-beds-checkbox" for="new-beds-checkbox-3">
1019                        3
1020                        <span class="">+</span>
1021</label>                      <input type="checkbox" name="new-beds-checkbox-4" id="new-beds-checkbox-4" value="4" class="new-beds-checkbox-input" />
1022                      <label class="new-beds-checkbox" for="new-beds-checkbox-4">
1023                        4
1024                        <span class="">+</span>
1025</label>                      <input type="checkbox" name="new-beds-checkbox-5" id="new-beds-checkbox-5" value="5" class="new-beds-checkbox-input" />
1026                      <label class="new-beds-checkbox" for="new-beds-checkbox-5">
1027                        5
1028                        <span class="">+</span>
1029</label>                      <input type="checkbox" name="new-beds-checkbox-6" id="new-beds-checkbox-6" value="6" class="new-beds-checkbox-input" />
1030                      <label class="new-beds-checkbox" for="new-beds-checkbox-6">
1031                        6
1032                        <span class="">+</span>
1033</label>                  </div>
1034                </div>
1035                <div class="exact-count-checkbox form-check" style="padding-top: 14px;">
1036                  <input type="checkbox" name="beds_exact_count" id="beds_exact_count" value="1" class="form-check-input" />
1037                  <label class="form-check-label" for="beds_exact_count"></label>
1038                </div>
1039                <div aria-label="baths-select" name="baths-select" role="group" class="new-baths-display" style="margin-top: 14px;">
1040                <label>Baths</label>
1041                <div class="checkbox-row m-auto">
1042                    <input class="new-baths-checkbox-input" id="baths-checkbox-0" type="checkbox" value="" name="search[min_baths_select]" />
1043                    <label for="baths-checkbox-0" class="new-baths-checkbox">Any</label>
1044                    <input class="new-baths-checkbox-input" id="baths-checkbox-1" type="checkbox" value="1" name="search[min_baths_select]" />
1045                    <label for="baths-checkbox-1" class="new-baths-checkbox">1+</label>
1046                    <input class="new-baths-checkbox-input" id="baths-checkbox-2" t
1046ype="checkbox" value="1.5" name="search[min_baths_select]" />
1047                    <label for="baths-checkbox-2" class="new-baths-checkbox">1.5+</label>
1048                    <input class="new-baths-checkbox-input" id="baths-checkbox-3" type="checkbox" value="2" name="search[min_baths_select]" />
1049                    <label for="baths-checkbox-3" class="new-baths-checkbox">2+</label>
1050                    <input class="new-baths-checkbox-input" id="baths-checkbox-4" type="checkbox" value="3" name="search[min_baths_select]" />
1051                    <label for="baths-checkbox-4" class="new-baths-checkbox">3+</label>
1052                    <input class="new-baths-checkbox-input" id="baths-checkbox-5" type="checkbox" value="4" name="search[min_baths_select]" />
1053                    <label for="baths-checkbox-5" class="new-baths-checkbox">4+</label>
1054                    <input class="new-baths-checkbox-input" id="baths-checkbox-6" type="checkbox" value="5" name="search[min_baths_select]" />
1055                    <label for="baths-checkbox-6" class="new-baths-checkbox">5+</label>
1056                </div>
1057              </div>
1058            </div>
1059          </div>
1060
1061            <div class="col-md-2 kill-padding p-0 home-qs-fields d-none d-md-flex">
1062              <div class="form-control qs-price-button">
1063                  <span class="dynamic-price-placeholder">Price</span>
1064                  <span class="dynamic-min-price"></span>
1065                  <span class="dynamic-divider" style="padding: 0 5px"> - </span>
1066                  <span class="dynamic-max-price"></span>
1067              </div>
1068              <div class="price-qs-modal" style="border: 1px solid #cacaca">
1069              <label for="search_Min Price">Min price</label>
1070              <input title="Select a minimum price." aria-label="Select a minimum price." class="form-control" type="text" name="search[min_price_text]" id="search_min_price_text" />
1071              <label style="margin-top: 11px" for="search_Max Price">Max price</label>
1072              <input title="Select a maximum price." aria-label="Select a maximum price." class="form-control" type="text" name="search[max_price_text]" id="search_max_price_text" />
1073              </div>
1074            </div>
1075
1076          <div class="p-0 col-sm-2 col-md-1 quarter-padding search-field-margin style-simple" id="borough-complexsearch-button">
1077              <a href="javascript:$('#new_desktop_qs_sales_search').submit();" class="btn btn-default btn-primary btn-sm full-width" aria-label="Search for properties">
1078                <svg class="magnifying-icon" height="28px" width="28px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" x="0px" y="0px" viewBox="6 118.6 556.4 556.4" enable-background="new 6 118.6 556.4 556.4" xml:space="preserve">
1079                  <path d="M543.7,565.5l-61.1-61.1c-0.8-0.8-1.7-1.6-2.6-2.2c22.4-37.9,35.2-82,35.2-129c0-140.4-114.2-254.5-254.5-254.5
1080                  C120.2,118.6,6,232.8,6,373.1c0,140.4,114.2,254.5,254.5,254.5c47.1,0,91.2-12.9,129-35.2c0.7,0.9,1.4,1.8,2.2,2.6l61.1,61.1
1081                  c12.1,12.1,28.2,18.8,45.4,18.8c17.1,0,33.3-6.7,45.4-18.8C568.7,631.2,568.7,590.5,543.7,565.5z M82.4,373.1
1082                  c0-98.2,79.9-178.1,178.1-178.1c98.2,0,178.1,79.9,178.1,178.1s-79.9,178.1-178.1,178.1S82.4,471.3,82.4,373.1z"></path>
1083                </svg>
1084              </a>
1085          </div>
1086
1087        </div>
1088</form>            <div class="clear-both advanced-link small-text row pl-1 small text-left d-none d-sm-block" style="margin-top: 14px">
1089              <a data-qs-advanced-link="true" data-mls-url="/searches/new" data-ygl-url="/rental_searches" href="/searches/new">Advanced Search</a>
1090            </div>
1091        </div>
1092
1093      </div>
1094
1095    </div>
1096  </div>
1097</div>
1098
1099
1100
1101
1102
1103
1104
1105    </main>
1106
1107    <footer style="" >
1108      <div class="c-footer c-footer--luxury full-width">
1109  <div class="c-footer__top ">
1110    <div class="row">
1111      <div class="col-lg-3 col-md-12 c-footer__nav">
1112            <li class="nav-item  first_item"><a class="nav-link" href="/properties/sale_prices">Sell</a></li> <li class="nav-item "><a class="nav-link" href="/agents">Find a Realtor</a></li> <li class="nav-item  parent"><a class="nav-link dropdown-toggle" data-toggle="hover-dropdown" aria-expanded="false" aria-haspopup="true" href="/privacy-policy">Legal</a><div class="dropdown-menu"><a class="dropdown-item" href="/privacy-policy">Privacy Policy</a> <a class="dropdown-item" href="/dmca-notice">DMCA notice</a></div></li> <li class="nav-item  last_item"><a class="nav-link" href="/contact">Contact</a></li>
1113
1114      </div>
1115
1116      <div class="col-lg-2 col-md-12 social-flags">
1117        <div class="c-footer__social">
1118            <div class="c-social-media c-footer__social-media ">
1119
1120    <div class="js-social-share-wrapper c-social-media__share-btn">
1121
1122      <a href="javascript:void(0)" aria-label="social share modal trigger" class="js-social-share-trigger" name="social-share-button">
1123        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 110.3 611.9 611.9"><path d="M252.5 418.6c0 1.2-.3 2.4-.4 3.7l130.3 65c11.1-9.4 25.4-15.3 41.2-15.3 35.4 0 64.1 28.7 64.1 64.1 0 35.5-28.7 64.2-64.1 64.2-35.5 0-64.1-28.7-64.1-64.2 0-1.3.3-2.4.4-3.7l-130.2-65.1c-11.2 9.4-25.4 15.3-41.2 
112315.3-35.4 0-64.1-28.7-64.1-64.1 0-35.5 28.7-64.2 64.1-64.2 15.8 0 30 5.9 41.2 15.3l130.2-65.1c-.1-1.2-.4-2.4-.4-3.7 0-35.4 28.7-64.1 64.1-64.1s64.1 28.7 64.1 64.1c0 35.5-28.7 64.2-64.1 64.2-15.8 0-30-5.9-41.2-15.4l-130.2 65.1c0 1.4.3 2.6.3 3.9z"></path></svg>
1124
1125      </a>
1126
1127      <div class="js-social-share c-social-media__share-container" style="display: none;">
1128          <div class="c-social-media__share-item">
1129            <a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-url="https://www.cotton-realty.com/" data-text="Check out this site">Post</a>
1130          </div>
1131          <div class="c-social-media__share-item fb-like" data-href="https://www.cotton-realty.com/" data-width="50" data-layout="button" data-action="like" data-show-faces="false" data-share="false" style="height:20px; width: 20px;"></div>
1132          <div class="c-social-media__share-item fb-share-button" data-href="https://www.cotton-realty.com/" data-layout="button" style="height:20px; width: 20px;"></div>
1133          <div class="c-social-media__share-item fb-send" data-href="https://www.cotton-realty.com/" style="height:20px; width: 20px;"></div>
1134          <div class="c-social-media__share-item">
1135            
1135<script type="IN/Share" data-url="https://www.cotton-realty.com/" data-counter="none" data-onSuccess="linkedinShared"></script>
1135
1136          </div>
1137            <div class="c-social-media__share-item">
1138              <a href="//www.pinterest.com/pin/create/button/" class="pin-it-button" data-pin-do="buttonBookmark" data-pin-config="none">
1139                <img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" />
1140              </a>
1141            </div>
1142      </div>
1143
1144    </div>
1145
1146
1147      <a name="Facebook" class="c-social-media__link c-social-media__link--fb" target="_blank" aria-label="Follow us on Facebook" href="https://www.facebook.com/CottonRealty/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 110.3 611.9 611.9"><path d="M252 638.4V434.3h-66v-90h66v-34.8c0-60.6 45.6-115.3 101.4-115.3H426v90h-72.6c-7.8 0-17.4 9.6-17.4 24v36h90v90h-90v204.1h-84z"></path></svg>
1148</a>
1149
1150
1151
1152
1153
1154
1155
1156      <a name="Instagram" class="c-social-media__link c-social-media__link--ig" target="_blank" aria-label="Follow us on Instagram" href="https://www.instagram.com/cotton_realty/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 611.9 611.9"><path d="M484 232.2c-.9-19.1-3.9-32.1-8.3-43.5-4.6-11.8-10.7-21.8-20.7-31.7-10-10-19.9-16.1-31.7-20.7-11.4-4.4-24.4-7.5-43.5-8.3-19.1-.9-25.2-1.1-73.8-1.1-48.6 0-54.7.2-73.8 1.1-19.1.9-32.1 3.9-43.5 8.3-11.8 4.6-21.8 10.7-31.7 20.7-10 10-16.1 19.9-20.7 31.7-4.4 11.4-7.5 24.4-8.3 43.5-.9 19.1-1.1 25.2-1.1 73.8 0 48.6.2 54.7 1.1 73.8.9 19.1 3.9 32.1 8.3 43.5 4.6 11.8 10.7 21.8 20.7 31.7 10 10 19.9 16.1 31.7 20.7 11.4 4.4 24.4 7.5 43.5 8.3 19.1.9 25.2 1.1 73.8 1.1 48.6 0 54.7-.2 73.8-1.1 19.1-.9 32.1-3.9 43.5-8.3 11.8-4.6 21.8-10.7 31.7-20.7 10-10 16.1-19.9 20.7-31.7 4.4-11.4 7.5-24.4 8.3-43.5.9-19.1 1.1-25.2 1.1-73.8s-.2-54.7-1.1-73.8zm-32.2 146.2c-.8 17.5-3.7 26.9-6.2 33.3-3.2 8.4-7.1 14.3-13.4 20.6-6.3 6.3-12.2 10.1-20.6 13.4-6.3 2.5-15.8 5.4-33.3 6.2-18.9.9-24.5 1-72.4 1s-53.5-.2-72.4-1c-17.5-.8-26.9-3.7-33.3-6.2-8.4-3.2-14.3-7.1-20.6-13.4-6.3-6.3-10.1-12.2-13.4-20.6-2.5-6.3-5.4-15.8-6.2-33.3-.9-18.9-1-24.6-1-72.4s.2-53.5 1-72.4c.8-17.5 3.7-26.9 6.2-33.3 3.2-8.4 7.1-14.3 13.4-20.6 6.3-6.3 12.2-10.1 20.6-13.4 6.3-2.5 15.8-5.4 33.3-6.2 18.9-.9 24.6-1 72.4-1 47.8 0 53.5.2 72.4 1 17.5.8 26.9 3.7 33.3 6.2 8.4 3.2 14.3 7.1 20.6 13.4 6.3 6.3 10.1 12.2 13.4 20.6 2.5 6.3 5.4 15.8 6.2 33.3.9 18.9 1 24.6 1 72.4s-.2 53.5-1 72.4zM306 214c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 151.7c-33 0-59.7-26.7-59.7-59.7s26.7-59.7 59.7-59.7 59.7 26.7 59.7 59.7-26.7 59.7-59.7 59.7zm117.1-155.3c0 11.9-9.6 21.5-21.5 21.5s-21.5-9.6-21.5-21.5 9.6-21.5 21.5-21.5 21.5 9.6 21.5 21.5z"></path></svg>
1157</a>
1158
1159
1160
1161
1162</div>
1163
1164
1165        </div>
1166
1167      </div>
1168
1169      <div class="col-lg-2 col-md-12 c-footer__company-info text-lg-left text-md-center">
1170        <strong class="c-footer__company-name">
1171          <p>Cotton Realty</p>
1172        </strong>
1173          <p class="c-footer__company-address">1901 Harrison St,, Suite 1100, Oakland, CA 94612</p>
1174        <p class="c-footer__company-email">
1175          <a data-type="Company" aria-label="Cotton Realty email link" title="Email us at [email protected]" href="mailto:[email protected]">[email protected]</a>
1176        </p>
1177        <p class="c-footer__company-office-phone">
1178          <a class="non-link" data-type="Office" href="tel:5103850409">5103850409</a>
1179        </p>
1180      </div>
1181
1182        <div class="col-lg-5 col-md-12 c-footer__logo">
1183            <img alt="Company logo for Cotton Realty" srcset="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_footer_logo/48675/e5ab9a33eb5b237f2b6980dc9b49198c.png?width=700&amp;optimize=medium&amp;auto=webp 700w" sizes="700px" src="https://production-uploads.fastly.propertybase.com/assets/uploads/setting/company_footer_logo/48675/e5ab9a33eb5b237f2b6980dc9b49198c.png?width=700&amp;optimize=medium&amp;auto=webp" />
1184        </div>
1185    </div>
1186
1187
1188    <div class="c-footer__disclaimer small text-md-left text-sm-center">
1189    </div>
1190    <div class="copyright-container text-md-left text-sm-center">
1191      <div class="c-footer__copyright">
1192        Copyright &copy; 2026 Cotton Realty. All rights reserved.
1193  &nbsp;License #: 01989725
1194
1195          <div class="c-footer__credit">
1196    <a target="_blank" rel="nofollow" href="https://www.lwolf.com/">Powered by Lone Wolf Real Estate Technologies, Inc.</a>
1197  </div>
1198  <span class="pb-privacy-choices-footer-link">
1199    <button type="button" class="pb-cookie-consent-link" data-cookie-consent-open="preferences" aria-controls="pb-cookie-consent" aria-expanded="false">Do Not Sell or Share My Personal Information</button>
1200  </span>
1201
1202
1203      </div>
1204    </div><br/>
1205      <div class="text-md-left text-sm-center">
1206        <div class="c-footer__seo container">
1207    
1207<script type="application/ld+json">
1208  {
1209    "@context": "http://schema.org/",
1210    "@type": "Organization",
1211    "name": "Cotton Realty",
1212    "description": "",
1213    "url": "https://www.cotton-realty.com",
1214    "sameAs": ["https://www.facebook.com/CottonRealty/","https://www.instagram.com/cotton_realty/"],
1215    "image": "",
1216    "location": [{"@type":"Place","geo":{"@type":"GeoCoordinates","latitude":"37.8068296","longitude":"-122.2659647"},"name":"Cotton Realty"}]
1217  }
1218</script>
1218
1219
1220
1221</div>
1222
1223
1224
1225
1226      </div>
1227    </div>
1228  </div>
1229</div>
1230
1231
1232
1233
1234
1235    </footer>
1236
1237    
1237<script src="https://prd-assets2.fastly.propertybase.com/assets/frontend/homepage-274edf616347ec84711152001aecd9ec3cda8a961056ce1458dfef23df900736.js"></script>
1237
1238
1239    
1239<script>
1240  var defaultCalendarEnd = '2027-10-08';
1241  var suppressDropdownsInit = true;
1242  var nav = $('.c-navbar');
1243  var navHeight;
1244  var homePage = $('.pg-pages-home_page').length > 0;
1245
1246  $(function() {
1247    navHeight = $('.c-navbar').outerHeight();
1248    navBarWidth = $('.c-navbar .navbar-nav').outerWidth();
1249
1250      $('[data-toggle="hover-dropdown"]').dropdownHoverTogle({svg_string: '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 7 4" style="enable-background:new 0 0 7 4;" xml:space="preserve" class="nav-chevron"><polyline points="0.5,0.5 3.5,3.5 6.5,0.5 "/></svg>'});
1251
1252    hamburgerMenuHeight();
1253    menuOverflow();
1254    //setToolbarStyle();
1255
1256    window.addEventListener('resize', hamburgerMenuHeight);
1257    window.addEventListener('resize', resetNav);
1258    window.addEventListener('resize', setPageMinHeight)
1259    window.addEventListener('resize', menuOverflow);
1260    window.addEventListener('load', menuOverflow);
1261    window.addEventListener('load', hamburgerMenuHeight);
1262    window.addEventListener('scroll', shrinkNav);
1263
1264  })
1265
1266  setPageMinHeight();
1267
1268  function setPageMinHeight(){
1269    if (!homePage) {
1270      $('main.container').css('min-height', window.innerHeight - ($('nav').height()) - ($('.call-to-action').height()))
1271    }
1272  }
1273
1274
1275  $('.js-navbar-toggle').click(function() {
1276    $('.navbar-collapse').toggleClass('show')
1277  })
1278
1279  var shrinkNav = function() {
1280    if (false || false || false ) {
1281      return;
1282    }
1283
1284    if (window.innerWidth >= 768 && ($(window).scrollTop() > navHeight)) {
1285      if (!nav.hasClass('is-shrunk')) {
1286        nav.hide();
1287        nav.addClass('is-shrunk');
1288        nav.show();
1289        $('body').css('padding-top', $('.c-navbar').outerHeight() * 2);
1290      }
1291    } else {
1292      nav.removeClass('is-shrunk');
1293      $('body').css('padding-top', 0);
1294    }
1295  }
1296
1297  var resetNav = debounce(function() {
1298    if(!screenSize('xs') && !screenSize('sm'))
1299      $('.navbar-collapse').removeClass('show');
1300  }, 250);
1301
1302  var hamburgerMenuHeight = debounce(function() {
1303    navHeight = $('.c-navbar').outerHeight();
1304
1305    if (nav.hasClass('c-navbar--hamburger')) {
1306      if(screenSize('xs') || screenSize('sm')) {
1307        $('.navbar-collapse').css('top', '')
1308      }
1309      else {
1310        $('.navbar-collapse').css('top', navHeight)
1311      }
1312      return;
1313    }
1314
1315    // Classic's mobile dropdown is fixed-positioned with a hardcoded
1316    // top offset in CSS, which is wrong whenever the header's actual
1317    // height differs (e.g. no logo uploaded shrinks the header row).
1318    if (nav.hasClass('c-navbar--classic') && (screenSize('xs') || screenSize('sm'))) {
1319      $('.navbar-collapse').css('top', navHeight);
1320    }
1321  }, 250);
1322
1323  function getHeaderStyle() {
1324    var navbarClass = $('.c-navbar').attr('class') || '';
1325    var matches = navbarClass.split(/\s+/).filter(function(name) {
1326      return name.indexOf('c-navbar--') === 0;
1327    });
1328
1329    if (!matches.length) {
1330      return '';
1331    }
1332
1333    for (var i = 0; i < matches.length; i++) {
1334      if (matches[i].indexOf('c-navbar--classic_inline') === 0) {
1335        return 'classic_inline';
1336      }
1337    }
1338
1339    return matches[matches.length - 1].replace('c-navbar--', '').trim();
1340  }
1341
1342  var menuOverflow = function() {
1343    if ($('.landing-page').length || $('.c-navbar--hamburger').length) {
1344      return;
1345    }
1346
1347    var currentStyle = getHeaderStyle();
1348    var inlineActive = currentStyle == 'classic_inline' && $(window).width() > 767;
1349    var navbar;
1350
1351    if (inlineActive) {
1352      navbar = $('.c-navbar__inline-nav .navbar-nav--right').first();
1353      if (!navbar.length) {
1354        navbar = $('.c-navbar__inline-nav .navbar-nav--single').first();
1355      }
1356    }
1357
1358    if (!navbar || !navbar.length) {
1359      inlineActive = false;
1360      if (currentStyle == 'classic_inline') {
1361        navbar = $('.c-navbar').find('.navbar-collapse .navbar-nav').first();
1362      } else {
1363        navbar = $('.c-navbar').find('.navbar-nav').first();
1364      }
1365    }
1366
1367    if (!navbar || !navbar.length) {
1368      navbar = $('.c-navbar').find('.navbar-nav').first();
1369    }
1370    var moreBtn = $("<li style='display:none;' class='nav-item more-item parent'><a href='#' aria-expanded='false' aria-haspopup='true' class='nav-link dropdown-toggle' data-toggle='dropdown' title='More'>More</a><div class='dropdown-menu dropdown-menu-right nav-more-menu'></div></li>");
1371    var navbarWidth = inlineActive ? navbar.outerWidth() : $('.c-navbar').width();
1372    var dropdownTrigger = $("<span style='position: relative; right: -8px; top: 12px;' data-toggle='toggle-dropdown' class='dropdown-trigger trigger-closed hamburger-caret'><svg version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='18.1 171.2 100 100' enable-background='new 18.1 171.2 100 100' xml:space='preserve'><rect x='31.6' y='218.1' width='73.1' height='6.1'/></svg><svg version='1.1' id='Capa_1' class='slug-transform' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='18.1 171.2 100 100' enable-background='new 18.1 171.2 100 100' xml:space='preserve'><rect x='31.6' y='218.1' width='73.1' height='6.1'/></svg></span>");
1373
1374    // Handle case when no logo is uploaded - don't add any width
1375    var logoImg = $('.c-navbar .navbar-brand img');
1376    var brandImgWidth = logoImg.length && logoImg.outerWidth() > 0 ? logoImg.outerWidth() + 75 : 0;
1377
1378    var navItems = navbar.find('> li:not(.more-item)');
1379    var lastMenuItem = navItems.last();
1380    var firstMenuItem = navItems.first();
1381    var hasHeaderLogo = $('.c-navbar .navbar-brand img').length > 0;
1382
1383    if (currentStyle == ''){
1384      return;
1385    }
1386
1387    if (!inlineActive && currentStyle != 'classic' && currentStyle != 'classic_inline') {
1388      navbarWidth -= brandImgWidth;
1389    }
1390    if (currentStyle == 'modern-flipped') {
1391      navbarWidth -= 250;
1392    }
1393
1394    if ((currentStyle == 'slate' || currentStyle == 'marble') && hasHeaderLogo) {
1395      navbarWidth -= 150;
1396    }
1397
1398    if (currentStyle == 'luxury_transparent' && hasHeaderLogo) {
1399      navbarWidth -= 50;
1400    }
1401
1402    var cumulativeWidth = 0;
1403    var overflowList = [];
1404
1405    if(!$('.more-item').length){
1406      navbar.append(moreBtn);
1407        navbar.find('.more-item > .dropdown-toggle').after('<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 7 4" style="enable-background:new 0 0 7 4;" xml:space="preserve" class="nav-chevron"><polyline points="0.5,0.5 3.5,3.5 6.5,0.5 "/></svg>');
1408    }
1409
1410    $('.more-item.parent a.dropdown-toggle').on('click', function() {
1411      if ($(this).attr('aria-expanded') == 'false') {
1412        $(this).find('.dropdown-trigger').addClass('trigger-open');
1413        $(this).find('.dropdown-trigger').removeClass('trigger-closed');
1414      } else {
1415        $(this).find('.dropdown-trigger').addClass('trigger-closed');
1416        $(this).find('.dropdown-trigger').removeClass('trigger-open');
1417      }
1418    });
1419
1420    // body on click if the aria-expanded is true then close the dropdown
1421    $('body').on('click', function(e) {
1422      if ($('.more-item.parent a.dropdown-toggle').attr('aria-expanded') == 'true') {
1423        $('.more-item.parent a.dropdown-toggle').find('.dropdown-trigger').addClass('trigger-closed');
1424        $('.more-item.parent a.dropdown-toggle').find('.dropdown-trigger').removeClass('trigger-open');
1425      }
1426    });
1427
1428
1429    navbar.css('position', 'relative');
1430    navItems.show();
1431
1432    if (currentStyle == 'modern-stacked' || currentStyle == 'modern-flipped' || currentStyle == 'luxury_transparent') {
1433      var logoElement = $('.c-navbar .navbar-brand img');
1434      var logoElementOffset = logoElement.length ? logoElement.offset() : null;
1435      var brandElementOffset = $('.c-navbar .navbar-brand').offset();
1436      var logoOffset = logoElementOffset ? logoElementOffset.left : (brandElementOffset ? brandElementOffset.left : 0);
1437      var firstMenuOffset = firstMenuItem.offset();
1438      var hasOverflow = firstMenuOffset ? (firstMenuOffset.left < (logoOffset + brandImgWidth)) : false;
1439    } else {
1440      var lastMenuOffset = lastMenuItem.offset();
1441      var hasOverflow = lastMenuOffset ? ((lastMenuOffset.left + lastMenuItem.width()) > navbarWidth) : false;
1442    }
1443
1444    if(hasOverflow && $(window).width() > 767){
1445      navItems.each(function() {
1446        cumulativeWidth += ($(this).outerWidth());
1447        if((cumulativeWidth > navbarWidth)){
1448          overflowList.push([this.outerHTML, $(this).width()]);
1449          $(this).hide();
1450        } else {
1451          $(this).css('display', 'flex');
1452        }
1453      });
1454    } else {
1455      navbar.find('> li:not(.more-item)').css('display', 'flex');
1456    }
1457
1458  handleOverflowList(overflowList, navbar, "chevron");
1459};
1460
1461function handleOverflowList(overflowList, navbar, indicatorStyle) {
1462  if (overflowList.length) {
1463    $('.more-item').css('display', 'flex');
1464    var navMoreMenu = navbar.find('.nav-more-menu');
1465    navMoreMenu.html('');
1466
1467    $.each(overflowList, function () {
1468      var item = $(this[0]);
1469      item.find('.nav-link').removeClass('nav-link').addClass('dropdown-item');
1470      item.find('span').remove();
1471      navMoreMenu.append(item[0].outerHTML);
1472    });
1473
1474    if (indicatorStyle == "chevron") {
1475      navMoreMenu.find('> li > [data-toggle="hover-dropdown"]').dropdownHoverTogle({svg_string: '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 7 4" style="enable-background:new 0 0 7 4;" xml:space="preserve" class="nav-chevron"><polyline points="0.5,0.5 3.5,3.5 6.5,0.5 "/></svg>'});
1476    } else {
1477      navMoreMenu.find('> li > [data-toggle="hover-dropdown"]').dropdownHoverTogle();
1478    }
1479  } else {
1480    if(screenSize('xs') || screenSize('sm')) {
1481      navbar.find('> li:not(.more-item)').css('display', 'flex');
1482      $('.more-item').hide();
1483    } else {
1484      $('.more-item').hide();
1485    }
1486  }
1487}
1488</script>
1488
1489
1490
1491      <aside class="call-to-action layout_3 style_1 " style="--cta-bg: #222; --cta-heading-color: #f0f0f0; --cta-content-color: #f0f0f0; --cta-button-color: #222; --cta-button-bg: #f0f0f0; --cta-heading-font: Arial; --cta-dismiss-bg: #222; --cta-top-offset: 200px">
1492  <div class="content row breakout">
1493      <div style="z-index: 5">
1494        <h2>How can we assist you?</h2>
1495        <span class="cta-description"> <p><a href="/searches/new">Find your Home</a> | <a href="/selling-your-home">Sell Your Home</a> | <a href="/areas">Best Neighborhoods</a> |&nbsp;</p>
1496        </span>
1497      </div>
1498      <button class="btn btn-primary" style="z-index: 5">
1499        <a href="/contact">Contact Us</a>
1500      </button>
1501
1502
1503
1504
1505
1506
1507  </div>
1508  <div class="dismiss-cta-container " style="z-index: 500">
1509    <svg xmlns="http://www.w3.org/2000/svg" viewBox="-21 -21 682.66669 682.66669" width="22px" height="22px" class="st-icon dismiss-cta shown"><path d="m460.175781 215.175781-104.800781 104.800781 104.800781 104.796876-35.351562 35.359374-104.800781-104.800781-104.796876 104.800781-35.359374-35.359374 104.800781-104.796876-104.800781-104.800781 35.359374-35.351562 104.796876 104.800781 104.800781-104.800781zm179.824219 104.824219c0 85.472656-33.285156 165.835938-93.726562 226.273438-60.4375 60.441406-140.800782 93.726562-226.273438 93.726562s-165.835938-33.285156-226.273438-93.726562c-60.441406-60.4375-93.726562-140.800782-93.726562-226.273438s33.285156-165.835938 93.726562-226.273438c60.4375-60.441406 140.800782-93.726562 226.273438-93.726562s165.835938 33.285156 226.273438 93.726562c60.441406 60.4375 93.726562 140.800782 93.726562 226.273438zm-50 0c0-148.875-121.125-270-270-270s-270 121.125-270 270 121.125 270 270 270 270-121.125 270-270zm0 0"></path></svg>
1510
1511    <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" width="22px" height="22px" viewBox="0 0 91 91" data-name="Layer 1" class="st-icon display-cta "><g><path d="m58.67 28.94c-8.85-13.02-20.67-19.94-26.86-15.7a7.14 7.14 0 0 0 -1.75 1.76c0 .05-14.33 29.05-14.33 29.05l-8 5.42a11.3 11.3 0 0 0 -3 15.7l.36.53a11.32 11.32 0 0 0 15.63 3l12.85 18.93c1.89 2.33 5.52 4.65 10 1.92a6.77 6.77 0 0 0 3-4.6 7.16 7.16 0 0 0 -1.11-5.4l-11.32-16.7s26.76-2.13 26.86-2.17a6.41 6.41 0 0 0 2.33-1c3.18-2.16 4.32-6.69 3.22-12.76-.99-5.59-3.8-11.92-7.88-17.98zm-50.67 34.79-.36-.53a7.79 7.79 0 0 1 2.08-10.83l6.91-4.7 9.12 13.43-6.91 4.7a7.8 7.8 0 0 1 -10.84-2.07zm34.58 17.79a3.7 3.7 0 0 1 -1 5.13 3.71 3.71 0 0 1 -5.14-1l-12.81-18.87 5.15-3.5 1.36-.11zm-13.52-21.78-9.94-14.64 9.48-19.33c.92 5.43 3.61 11.88 7.91 18.21s9.3 11.21 14 14.07zm29.5-2.33c-4.78-.31-12.56-5.7-19.15-15.41s-8.73-18.9-7.26-23.47a4.26 4.26 0 0 1 4-3c4.74 0 12.81 5.42 19.59 15.41 3.82 5.62 6.6 11.5 7.36 16.64 1.49 9.83-4.54 9.83-4.54 9.83z"></path><path d="m46.17 29.31a9.39 9.39 0 0 0 -7.12 1.47 1.75 1.75 0 1 0 2 2.89 6 6 0 1 1 6.74 9.93 1.75 1.75 0 0 0 1 3.19 1.71 1.71 0 0 0 1-.3 9.49 9.49 0 0 0 -3.55-17.18z"></path><path d="m60.83 16.77h.17a1.75 1.75 0 0 0 1.74-1.57l1.35-13.12a1.75 1.75 0 1 0 -3.48-.36l-1.34 13.13a1.75 1.75 0 0 0 1.56 1.92z"></path><path d="m83.45 14.07a1.76 1.76 0 0 0 -2.43-.5l-12.19 8a1.75 1.75 0 0 0 1 3.21 1.78 1.78 0 0 0 1-.28l12.19-8a1.75 1.75 0 0 0 .43-2.43z"></path><path d="m87.18 35.43-14.18-2.55a1.75 1.75 0 0 0 -.62 3.45l14.17 2.55h.31a1.75 1.75 0 0 0 .31-3.48z"></path></g></svg>
1512
1513  </div>
1514</aside>
1515
1516
1517
1518
1519    
1520
1521      
1521<script>
1522    tokeninput_options = JSON.parse('{}');
1523    window.SuperLocationState = window.SuperLocationState || {
1524      array: [],
1525      fetching: false,
1526      placeholders: {},
1527      polls: {}
1528    };
1529
1530    setup_super_location_type_ahead(
1531      'homepage_search_super_locations_desktop',
1532      'super_locations-autocomplete',
1533      'Search By Address, City, Zip, or MLS #',
1534      tokeninput_options,
1535      '49682',
1536      '5',
1537      '',
1538      'https://prd-assets1.fastly.propertybase.com/company_super_locations_49682_5_1.json'
1539    );
1540  </script>
1540
1541  
1541<script>
1542    (function() {
1543      var wrapper = document.getElementById('qs-simple-wrapper');
1544      if (!wrapper) return;
1545
1546      var toggles = wrapper.querySelectorAll('[data-qs-target]');
1547      var forms = wrapper.querySelectorAll('[data-qs-form]');
1548      var searchForm = wrapper.querySelector('form[data-qs-search-form]');
1549      if (!toggles.length || !forms.length || !searchForm) return;
1550
1551      var useSuperLocations = true;
1552      var salesTownsOnly = false;
1553      var placeholderText = "Search By Address, City, Zip, or MLS #";
1554      var rentalPlaceholderText = "Search By Address, City, or Zip";
1555      var fieldId = useSuperLocations ? "homepage_search_super_locations_desktop" : "homepage_search_towns_desktop";
1556      var fieldSelector = "#" + fieldId;
1557      var fieldClass = useSuperLocations ? "super_locations-autocomplete" : "towns-autocomplete";
1558      var currentMode = 'mls';
1559      var salesLocationsCache = null;
1560      var rentalLocationsCache = null;
1561      var mlsRequestToken = 0;
1562      var yglRequestToken = 0;
1563
1564      function hasTokenInput() {
1565        return !!wrapper.querySelector('#token-input-' + fieldId);
1566      }
1567
1568      function getMlsPlaceholder() {
1569        var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
1570        return rentalsRadio && rentalsRadio.checked ? rentalPlaceholderText : placeholderText;
1571      }
1572
1573      function setFieldPlaceholder(text) {
1574        var $field = $(fieldSelector);
1575        $field.attr('placeholder', text);
1576        var $tokenInput = $('#token-input-' + $field.attr('id'), wrapper);
1577        if ($tokenInput.length) {
1578          $tokenInput.attr('placeholder', text);
1579        }
1580      }
1581
1582      function initSalesTypeahead() {
1583        var $field = $(fieldSelector);
1584        var requestToken = ++mlsRequestToken;
1585        console.debug('[QS Simple] initSalesTypeahead', {requestToken: requestToken, currentMode: currentMode, fieldId: fieldId});
1586        window.QSUtils.resetTokenInput($field, $(wrapper));
1587        var nextPlaceholder = getMlsPlaceholder();
1588        setFieldPlaceholder('');
1589        if (useSuperLocations) {
1590          setup_super_location_type_ahead(
1591            fieldId,
1592            fieldClass,
1593            nextPlaceholder,
1594            {},
1595            '49682',
1596            '5',
1597            '',
1598            'https://prd-assets1.fastly.propertybase.com/company_super_locations_49682_5_1.json'
1599          );
1600          setFieldPlaceholder(nextPlaceholder);
1601          return;
1602        }
1603
1604        if (salesLocationsCache) {
1605          if (requestToken !== mlsRequestToken || currentMode !== 'mls') return;
1606          console.debug('[QS Simple] reuse salesLocationsCache', {requestToken: requestToken});
1607          if (salesTownsOnly) {
1608            add_towns_only_type_ahead(fieldSelector, fieldClass, salesLocationsCache, nextPlaceholder, {qs: true});
1609          } else {
1610            add_type_ahead(fieldSelector, fieldClass, salesLocationsCache, nextPlaceholder, {qs: true});
1611          }
1612          setFieldPlaceholder(nextPlaceholder);
1613          return;
1614        }
1615
1616        $.ajax('/searches/get_towns', {
1617          type: 'post',
1618          dataType: 'script',
1619          success: function(data){
1620            if (requestToken !== mlsRequestToken || currentMode !== 'mls') return;
1621            console.debug('[QS Simple] sales get_towns success', {requestToken: requestToken});
1622            var jsonFeed = JSON.parse(data);
1623            salesLocationsCache = jsonFeed;
1624            if (salesTownsOnly) {
1625              add_towns_only_type_ahead(fieldSelector, fieldClass, jsonFeed, nextPlaceholder, {qs: true});
1626            } else {
1627              add_type_ahead(fieldSelector, fieldClass, jsonFeed, nextPlaceholder, {qs: true});
1628            }
1629            setFieldPlaceholder(nextPlaceholder);
1630          }
1631        });
1632      }
1633
1634      function initYglTypeahead() {
1635        var $field = $(fieldSelector);
1636        var requestToken = ++yglRequestToken;
1637        console.debug('[QS Simple] initYglTypeahead', {requestToken: requestToken, currentMode: currentMode, fieldId: fieldId});
1638        window.QSUtils.resetTokenInput($field, $(wrapper));
1639        $field.attr('placeholder', '');
1640        var applyRentalFeed = function(jsonFeed) {
1641          if (requestToken !== yglRequestToken || currentMode !== 'ygl') return;
1642          add_towns_only_type_ahead(fieldSelector, fieldClass, jsonFeed, rentalPlaceholderText, {qs: true, allowFreeTagging: true});
1643          $field.attr('placeholder', rentalPlaceholderText);
1644        };
1645
1646        if (rentalLocationsCache) {
1647          console.debug('[QS Simple] reuse rentalLocationsCache', {requestToken: requestToken});
1648          applyRentalFeed(rentalLocationsCache);
1649          return;
1650        }
1651
1652        $.ajax('/rental_searches/get_locations', {
1653          type: 'post',
1654          dataType: 'script',
1655          success: function(data){
1656            if (requestToken !== yglRequestToken || currentMode !== 'ygl') return;
1657            console.debug('[QS Simple] rental get_locations success', {requestToken: requestToken});
1658            rentalLocationsCache = JSON.parse(data);
1659            applyRentalFeed(rentalLocationsCache);
1660          }
1661        });
1662      }
1663
1664      function setActiveMlsToggle() {
1665        var salesLabel = wrapper.querySelector('.sales-toggle');
1666        var rentalsLabel = wrapper.querySelector('.rentals-toggle');
1667        var salesRadio = wrapper.querySelector('#qs_search_types_sales');
1668        var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
1669
1670        if (salesLabel) salesLabel.classList.remove('active');
1671        if (rentalsLabel) rentalsLabel.classList.remove('active');
1672
1673        if (rentalsRadio && rentalsRadio.checked && rentalsLabel) {
1674          rentalsLabel.classList.add('active');
1675        } else if (salesLabel) {
1676          salesLabel.classList.add('active');
1677        }
1678      }
1679
1680      function syncNlMode() {
1681        var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
1682        $(fieldSelector).attr('data-nl-mode', (currentMode === 'ygl' || (rentalsRadio && rentalsRadio.checked)) ? 'rental' : 'sales');
1683      }
1684
1685      function setFormMode(target) {
1686        var isYgl = target === 'ygl';
1687        var previousMode = currentMode;
1688        currentMode = isYgl ? 'ygl' : 'mls';
1689        syncNlMode();
1690        console.debug('[QS Simple] setFormMode', {target: target, previousMode: previousMode, currentMode: currentMode});
1691        var mlsAction = searchForm.getAttribute('data-mls-action');
1692        var yglAction = searchForm.getAttribute('data-ygl-action');
1693        if (isYgl && yglAction) {
1694          searchForm.setAttribute('action', yglAction);
1695        } else if (mlsAction) {
1696          searchForm.setAttribute('action', mlsAction);
1697        }
1698
1699        var yglToggle = wrapper.querySelector('.ygl-toggle');
1700        if (yglToggle) {
1701          yglToggle.classList.toggle('active', isYgl);
1702        }
1703
1704        var advancedLink = wrapper.querySelector('[data-qs-advanced-link]');
1705        if (advancedLink) {
1706          var nextUrl = isYgl ? advancedLink.getAttribute('data-ygl-url') : advancedLink.getAttribute('data-mls-url');
1707          if (nextUrl) advancedLink.setAttribute('href', nextUrl);
1708        }
1709
1710        if (isYgl) {
1711          if (previousMode !== 'ygl' || !hasTokenInput()) {
1712            initYglTypeahead();
1713          } else {
1714            setFieldPlaceholder(rentalPlaceholderText);
1715          }
1716          var salesLabel = wrapper.querySelector('.sales-toggle');
1717          var rentalsLabel = wrapper.querySelector('.rentals-toggle');
1718          if (salesLabel) salesLabel.classList.remove('active');
1719          if (rentalsLabel) rentalsLabel.classList.remove('active');
1720        } else {
1721          if (previousMode !== 'mls' || !hasTokenInput()) {
1722            initSalesTypeahead();
1723          } else {
1724            setFieldPlaceholder(getMlsPlaceholder());
1725          }
1726          setActiveMlsToggle();
1727        }
1728      }
1729
1730      function syncRentalFields() {
1731        var townsField = wrapper.querySelector('[id^="homepage_search_towns_"]');
1732        var superLocationsField = wrapper.querySelector('[id^="homepage_search_super_locations_"]');
1733        var rentalTowns = wrapper.querySelector('[id^="homepage_rental_search_towns_"]');
1734        var rentalSuperLocations = wrapper.querySelector('[id^="homepage_rental_search_super_locations_"]');
1735
1736        if (rentalTowns) {
1737          rentalTowns.value = townsField ? townsField.value : (superLocationsField ? superLocationsField.value : '');
1738        }
1739        if (rentalSuperLocations) {
1740          rentalSuperLocations.value = superLocationsField ? superLocationsField.value : '';
1741        }
1742      }
1743
1744      toggles.forEach(function(toggle) {
1745        toggle.addEventListener('click', function(e) {
1746          var target = this.getAttribute('data-qs-target');
1747          if (target === 'ygl') {
1748            e.preventDefault();
1749            e.stopPropagation();
1750          }
1751          setFormMode(target);
1752        });
1753      });
1754
1755      var salesRadio = wrapper.querySelector('#qs_search_types_sales');
1756      var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
1757      if (salesRadio) {
1758        salesRadio.addEventListener('change', function() { setFormMode('mls'); });
1759      }
1760      if (rentalsRadio) {
1761        rentalsRadio.addEventListener('change', function() { setFormMode('mls'); });
1762      }
1763
1764      wrapper.addEventListener('change', syncNlMode);
1765
1766      searchForm.addEventListener('submit', function() {
1767        if (wrapper.querySelector('.ygl-toggle') && wrapper.querySelector('.ygl-toggle').classList.contains('active')) {
1768          syncRentalFields();
1769        }
1770      });
1771
1772      setFormMode('mls');
1773    })();
1774  </script>
1774
1775  <style>
1776    .valuation-wrapper{
1777      background-position: center;
1778      background-size: cover !important;
1779
1780      position: relative;
1781    }
1782
1783    .valuation-wrapper:after{
1784
1785     opacity: 100% !important;
1786    }
1787
1788    .valuation-wrapper .container, .valuation-wrapper .container-xl{
1789      position: relative;
1790      z-index: 5;
1791    }
1792  </style>
1793
1794    <style>
1795    .areas-wrapper{
1796      background-position: center;
1797      background-size: cover !important;
1798
1799      position: relative;
1800    }
1801
1802    .areas-wrapper:after{
1803
1804     opacity: 100% !important;
1805    }
1806
1807    .areas-wrapper .container, .areas-wrapper .container-xl{
1808      position: relative;
1809      z-index: 5;
1810    }
1811
1812    @media (max-width: 768px) {
1813      .areas-wrapper button.marble-arrow {
1814        display: none !important;
1815      }
1816    }
1817  </style>
1818
1819  
1819<script>
1820
1821    $('#areas-slider').slick({
1822      slidesToShow: 4,
1823      centerMode: false,
1824      slidesToScroll: 1,
1825      nav: true,
1826        dots: false,
1827      arrows: false,
1828        arrows: true,
1829      infinite: true,
1830      swipe: true,
1831      lazyLoad: 'progressive',
1832      responsive: [
1833        {
1834          breakpoint: 768,
1835          settings: {
1836            slidesToShow: 1,
1837            nav: false,
1838            centerMode: false,
1839              dots: true,
1840            nav: false,
1841            arrows: false,
1842          }
1843        },
1844        {
1845          breakpoint: 1800,
1846          settings: {
1847            slidesToShow: 3,
1848              dots: true,
1849              arrows: true,
1850          }
1851        },
1852        {
1853          breakpoint: 1600,
1854          settings: {
1855            slidesToShow: 3,
1856              dots: true,
1857              arrows: true,
1858          }
1859        },
1860        {
1861          breakpoint: 1139,
1862          settings: {
1863            slidesToShow: 2,
1864              dots: true,
1865              arrows: true,
1866          }
1867        },
1868        {
1869          breakpoint: 500,
1870          settings: {
1871            slidesToShow: 1,
1872            slidesToScroll: 1,
1873              dots: true,
1874            arrows: false,
1875          }
1876        }
1877      ]
1878    });
1879
1880  </script>
1880
1881
1882
1883  
1883<script>
1884    $('#featured-slider').slick({
1885        slidesToShow: 3,
1886      slidesToScroll: 1,
1887      swipe: true,
1888      infinite: true,
1889      variableWidth: false,
1890      lazyLoad: 'progressive',
1891      centerPadding: '0px',
1892        dots: false,
1893          arrows: true,
1894      responsive: [
1895        {
1896          breakpoint: 1800,
1897          settings: {
1898            slidesToShow: 3,
1899            slidesToScroll: 1,
1900
1901          }
1902        },
1903        {
1904          breakpoint: 1139,
1905          settings: {
1906            slidesToShow: 2,
1907            slidesToScroll: 1,
1908              dots: true,
1909              arrows: true,
1910          }
1911        },
1912        {
1913          breakpoint: 768,
1914          settings: {
1915            slidesToShow: 1,
1916            slidesToScroll: 1,
1917            infinite: false,
1918              dots: true,
1919              arrows: false,
1920          }
1921        },
1922        {
1923          breakpoint: 500,
1924          settings: {
1925            slidesToShow: 1,
1926            slidesToScroll: 1,
1927          }
1928        }
1929      ]
1930    });
1931
1932  </script>
1932
1933
1934  <style>
1935
1936    #featured-slider .slick-slide > div {
1937      display: flex;
1938      height: 100%;
1939    }
1940
1941  /* Hide marble arrows on mobile devices - only show on desktop */
1942    @media (max-width: 767px) {
1943      .featured-properties-wrapper .marble-arrow {
1944        display: none !important;
1945      }
1946    }
1947
1948
1949
1950    .c-property-card--1 .c-property-card__image-overlay:before {
1951      display: none;
1952    }
1953
1954  </style>
1955  
1955<script>
1956    function normalizeAgentCardHeights($slider) {
1957      var $cards = $slider.find('.c-agent-card');
1958      if (!$cards.length) {
1959        return;
1960      }
1961      $cards.css('min-height', '');
1962      var maxHeight = 0;
1963      $cards.each(function() {
1964        var height = $(this).outerHeight();
1965        if (height > maxHeight) {
1966          maxHeight = height;
1967        }
1968      });
1969      if (maxHeight > 0) {
1970        $cards.css('min-height', maxHeight + 'px');
1971      }
1972    }
1973
1974    var agentSlider = $('.agent-slider-carousel');
1975
1976    agentSlider.on('init', function() {
1977      normalizeAgentCardHeights(agentSlider);
1978    });
1979
1980    agentSlider.on('setPosition', function() {
1981      normalizeAgentCardHeights(agentSlider);
1982    });
1983
1984    $(window).on('resize', function() {
1985      normalizeAgentCardHeights(agentSlider);
1986    });
1987
1988    var baseSlidesToShow = 3;
1989      baseSlidesToShow = 4;
1990      if (window.innerWidth > 2000) {
1991        baseSlidesToShow = 5;
1992      }
1993
1994      baseSlidesToShow = 2;
1995
1996      baseSlidesToShow = 3;
1997
1998    agentSlider.slick({
1999      centerPadding: '0px',
2000      slidesToShow: baseSlidesToShow,
2001      slidesToScroll: 1,
2002      variableWidth: false,
2003      infinite: true,
2004      lazyLoad: 'ondemand',
2005        dots: false,
2006        arrows: true,
2007      responsive: [
2008        {
2009          breakpoint: 2000,
2010          settings: {
2011            slidesToShow: 4,
2012          }
2013        },
2014        {
2015          breakpoint: 1600,
2016          settings: {
2017            slidesToShow: 3,
2018              dots: false,
2019              slidesToShow: 3,
2020              arrows: true,
2021          }
2022        },
2023        {
2024          breakpoint: 900,
2025          settings: {
2026            slidesToShow: 3,
2027              dots: true,
2028              arrows: true,
2029          }
2030        },
2031        {
2032          breakpoint: 768,
2033          settings: {
2034            slidesToShow: 2,
2035              dots: true,
2036              arrows: false,
2037          }
2038        },
2039        {
2040          breakpoint: 650,
2041          settings: {
2042            slidesToShow: 1,
2043          }
2044        },
2045      ]
2046    });
2047
2048  </script>
2048
2049
2050  <style>
2051
2052    .featured-agents-wrapper.slick-track{
2053      padding: 20px 0;
2054      display: flex !important
2055    }
2056
2057    .featured-agents-wrapper a:hover{
2058      opacity: 1;
2059    }
2060
2061    /* Hide marble arrows on mobile devices - only show on desktop */
2062    @media (max-width: 767px) {
2063      .featured-agents-wrapper .marble-arrow {
2064        display: none !important;
2065      }
2066    }
2067
2068
2069    .featured-agents-wrapper.card_slider{
2070      background-position: center;
2071      background-size: cover;
2072      position: relative;
2073    }
2074
2075    .section.card_slider.featured-agents-wrapper:after{
2076
2077     opacity: 85% !important;
2078    }
2079
2080    .featured-agents-wrapper .container{
2081      position: relative;
2082      z-index: 5;
2083    }
2084  </style>
2085
2086  
2086<script>
2087
2088    $('#market-slider').not('.slick-initialized').slick({
2089      slidesToShow: 4,
2090      slidesToScroll: 4,
2091      dots: false,
2092      arrows: false,
2093      swipe: true,
2094      prevArrow: $('.slick-prev'),
2095      nextArrow: $('.slick-next'),
2096      infinite: true,
2097      variableWidth: false,
2098      lazyLoad: 'progressive',
2099      responsive: [
2100        {
2101          breakpoint: 1000,
2102          settings: {
2103            slidesToShow: 2,
2104            dots: true,
2105            slidesToScroll: 1,
2106            arrows: false,
2107
2108          }
2109        },
2110        {
2111          breakpoint: 1200,
2112          settings: {
2113            dots: true,
2114            nav: false,
2115            arrows: false,
2116            slidesToShow: 3,
2117            slidesToScroll: 1,
2118          }
2119        },
2120        {
2121          breakpoint: 560,
2122          settings: {
2123            dots: true,
2124            nav: false,
2125            arrows: false,
2126            slidesToShow: 1,
2127            slidesToScroll: 1,
2128          }
2129        }
2130      ]
2131    });
2132  </script>
2132
2133
2134  <style>
2135    .breakout.market-updates {
2136      background-size: cover !important;
2137      background-position: center !important;
2138      position: relative;
2139      z-index: 1;
2140    }
2141
2142    #market-slider .slick-slide{
2143        margin-left:  15px;
2144        margin-right:  15px;
2145      }
2146
2147      #market-slider .slick-list {
2148        margin-left: -15px;
2149        margin-right: -15px;
2150      }
2151
2152    .market-updates.card_slider .slick-slide > div {
2153      text-align: center;
2154    }
2155
2156    .breakout.market-updates:after{
2157      opacity: 100% !important;
2158    }
2159
2160    .home-market-report{
2161      padding: 24px 0;
2162    }
2163
2164    .breakout.market-updates .container{
2165      position:relative;
2166      z-index:5;
2167    }
2168  </style>
2169
2170  
2170<script>
2171    var backgroundColor = '#fff';
2172    // color-yiq of backgroundColor
2173    var yiq = ((parseInt(backgroundColor.substring(1,3), 16) * 299) + (parseInt(backgroundColor.substring(3,5), 16) * 587) + (parseInt(backgroundColor.substring(5,7), 16) * 114)) / 1000;
2174    var fontColor = (yiq >= 190) ? '#000' : '#fff';
2175    // if the @page_data.page_background_color isn't #fff, then set the font color to the override
2176    if (backgroundColor != '#fff') {
2177      fontColor = '#222223';
2178      $('.cms.custom-background-color .cms__content label, .cms.custom-background-color .cms__testimonial-form p, .cms.custom-background-color .cms__testimonial-form span').css('color', fontColor);
2179    }
2180
2181  </script>
2181
2182  <style>
2183
2184    .cms.custom-background-color {
2185      background-color: #fff;
2186    }
2187
2188    .cms.custom-font-color article.cms h1, .cms.custom-font-color article.cms h2, .cms.custom-font-color article.cms h3 {
2189      color: #222223;
2190    }
2191
2192    .custom-header-font-size{
2193      font-size: clamp(28px, 6vw, px);
2194    }
2195
2196    .cms__banner-title.custom-header-font-size{
2197      font-size: clamp(28px, 6vw, px);
2198    }
2199
2200    h1.custom-font-color{
2201      color: #222223;
2202    }
2203
2204    .cms.custom-background-color {
2205      .cms__testimonial-form h1,
2206      .cms__testimonial-form h2,
2207      .cms__testimonial-form h3,
2208      .cms__testimonial-form h4,
2209      .cms__testimonial-form h5,
2210      .cms__testimonial-form h6,
2211      .cms__dynamic-form h1,
2212      .cms__dynamic-form h2,
2213      .cms__dynamic-form h3,
2214      .cms__dynamic-form h4,
2215      .cms__dynamic-form h5,
2216      .cms__dynamic-form h6,
2217      .password-req-list li,
2218      .cms__form-wrapper p,
2219      .cms__form-wrapper a {
2220        color: #222223;
2221      }
2222    }
2223
2224  </style>
2225
2226  <style>
2227
2228  .testimonial-wrapper {
2229    background-size: cover !important;
2230    background-position: center !important;
2231    position: relative;
2232    padding: 60px 0;
2233  }
2234
2235  .testimonial-wrapper:after{
2236    opacity: 87% !important;
2237  }
2238
2239  .testimonial-wrapper .container{
2240    position:relative;
2241    z-index:5;
2242  }
2243
2244  </style>
2245
2246
2247  
2247<script>
2248    $('#testimonial-slider').slick({
2249      slidesToShow: 1,
2250      slidesToScroll: 1,
2251        arrows: true,
2252        autoplay: true,
2253      infinite: true,
2254      variableHeight: true,
2255      responsive: [
2256        {
2257          breakpoint: 768,
2258          settings: {
2259            slidesToShow: 1,
2260            slidesToScroll: 1,
2261            infinite: true,
2262              dots: false,
2263              arrows: true,
2264            swipe: true
2265          }
2266        },
2267        {
2268          breakpoint: 1139,
2269          settings: {
2270            slidesToShow: 1,
2271            slidesToScroll: 1,
2272            infinite: true,
2273            swipe: true,
2274              dots: false,
2275              arrows: true,
2276          }
2277        }
2278      ]
2279    });
2280  </script>
2280
2281  
2281<script type="text/javascript">
2282
2283  $(document).mouseup(function (e) {
2284    var container = $(".beds-qs-modal, .price-qs-modal")
2285    if (!container.is(e.target) && container.has(e.target).length === 0){
2286        container.removeClass('active');
2287    }
2288  });
2289
2290  $(document).ready(function(){
2291    $('.new-beds-checkbox-input').prop('checked', false)
2292    $('.new-baths-checkbox-input').prop('checked', false)
2293    $('#beds_exact_count').prop('checked', false)
2294    $('#borough-complexsearch .price-qs-modal input').val('');
2295    $('.min-beds-hidden-field').val('')
2296    $('.max-beds-hidden-field').val('')
2297    $('.dynamic-beds-count').hide()
2298    $('.dynamic-baths-count').hide()
2299    $('.dynamic-max-beds-count').hide()
2300    handleDynamicDivider();
2301    handleDynamicCharacter();
2302  });
2303
2304  $('body').on('click', '.qs-beds-button', function (e) {
2305    $('.price-qs-modal').removeClass('active');
2306    $('.beds-qs-modal').toggleClass('active');
2307  });
2308
2309  $('body').on('click', '.qs-price-button', function (e) {
2310    $('.beds-qs-modal').removeClass('active');
2311    $('.price-qs-modal').toggleClass('active');
2312  });
2313
2314  function updateDynamicBeds(){
2315    $('.dynamic-beds-count').text('')
2316    $('.dynamic-beds-count').hide()
2317    $('.dynamic-max-beds-count').text('')
2318    $('.dynamic-max-beds-count').hide()
2319  }
2320
2321  function handleDynamicCharacter(){
2322    if ($('#beds_exact_count').is(':checked') && $('.max-beds-hidden-field').val() != ''){
2323      $('.dynamic-beds-character').text('-')
2324      $('.dynamic-beds-character').show()
2325    } else if (!$('#beds_exact_count').is(':checked')){
2326      $('.dynamic-beds-character').text('+')
2327      $('.dynamic-beds-character').show()
2328
2329    } else {
2330      $('.dynamic-beds-character').text('')
2331      $('.dynamic-beds-character').hide()
2332
2333    }
2334    if ($('.dynamic-beds-count').text() == 'Any'){
2335      $('.dynamic-beds-character').hide()
2336      $('.dynamic-beds-character').text('')
2337    }
2338    if ($('.min-beds-hidden-field').val() == '' && $('.max-beds-hidden-field').val() == ''){
2339      $('.dynamic-beds-character').hide()
2340      $('.dynamic-beds-character').text('')
2341    }
2342  }
2343
2344  function convertToStudio(){
2345    if ($('.min-beds-hidden-field').val() == '0'){
2346      $('.dynamic-beds-count').text('Studio')
2347      $('.dynamic-beds-count').text('Studio')
2348    }
2349    if ($('.max-beds-hidden-field').val() == '0'){
2350      $('.dynamic-max-beds-count').text('')
2351      $('.dynamic-beds-character').hide()
2352    }
2353  }
2354
2355  $('body').on('change', '.new-beds-checkbox-input', function(){
2356      thisVal = $(this).val();
2357      if($(this).prop('checked')){
2358        if (thisVal == "any"){
2359          $('.new-beds-checkbox-input[value!="'+thisVal+'"]:checked').prop('checked', false);
2360          $('.min-beds-hidden-field, .max-beds-hidden-field').val('');
2361          $('.dynamic-beds-count').text('Any');
2362          $('.dynamic-beds-count').show();
2363        } else {
2364          $('.new-beds-checkbox-input[value="any"]').prop('checked', false);
2365          if($('#beds_exact_count').prop('checked')){
2366            checkbox_before = false;
2367            highest_val = $('.new-beds-checkbox-input:checked:last').val();
2368            $.each(['0', '1', '2', '3', '4', '5', '6'], function(i, otherCheckbox){
2369              isCurrentVal = otherCheckbox == thisVal;
2370              if($('#new-beds-checkbox-'+otherCheckbox).prop('checked')){
2371                if(!isCurrentVal){
2372                  checkbox_before = true;
2373                }
2374              }else if(checkbox_before && thisVal >= otherCheckbox){
2375                $('#new-beds-checkbox-'+otherCheckbox).prop('checked', true);
2376              }
2377              if(isCurrentVal && otherCheckbox >= highest_val){
2378                return false;
2379              }else if(thisVal < otherCheckbox && otherCheckbox < highest_val){
2380                $('#new-beds-checkbox-'+otherCheckbox).prop('checked', true);
2381              }
2382            });
2383          }else{
2384            $('.new-beds-checkbox-input[value!="'+thisVal+'"]:checked').prop('checked', false);
2385          }
2386        }
2387      }else if($(this).val() != '6' && $(this).val() != 'any'){
2388        if($('#beds_exact_count').prop('checked')){
2389          checkbox_before = false;
2390          num_passed = false;
2391          $.each(['0', '1', '2', '3', '4', '5', '6'], function(i, otherCheckbox){
2392            isCurrentVal = otherCheckbox == thisVal;
2393            if($('#new-beds-checkbox-'+otherCheckbox).prop('checked')){
2394              if(!num_passed && otherCheckbox != thisVal){
2395                checkbox_before = true;
2396              }else if(num_passed && checkbox_before){
2397                $('#new-beds-checkbox-'+otherCheckbox).prop('checked', false);
2398              }
2399            }
2400            num_passed = num_passed || otherCheckbox == thisVal;
2401          });
2402        }
2403      }
2404      if (thisVal != 'any'){
2405        lowest_val = $('.new-beds-checkbox-input:checked:first').val();
2406        if(lowest_val != 'any'){
2407          $('.min-beds-hidden-field').val(lowest_val);
2408          $('.dynamic-beds-count').text(lowest_val);
2409          $('.dynamic-beds-count').show();
2410          if($('input[name=beds_exact_count]').prop('checked')){
2411            highest_val = $('.new-beds-checkbox-input:checked:last').val();
2412            $('.max-beds-hidden-field').val(highest_val);
2413            $('.dynamic-max-beds-count').text(highest_val);
2414            $('.dynamic-max-beds-count').show();
2415          handleDynamicCharacter();
2416          }
2417        }
2418      }
2419      if ($('.min-beds-hidden-field').val() == '' && $('.new-beds-checkbox-input:checked:first').val() != 'any' && $('.max-beds-hidden-field').val() == ''){
2420        $('.dynamic-beds-count').hide();
2421        $('.dynamic-max-beds-count').hide();
2422        updateDynamicBeds();
2423      }
2424
2425      if ($('.max-beds-hidden-field').val() == $('.min-beds-hidden-field').val() && $('#beds_exact_count').prop('checked')){
2426        $('.dynamic-max-beds-count').text('');
2427        $('.dynamic-max-beds-count').hide()
2428      }
2429
2430      convertToStudio()
2431      handleDynamicCharacter();
2432
2433    })
2434
2435  $('#beds_exact_count').on('change', function(){
2436    $('.dynamic-beds-count').hide();
2437    $('.dynamic-max-beds-count').hide();
2438
2439    if($(this).prop('checked')){
2440      $('.dynamic-beds-count').text('');
2441      $('.max-beds-hidden-field').val('');
2442      $('#new-beds-checkbox-any').next('label').addClass('hidden');
2443      $('#new-beds-checkbox-0').next('label').removeClass('hidden');
2444      $('.new-beds-checkbox > span').addClass('hidden')
2445    }else{
2446      $('.min-beds-hidden-field').val('');
2447      $('.max-beds-hidden-field').val('');
2448      $('.dynamic-beds-character').text('');
2449      $('.dynamic-beds-count').text('');
2450      $('.dynamic-max-beds-count').text('');
2451      $('#new-beds-checkbox-any').next('label').removeClass('hidden');
2452      $('#new-beds-checkbox-0').next('label').addClass('hidden');
2453      $('.new-beds-checkbox > span').removeClass('hidden')
2454    }
2455    $('.new-beds-checkbox-input:checked').each(function(i){
2456      if(i >= 0){
2457        $(this).prop('checked', false);
2458      }
2459    })
2460    handleDynamicCharacter();
2461  })
2462
2463  // if window size is less than 767px, hide beds modal
2464
2465
2466  window.onresize = function(event) {
2467    if($(window).width() < 767){
2468      $('.beds-qs-modal').removeClass('active');
2469      $('.price-qs-modal').removeClass('active');
2470    }
2471  }
2472
2473  $('body').on('keyup', '#search_min_price_text', function() {
2474    var regex = /[^0-9]/g;
2475    var val = $(this).val();
2476    if (val.match(regex)) {
2477      $(this).val(val.replace(regex, ''));
2478    }
2479
2480    if ($(this).val() == '') {
2481      $('.dynamic-min-price').text('');
2482      $('.dynamic-min-price').hide();
2483    } else {
2484      $('.dynamic-min-price').text('$' + new Intl.NumberFormat('en', { notation: 'compact' }).format(($(this).val())));
2485      $('.dynamic-min-price').show();
2486    }
2487    handleDynamicDivider();
2488    handlePlaceholder()
2489
2490  })
2491
2492  $('body').on('keyup', '#search_max_price_text', function() {
2493    var regex = /[^0-9]/g;
2494    var val = $(this).val();
2495    if (val.match(regex)) {
2496      $(this).val(val.replace(regex, ''));
2497    }
2498
2499    if ($(this).val() == '') {
2500      $('.dynamic-max-price').text('');
2501      $('.dynamic-max-price').hide();
2502    } else {
2503      $('.dynamic-max-price').text('$' + new Intl.NumberFormat('en', { notation: 'compact' }).format(($(this).val())));
2504      $('.dynamic-max-price').show();
2505    }
2506    handleDynamicDivider();
2507    handlePlaceholder()
2508
2509  })
2510
2511  $('body').on('change', '.new-baths-checkbox-input', function(){
2512    $(this).parent().find('.new-baths-checkbox-input[value!="'+$(this).val()+'"]').prop('checked', false);
2513    if ($('.new-baths-checkbox-input:checked').length == 0) {
2514        $('.dynamic-baths-count').text('');
2515        $('.dynamic-baths-count').hide()
2516      } else if ($(this).val() == ''){
2517        $('.dynamic-baths-count').text('Any');
2518        $('.dynamic-baths-count').show()
2519      } else {
2520        $('.dynamic-baths-count').text($(this).val() + '+');
2521        $('.dynamic-baths-count').show()
2522
2523      };
2524  });
2525
2526  function handleDynamicDivider(){
2527    if ($('.dynamic-max-price').text() == '' ) {
2528      $('.dynamic-divider').hide();
2529    } else {
2530      $('.dynamic-divider').show();
2531    }
2532  }
2533
2534  function handlePlaceholder(){
2535    if ($('.dynamic-min-price').text() == '' && $('.dynamic-max-price').text() == '' ) {
2536      $('.dynamic-price-placeholder').show();
2537    } else {
2538      $('.dynamic-price-placeholder').hide();
2539    }
2540  }
2541
2542  $('#qs-complex-wrapper #search_min_price_text').trigger('keyup');
2543  $('#qs-complex-wrapper #search_max_price_text').trigger('keyup');
2544  </script>
2544
2545
2546  
2546<script>
2547    (function() {
2548      var wrapper = document.getElementById('qs-complex-wrapper');
2549      if (!wrapper) return;
2550
2551      var toggles = wrapper.querySelectorAll('[data-qs-target]');
2552      var searchForm = wrapper.querySelector('form[data-qs-search-form]');
2553
2554      var useSuperLocations = true;
2555      var salesTownsOnly = false;
2556      var placeholderText = "Search By Address, City, Zip, or MLS #";
2557      var rentalPlaceholderText = "Search By Address, City, or Zip";
2558      var fieldId = useSuperLocations ? 'homepage_search_super_locations' : 'homepage_search_towns';
2559      var fieldSelector = "#" + fieldId;
2560      var fieldClass = useSuperLocations ? 'super_locations-autocomplete' : 'towns-autocomplete';
2561      if (!searchForm || !wrapper.querySelector(fieldSelector)) return;
2562
2563      var currentMode = 'mls';
2564      var salesLocationsCache = null;
2565      var rentalLocationsCache = null;
2566      var mlsRequestToken = 0;
2567      var yglRequestToken = 0;
2568
2569      var yglMoreToggle = wrapper.querySelector('[data-ygl-more-toggle]');
2570      var yglMoreOptions = wrapper.querySelector('[data-ygl-more-options]');
2571
2572      function hasTokenInput() {
2573        return !!wrapper.querySelector('#token-input-' + fieldId);
2574      }
2575
2576      function setFieldPlaceholder(text) {
2577        var $field = $(fieldSelector);
2578        $field.attr('placeholder', text);
2579        var $tokenInput = $('#token-input-' + fieldId, wrapper);
2580        if ($tokenInput.length) {
2581          $tokenInput.attr('placeholder', text);
2582        }
2583        if (text) {
2584          $('#homepage_qs_nl_search_text', wrapper).attr('placeholder', text);
2585        }
2586      }
2587
2588      function initSalesTypeahead() {
2589        var $field = $(fieldSelector);
2590        var requestToken = ++mlsRequestToken;
2591        window.QSUtils.resetTokenInput($field, $(wrapper));
2592        setFieldPlaceholder('');
2593        if (useSuperLocations) {
2594          setup_super_location_type_ahead(
2595            fieldId,
2596            fieldClass,
2597            placeholderText,
2598            {},
2599            '49682',
2600            '5',
2601            '',
2602            'https://prd-assets1.fastly.propertybase.com/company_super_locations_49682_5_1.json'
2603          );
2604          setFieldPlaceholder(placeholderText);
2605          return;
2606        }
2607
2608        if (salesLocationsCache) {
2609          if (requestToken !== mlsRequestToken || currentMode !== 'mls') return;
2610          if (salesTownsOnly) {
2611            add_towns_only_type_ahead(fieldSelector, fieldClass, salesLocationsCache, placeholderText, {qs: true});
2612          } else {
2613            add_type_ahead(fieldSelector, fieldClass, salesLocationsCache, placeholderText, {qs: true});
2614          }
2615          setFieldPlaceholder(placeholderText);
2616          return;
2617        }
2618
2619        $.ajax('/searches/get_towns', {
2620          type: 'post',
2621          dataType: 'script',
2622          success: function(data){
2623            if (requestToken !== mlsRequestToken || currentMode !== 'mls') return;
2624            var jsonFeed = JSON.parse(data);
2625            salesLocationsCache = jsonFeed;
2626            if (salesTownsOnly) {
2627              add_towns_only_type_ahead(fieldSelector, fieldClass, jsonFeed, placeholderText, {qs: true});
2628            } else {
2629              add_type_ahead(fieldSelector, fieldClass, jsonFeed, placeholderText, {qs: true});
2630            }
2631            setFieldPlaceholder(placeholderText);
2632          }
2633        });
2634      }
2635
2636      function initYglTypeahead() {
2637        var $field = $(fieldSelector);
2638        var requestToken = ++yglRequestToken;
2639        window.QSUtils.resetTokenInput($field, $(wrapper));
2640        setFieldPlaceholder('');
2641        var applyRentalFeed = function(jsonFeed) {
2642          if (requestToken !== yglRequestToken || currentMode !== 'ygl') return;
2643          add_towns_only_type_ahead(fieldSelector, fieldClass, jsonFeed, rentalPlaceholderText, {qs: true, allowFreeTagging: true});
2644          setFieldPlaceholder(rentalPlaceholderText);
2645        };
2646
2647        if (rentalLocationsCache) {
2648          applyRentalFeed(rentalLocationsCache);
2649          return;
2650        }
2651
2652        $.ajax('/rental_searches/get_locations', {
2653          type: 'post',
2654          dataType: 'script',
2655          success: function(data){
2656            if (requestToken !== yglRequestToken || currentMode !== 'ygl') return;
2657            rentalLocationsCache = JSON.parse(data);
2658            applyRentalFeed(rentalLocationsCache);
2659          }
2660        });
2661      }
2662
2663      function setYglMoreOpen(isOpen) {
2664        if (!yglMoreToggle || !yglMoreOptions) return;
2665        yglMoreToggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
2666        yglMoreOptions.classList.toggle('is-open', isOpen);
2667      }
2668
2669      if (yglMoreToggle) {
2670        yglMoreToggle.addEventListener('click', function() {
2671          if (!yglMoreOptions) return;
2672          setYglMoreOpen(!yglMoreOptions.classList.contains('is-open'));
2673        });
2674      }
2675
2676      function setActiveMlsToggle() {
2677        var salesLabel = wrapper.querySelector('.sales-toggle');
2678        var rentalsLabel = wrapper.querySelector('.rentals-toggle');
2679        var salesRadio = wrapper.querySelector('#qs_search_types_sales');
2680        var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
2681
2682        if (salesLabel) salesLabel.classList.remove('active');
2683        if (rentalsLabel) rentalsLabel.classList.remove('active');
2684
2685        if (rentalsRadio && rentalsRadio.checked && rentalsLabel) {
2686          rentalsLabel.classList.add('active');
2687        } else if (salesLabel) {
2688          salesLabel.classList.add('active');
2689        }
2690      }
2691
2692      function syncRentalFields() {
2693        var townsField = wrapper.querySelector('#homepage_search_towns');
2694        var superLocationsField = wrapper.querySelector('#homepage_search_super_locations');
2695        var rentalTowns = wrapper.querySelector('#homepage_rental_search_towns');
2696        var rentalSuperLocations = wrapper.querySelector('#homepage_rental_search_super_locations');
2697        var fieldValue = townsField ? townsField.value : (superLocationsField ? superLocationsField.value : '');
2698
2699        if (!fieldValue) {
2700          try {
2701            var tokenValues = $(fieldSelector).tokenInput('get');
2702            if (tokenValues && tokenValues.length) {
2703              fieldValue = tokenValues.map(function(item){
2704                return item.value || item.id || item.name || item.text;
2705              }).join('; ');
2706            }
2707          } catch (e) {}
2708        }
2709
2710        if (!fieldValue) {
2711          var tokenInput = wrapper.querySelector('#token-input-' + fieldId);
2712          if (tokenInput && tokenInput.value) {
2713            fieldValue = tokenInput.value;
2714          }
2715        }
2716
2717        if (rentalTowns) {
2718          rentalTowns.value = fieldValue;
2719        }
2720        if (rentalSuperLocations) {
2721          rentalSuperLocations.value = superLocationsField ? superLocationsField.value : '';
2722        }
2723
2724        syncRentalBedsBaths();
2725
2726      }
2727
2728      function syncRentalBedsBaths() {
2729        var rentalMinBeds = wrapper.querySelector('#homepage_rental_search_min_beds');
2730        var rentalMaxBeds = wrapper.querySelector('#homepage_rental_search_max_beds');
2731        var rentalMinBaths = wrapper.querySelector('#homepage_rental_search_min_baths');
2732        var rentalPriceLow = wrapper.querySelector('#homepage_rental_search_price_low');
2733        var rentalPriceHigh = wrapper.querySelector('#homepage_rental_search_price_high');
2734        var minBedsField = wrapper.querySelector('.min-beds-hidden-field');
2735        var maxBedsField = wrapper.querySelector('.max-beds-hidden-field');
2736        var minBedsValue = minBedsField ? minBedsField.value : '';
2737        var maxBedsValue = maxBedsField ? maxBedsField.value : '';
2738        var checkedBath = wrapper.querySelector('.new-baths-checkbox-input:checked');
2739        var minBathsValue = checkedBath ? checkedBath.value : '';
2740        var minPriceValue = $('#search_min_price_text').val();
2741        var maxPriceValue = $('#search_max_price_text').val();
2742
2743        if (rentalMinBeds) rentalMinBeds.value = minBedsValue;
2744        if (rentalMaxBeds) rentalMaxBeds.value = maxBedsValue;
2745        if (rentalMinBaths) rentalMinBaths.value = minBathsValue;
2746        if (rentalPriceLow) rentalPriceLow.value = minPriceValue;
2747        if (rentalPriceHigh) rentalPriceHigh.value = maxPriceValue;
2748
2749      }
2750
2751      function setFormMode(target, options) {
2752        options = options || {};
2753        var isYgl = target === 'ygl';
2754        var previousMode = currentMode;
2755        currentMode = isYgl ? 'ygl' : 'mls';
2756
2757        var mlsAction = searchForm.getAttribute('data-mls-action');
2758        var yglAction = searchForm.getAttribute('data-ygl-action');
2759        if (isYgl && yglAction) {
2760          searchForm.setAttribute('action', yglAction);
2761        } else if (mlsAction) {
2762          searchForm.setAttribute('action', mlsAction);
2763        }
2764
2765        var yglToggle = wrapper.querySelector('.ygl-toggle');
2766        if (yglToggle) {
2767          yglToggle.classList.toggle('active', isYgl);
2768        }
2769
2770        var advancedLink = wrapper.querySelector('[data-qs-advanced-link]');
2771        if (advancedLink) {
2772          var nextUrl = isYgl ? advancedLink.getAttribute('data-ygl-url') : advancedLink.getAttribute('data-mls-url');
2773          if (nextUrl) advancedLink.setAttribute('href', nextUrl);
2774        }
2775
2776        if (isYgl) {
2777          if (options.initialize && (previousMode !== 'ygl' || !hasTokenInput())) {
2778            initYglTypeahead();
2779          } else if (options.initialize) {
2780            setFieldPlaceholder(rentalPlaceholderText);
2781          } else {
2782            setFieldPlaceholder(rentalPlaceholderText);
2783          }
2784          setYglMoreOpen(true);
2785          var salesLabel = wrapper.querySelector('.sales-toggle');
2786          var rentalsLabel = wrapper.querySelector('.rentals-toggle');
2787          if (salesLabel) salesLabel.classList.remove('active');
2788          if (rentalsLabel) rentalsLabel.classList.remove('active');
2789        } else {
2790          if (options.initialize && (previousMode !== 'mls' || !hasTokenInput())) {
2791            initSalesTypeahead();
2792          } else if (options.initialize) {
2793            setFieldPlaceholder(placeholderText);
2794          } else {
2795            setFieldPlaceholder(placeholderText);
2796          }
2797          setYglMoreOpen(false);
2798          setActiveMlsToggle();
2799        }
2800      }
2801
2802      Array.prototype.forEach.call(toggles, function(toggle) {
2803        toggle.addEventListener('click', function(e) {
2804          var target = this.getAttribute('data-qs-target');
2805          if (target === 'ygl') {
2806            e.preventDefault();
2807            e.stopPropagation();
2808          }
2809          setFormMode(target, {initialize: true});
2810        });
2811      });
2812
2813      var salesRadio = wrapper.querySelector('#qs_search_types_sales');
2814      var rentalsRadio = wrapper.querySelector('#qs_search_types_rental');
2815      if (salesRadio) {
2816        salesRadio.addEventListener('change', function() { setFormMode('mls', {initialize: true}); });
2817      }
2818      if (rentalsRadio) {
2819        rentalsRadio.addEventListener('change', function() { setFormMode('mls', {initialize: true}); });
2820      }
2821      searchForm.addEventListener('submit', function() {
2822        if (wrapper.querySelector('.ygl-toggle') && wrapper.querySelector('.ygl-toggle').classList.contains('active')) {
2823          syncRentalFields();
2824        }
2825      });
2826
2827      $(searchForm).off('submit.qsFix').on('submit.qsFix', function() {
2828        var yglActive = wrapper.querySelector('.ygl-toggle') && wrapper.querySelector('.ygl-toggle').classList.contains('active');
2829        if (!yglActive) return;
2830        if (window.QSUtils && typeof window.QSUtils.normalizeRentalLocationTokens == 'function') {
2831          window.QSUtils.normalizeRentalLocationTokens($(fieldSelector));
2832        }
2833        syncRentalBedsBaths();
2834        var tokens = [];
2835        try {
2836          tokens = $(fieldSelector).tokenInput('get') || [];
2837        } catch (e) {
2838          tokens = [];
2839        }
2840
2841        var towns = tokens.map(function(token) {
2842          return token.value || token.id || token.name || token.text;
2843        }).join(', ');
2844
2845        if (!towns) {
2846          var fieldValue = $(fieldSelector).val();
2847          if (fieldValue) towns = fieldValue;
2848        }
2849
2850        $('#homepage_rental_search_towns').val(towns);
2851
2852      });
2853
2854      setFormMode('mls', {initialize: false});
2855
2856      if (window.HomepageLazyInit && typeof window.HomepageLazyInit.observe === 'function') {
2857        window.HomepageLazyInit.observe({
2858          root: wrapper,
2859          triggerSelectors: [fieldSelector, '[data-qs-target]', '#new_desktop_qs_sales_search input', '#new_desktop_qs_sales_search button', '#new_desktop_qs_sales_search a'],
2860          onInit: function() {
2861            setFormMode(currentMode, {initialize: true});
2862          }
2863        });
2864      }
2865
2866      wrapper.addEventListener('focusin', function(event) {
2867        if (event.target && $(event.target).is(fieldSelector)) {
2868          setFormMode(currentMode, {initialize: true});
2869        }
2870      });
2871    })();
2872  </script>
2872
2873  
2873<script>
2874    (function() {
2875      var $modal = $('#rb_subscribe_form');
2876      if (!$modal.length) return;
2877
2878      var optionsLoaded = false;
2879      var optionsRequest = null;
2880      var bindingsApplied = false;
2881
2882      function loadScriptOnce(url) {
2883        if (!url) return $.Deferred().resolve().promise();
2884        if (window.__subscribeModalScripts && window.__subscribeModalScripts[url]) {
2885          return window.__subscribeModalScripts[url];
2886        }
2887        window.__subscribeModalScripts = window.__subscribeModalScripts || {};
2888        var deferred = $.Deferred();
2889        var script = document.createElement('script');
2890        script.type = 'text/javascript';
2891        script.src = url;
2892        script.async = true;
2893        script.onload = function() { deferred.resolve(); };
2894        script.onerror = function() { deferred.reject(); };
2895        document.body.appendChild(script);
2896        window.__subscribeModalScripts[url] = deferred.promise();
2897        return window.__subscribeModalScripts[url];
2898      }
2899
2900      function prependPrompt($select, text) {
2901        if (!$select.find('option[value=""]').length) {
2902          $select.prepend($('<option></option>').attr('value', '').text(text));
2903        }
2904      }
2905
2906      function applyOptions(payload) {
2907        $('#report_location').html(payload.location_options_html || '');
2908        prependPrompt($('#report_location'), 'Select Location');
2909
2910        var typeField = payload.type_field === 'property_type_group_id' ? '#market_report_update_property_type_group_id' : '#market_report_update_prop_type';
2911        $(typeField).html(payload.property_type_options_html || '');
2912        prependPrompt($(typeField), 'Property Type');
2913
2914        $('#market_report_update_num_beds').html(payload.bedroom_options_html || '');
2915        prependPrompt($('#market_report_update_num_beds'), '# of Bedrooms');
2916
2917        $('#market_report_update_min_price').html(payload.min_price_options_html || '');
2918        prependPrompt($('#market_report_update_min_price'), 'Min Price');
2919
2920        $('#market_report_update_max_price').html(payload.max_price_options_html || '');
2921        prependPrompt($('#market_report_update_max_price'), 'Max Price');
2922      }
2923
2924      function bindModalEvents() {
2925        if (bindingsApplied) return;
2926        bindingsApplied = true;
2927
2928        $('#report_location').on('change.subscribeModal', function(){
2929          if($(this).val() == ''){
2930            $('.report_field').attr('disabled', 'disabled');
2931          }else{
2932            $('.report_field').removeAttr('disabled');
2933          }
2934          $('#new_subscribe_form').attr('action', '/market-insights/'+$(this).val()+'/subscribe');
2935        });
2936
2937
2938      }
2939
2940      function ensureOptionsLoaded() {
2941        if (optionsLoaded) {
2942          bindModalEvents();
2943          return $.Deferred().resolve().promise();
2944        }
2945        if (optionsRequest) {
2946          return optionsRequest;
2947        }
2948
2949        $('#subscribe_err_msgs').hide();
2950
2951        optionsRequest = $.getJSON($modal.data('subscribe-options-url'), {
2952          market_report: $modal.data('market-report'),
2953          report_location: $modal.data('market-report'),
2954          prop_type: $modal.data('selected-prop-type'),
2955          property_type_group_id: $modal.data('selected-prop-type'),
2956          num_beds: $modal.data('selected-num-beds'),
2957          min_price: $modal.data('selected-min-price'),
2958          max_price: $modal.data('selected-max-price')
2959        }).done(function(payload) {
2960          applyOptions(payload);
2961          optionsLoaded = true;
2962          bindModalEvents();
2963
2964          var initialLocation = $modal.data('market-report');
2965          $('#report_location').val(initialLocation || '');
2966          $('#report_location').trigger('change');
2967        }).fail(function() {
2968          $('#subscribe_err_msgs')
2969            .html('<p>Unable to load subscription options. Please try again.</p>')
2970            .addClass('alert alert-danger')
2971            .show();
2972        }).always(function() {
2973          optionsRequest = null;
2974        });
2975
2976        return optionsRequest;
2977      }
2978
2979      $modal.on('show.bs.modal.subscribeModal', function() {
2980        ensureOptionsLoaded();
2981      });
2982    })();
2983  </script>
2983
2984  <div id="rb_subscribe_form" class="modal" tabindex="-1" role="dialog" aria-hidden="true"
2985    data-subscribe-options-url="/market-insights/subscribe_options.json"
2986     data-market-report="oakland"
2987     data-selected-type-field="prop_type"
2988     data-selected-prop-type=""
2989     data-selected-num-beds=""
2990     data-selected-min-price=""
2991     data-selected-max-price=""
2992     data-autocompleter-url="https://prd-assets2.fastly.propertybase.com/assets/responsive/autocompleter-a91642d66fbd9f4185dddde790f850d7135fa0298514b1c8fb6df2d849231322.js">
2993  <div class="modal-dialog modal-dialog-centered" role="document">
2994    <div class="modal-content">
2995      <div class="modal-content">
2996        <div class="modal-header">
2997          <span class='js-modal-header-text' style="color: #fff">Subscribe to a Market Insight</span>
2998          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
2999            <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="#fff"><path d="M8.069 7l5.75-5.75a.503.503 0 0 0 0-.713L13.464.18a.503.503 0 0 0-.712 0L7 5.931 1.25.184a.503.503 0 0 0-.713 0L.18.541a.503.503 0 0 0 0 .712L5.931 7 .184 12.75a.503.503 0 0 0 0 .713l.357.357a.503.503 0 0 0 .712 0L7 8.069l5.75 5.75a.503.503 0 0 0 .713 0l.357-.356a.503.503 0 0 0 0-.712L8.069 7z" fill-rule="nonzero"></path></svg>
3000
3001          </button>
3002        </div>
3003
3004        <form class="new_market_report_update" id="new_subscribe_form" novalidate="novalidate" data-st-validate="true" action="/market-insights/oakland/subscribe" accept-charset="UTF-8" data-remote="true" method="post"><input type="hidden" name="authenticity_token" value="VhW7kRBpMuweXrNxSHVq850eMku8oebmk-InliXvH_z8LOwjqsX2QdhUeL7nXL9yNBwgNTN7uEe8EFtOu0sisw" autocomplete="off" />
3005          <div id="subscribe_form" class="modal-body">
3006
3007            <div id="subscribe_err_msgs"></div>
3008            <input autocomplete="off" type="hidden" name="market_report_update[unsubscribed_at]" id="market_report_update_unsubscribed_at" />
3009              <input autocomplete="off" type="hidden" value="Lead" name="market_report_update[person_type]" id="market_report_update_person_type" />
3010              <input autocomplete="off" type="hidden" name="market_report_update[person_id]" id="market_report_update_person_id" />
3011
3012              <div class="form-group">
3013                <label for="market_report_update_name">Report Name:</label>
3014                <input class="form-control form-control-sm report_field" type="text" name="market_report_update[name]" id="market_report_update_name" />
3015              </div>
3016              <div class="form-group">
3017                <label for='report_location'>Location:</label>
3018                <select name="report_location" id="report_location" class="form-control form-control-sm" data-subscribe-options-target="location"><option value="">Select Location</option></select>
3019              </div>
3020              <div class="form-group">
3021                <label for="market_report_update_prop_type">Property Type:</label>
3022                <select disabled="disabled" class="form-control form-control-sm report_field" data-subscribe-options-target="property_type" name="market_report_update[prop_type]" id="market_report_update_prop_type"><option value="">Property Type</option>
3023</select>
3024              </div>
3025              <div class="form-group">
3026                <label for="market_report_update_num_beds"># of Bedrooms:</label>
3027                <select disabled="disabled" class="form-control form-control-sm report_field" data-subscribe-options-target="beds" name="market_report_update[num_beds]" id="market_report_update_num_beds"><option value=""># of Bedrooms</option>
3028</select>
3029              </div>
3030              <div class="form-group">
3031                <label for="market_report_update_min_price">Min Price:</label>
3032                <select disabled="disabled" class="form-control form-control-sm report_field" data-subscribe-options-target="min_price" name="market_report_update[min_price]" id="market_report_update_min_price"><option value="">Min Price</option>
3033</select>
3034              </div>
3035              <div class="form-group">
3036                <label for="market_report_update_max_price">Max Price:</label>
3037                <select disabled="disabled" class="form-control form-control-sm report_field" data-subscribe-options-target="max_price" name="market_report_update[max_price]" id="market_report_update_max_price"><option value="">Max Price</option>
3038</select>
3039              </div>
3040              <div class="form-group">
3041                <label for="market_report_update_frequency">Frequency:</label>
3042                <select class="form-control form-control-sm report_field" name="market_report_update[frequency]" id="market_report_update_frequency"><option value="Weekly">Weekly</option>
3043<option value="Monthly">Monthly</option>
3044<option value="Quarterly">Quarterly</option></select>
3045              </div>
3046
3047            <div class="form-check">
3048              <input name="market_report_update[send_confirmation]" type="hidden" value="
30480" autocomplete="off" /><input class="report_field form-check-input" type="checkbox" value="1" name="market_report_update[send_confirmation]" id="market_report_update_send_confirmation" />
3049              <label for="market_report_update_send_confirmation">Send Email Confirmation</label>
3050            </div>
3051          </div>
3052          <div class="modal-footer">
3053            <input type="submit" name="commit" value="Submit" class="btn btn-primary btn-lg btn-block report_field" id="subscribe_modal_submit" data-disable-with="Submit" />
3054            <img id="subscribe_spinner" style="display:none;" src="https://prd-assets2.fastly.propertybase.com/assets/spinner-6936d4b7da6c3bec105e39b5c6ea209fcf90f196af4fe4e34996e547a848e126.gif" />
3055          </div>
3056
3057</form>      </div>
3058    </div>
3059  </div>
3060</div>
3061
3062
3063
3064  
3064<script>
3065
3066  function initResponsiveThemePhotoCarousel() {
3067    var originalSlides = [];
3068    var lastViewportState = null; // Track if we were last on mobile or desktop
3069    var mobileSlideData = []; // Cache mobile slide references
3070    var desktopSlideData = []; // Cache desktop slide references
3071    var slidesAnalyzed = false; // Track if we've analyzed the slides
3072
3073    // are we already on mobile?
3074    function isMobileViewport() {
3075      return window.innerWidth <= 768;
3076    }
3077
3078    // Analyze slides once and cache which ones should show where
3079    function analyzeSlides() {
3080      if (slidesAnalyzed) return;
3081
3082      $(originalSlides).each(function(index) {
3083        var slide = $(this);
3084        var mobileData = slide.data('mobile');
3085        var desktopData = slide.data('desktop');
3086
3087        var showOnMobile = mobileData === true || mobileData === 'true';
3088        var showOnDesktop = desktopData === true || desktopData === 'true';
3089
3090        if (showOnMobile) {
3091          mobileSlideData.push(index);
3092        }
3093        if (showOnDesktop) {
3094          desktopSlideData.push(index);
3095        }
3096      });
3097
3098      slidesAnalyzed = true;
3099    }
3100
3101    function reinitializeCarousel() {
3102      var isMobile = isMobileViewport();
3103
3104      // Only reinitialize if viewport state actually changed (or first load)
3105      if (lastViewportState !== null && lastViewportState === isMobile) {
3106        return;
3107      }
3108
3109      lastViewportState = isMobile;
3110
3111      // Analyze slides if not done yet
3112      analyzeSlides();
3113
3114      // Check if we have any slides for this viewport
3115      var slideIndices = isMobile ? mobileSlideData : desktopSlideData;
3116      var $container = $('.st-carousel-container');
3117
3118      // Hide entire carousel if no slides for this viewport
3119      if (slideIndices.length === 0) {
3120        if ($('.st-hero-slider').hasClass('slick-initialized')) {
3121          $('.st-hero-slider').slick('destroy');
3122        }
3123        $('.st-hero-slider').empty();
3124        $container.hide();
3125        return;
3126      }
3127
3128      // Show container and proceed with carousel initialization
3129      $container.show();
3130
3131      if ($('.st-hero-slider').hasClass('slick-initialized')) {
3132        $('.st-hero-slider').slick('destroy');
3133      }
3134
3135      $('.st-hero-slider').empty();
3136
3137      // Use slide indices to get original slides and clone them fresh
3138      slideIndices.forEach(function(index) {
3139        var originalSlide = $(originalSlides[index]);
3140        $('.st-hero-slider').append(originalSlide.clone());
3141      });
3142
3143      if (slideIndices.length > 0) {
3144        initThemePhotoCarouselST(6 * 1000);
3145      }
3146    }
3147
3148    // Store original slides before any manipulation
3149    originalSlides = $('.st-hero-slider__slide').toArray();
3150
3151    // Initialize on page load
3152    reinitializeCarousel();
3153
3154    // Reinitialize on window resize with debouncing
3155    var resizeTimeout;
3156    $(window).on('resize', function() {
3157      clearTimeout(resizeTimeout);
3158      resizeTimeout = setTimeout(function() {
3159        reinitializeCarousel();
3160      }, 250);
3161    });
3162  }
3163
3164  setTimeout(function() {
3165    initResponsiveThemePhotoCarousel();
3166  }, 0);
3167
3168    $('body').on('click', '.st-hero-slider__slide', function(){
3169      if($(this).find('a').length){
3170        window.location.href = $(this).find('a').attr('href');
3171      }
3172    })
3173
3174
3175  </script>
3175
3176
3177  <style>
3178
3179  @supports (content-visibility: auto) {
3180    .homepage-below-fold-section {
3181      content-visibility: auto;
3182      contain-intrinsic-size: 1200px;
3183    }
3184  }
3185
3186
3187  #homepage_search_towns {
3188    display: none;
3189  }
3190
3191  .supersearch-container{
3192    height: 60px;
3193  }
3194
3195
3196  .dynamic-beds-count, .dynamic-beds-character, .dynamic-max-beds-count, .dynamic-baths-count, .dynamic-divider, .dynamic-price {
3197    display: none;
3198  }
3199
3200  .st-mobile-nav-options .asColorPicker-wrap{
3201    width: 200px;
3202  }
3203
3204  div#qs-complex-wrapper::after{
3205    opacity: 85% !important;
3206  }
3207
3208  .featured-properties-wrapper{
3209    background-image: url('');
3210
3211  }
3212
3213  .section.featured-properties-wrapper:after{
3214   opacity: 85% !important;
3215  }
3216
3217  .c-property-card--1 .c-property-card__image-overlay:before{
3218    display: none;
3219  }
3220
3221  .areas-wrapper{
3222    background-image: url('');
3223    background-position: center;
3224    background-size: cover;
3225    position: relative;
3226  }
3227
3228  .areas-wrapper:after{
3229   opacity: 100% !important;
3230  }
3231
3232  .areas-wrapper .container, .areas-wrapper .container-xl{
3233    position: relative;
3234    z-index: 5;
3235  }
3236
3237  .featured-properties-wrapper{
3238    background-image: url('');
3239  }
3240
3241  .section.featured-properties-wrapper:after{
3242    opacity: 85% !important;
3243  }
3244
3245  .featured-slider-bicycle{
3246    padding: 24px 0;
3247  }
3248
3249
3250  .c-property-card--1 .c-property-card__image-overlay:before{
3251    display: none;
3252  }
3253
3254  .featured-agents-wrapper{
3255    background-position: center;
3256    background-size: cover;
3257    position: relative;
3258  }
3259
3260  .featured-agents-wrapper:after{
3261   opacity: 85% !important;
3262  }
3263
3264  .featured-agents-wrapper .container, .featured-agents-wrapper .container-xl{
3265    position: relative;
3266    z-index: 50;
3267  }
3268
3269  .cms-content-wrapper:after{
3270    content: "";
3271    position: absolute;
3272    top: 0;
3273    left: 0;
3274    width: 100%;
3275    height: 100%;
3276    opacity: 100% !important;
3277  }
3278
3279  .cms-content-wrapper .container, .cms-content-wrapper .container-xl{
3280    position: relative;
3281    z-index: 5;
3282    padding: 0;
3283  };
3284
3285  .st-hero-slider__wrapper{
3286    position: relative;
3287    z-index: 2;
3288  }
3289
3290  .st-hero-slider__slide:after{
3291    opacity: 85% !important;
3292  }
3293
3294  .theme-photo-caption, .theme-photo-hero{
3295    z-index: 4;
3296    color: #ffffff;
3297  }
3298
3299  /* Hide carousel container based on viewport and available photos */
3300  @media (max-width: 768px) {
3301    .st-carousel-container[data-mobile-visible="false"] {
3302      display: none !important;
3303    }
3304  }
3305
3306  @media (min-width: 769px) {
3307    .st-carousel-container[data-desktop-visible="false"] {
3308      display: none !important;
3309    }
3310  }
3311
3312</style>
3313
3314      
3314<script>
3315        setupLinkTracking();
3316      </script>
3316
3317    
3317<script type="text/javascript">
3318      $(function(){
3319        window.isIosShareDevice = window.isIosShareDevice || function() {
3320  return /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
3321};
3322
3323
3324        socialMediaTrigger();
3325
3326          $('.js-social-share-trigger').on('mouseover', function(){
3327            if(!$(this).hasClass('loaded')){
3328              $(this).addClass('loaded');
3329              loadTwitterJS('');
3330              if (!isIosShareDevice()) {
3331                loadFacebookJS('https://www.cotton-realty.com/channel.html', '', false);
3332              }
3333              loadLinkedInJS('');
3334                loadPinterestJS('false');
3335              setTimeout(function(){
3336                $('.fb-send').css({width: 'auto', height: 'auto'});
3337              }, 1500);
3338            }
3339          });
3340
3341        if (isIosShareDevice()) {
3342          $('.js-social-share .fb-like, .js-social-share .fb-share-button, .js-social-share .fb-send').hide();
3343        }
3344      });
3345
3346    </script>
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355  
3356
3357
3358  
3359
3360  
3361
3362  
3363
3364  
3365
3366
3367
3368
3369
3370
3371    <div id="modalContactAgent" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="contact_agent_modal_title" aria-hidden="true">
3372  <div class="modal-dialog">
3373    <div class="modal-content">
3374      <div class="modal-header">
3375        <div class="modal-title" id="contact_agent_modal_title">Contact Agent</div>
3376        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
3377          <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="#fff"><path d="M8.069 7l5.75-5.75a.503.503 0 0 0 0-.713L13.464.18a.503.503 0 0 0-.712 0L7 5.931 1.25.184a.503.503 0 0 0-.713 0L.18.541a.503.503 0 0 0 0 .712L5.931 7 .184 12.75a.503.503 0 0 0 0 .713l.357.357a.503.503 0 0 0 .712 0L7 8.069l5.75 5.75a.503.503 0 0 0 .713 0l.357-.356a.503.503 0 0 0 0-.712L8.069 7z" fill-rule="nonzero"></path></svg>
3378
3379        </button>
3380      </div>
3381      <div id="agent_contact_form" class="modal-body">
3382        <div id="agent_contact_err_msgs"></div>
3383        <form class="new_contact_form" id="new_agent_contact_form" novalidate="novalidate" data-st-validate="true" action="#" accept-charset="UTF-8" data-remote="true" method="post">
3384          <div id="comment_body_container" class="d-none"><input type="text" name="comment_body" id="comment_body" /><label for="comment_body">Comment Body</label></div>
3385          <input id="contact_form_agent_id" value="" autocomplete="off" type="hidden" name="contact_form[agent_id]" />
3386            
3387              <div class="row">
3388                <div class="col-6">
3389                  <div class="form-group">
3390                    <label for="contact_form_lead_attributes_first_name">First Name</label>
3391                    <input title="Enter your first name." placeholder="" class="form-control form-control-sm" required="required" type="text" name="contact_form[lead_attributes][first_name]" id="contact_form_lead_attributes_first_name" />
3392                  </div>
3393                </div>
3394                <div class="col-6">
3395                  <div class="form-group">
3396                    <label for="contact_form_lead_attributes_last_name">Last Name</label>
3397                    <input title="Enter your last name." placeholder="" class="form-control form-control-sm" required="required" type="text" name="contact_form[lead_attributes][last_name]" id="contact_form_lead_attributes_last_name" />
3398                  </div>
3399                </div>
3400              </div>
3401              
3402                  <div id="password_field_container"></div>
3403                <div class="row">
3404                  <div class="col-sm-12">
3405                    <div class="form-group" style="width:100%;">
3406                      <label for="contact_form_lead_attributes_user_attributes_email">Email</label>
3407                      <input type="email" title="Enter your Email." placeholder="" class="form-control form-control-sm" required="required" name="contact_form[lead_attributes][user_attributes][email]" id="contact_form_lead_attributes_user_attributes_email" />
3408                    </div>
3409                  </div>
3410                </div>
3411              <div class="col-sm-12">
3412                <div class="row">
3413                  <div class="col-xs-16">
3414                    <div class="form-group">
3415                      <label for="contact_form_lead_attributes_phone1">Phone #</label>
3416                      <input type="tel" title="Enter your phone number." placeholder="555-123-4567" class="form-control form-control-sm" data-st-rule="phone" name="contact_form[lead_attributes][phone1]" id="contact_form_lead_attributes_phone1" />
3417                    </div>
3418                  </div>
3419                    <div class="col-xs-8 kill-left-padding">
3420                      <div class="form-group">
3421                        <label for="contact_form_lead_attributes_phone1">Type</label>
3422                        <select style="height: 38px" class="form-control form-control-sm" name="contact_form[lead_attributes][phone_type_1]" id="contact_form_lead_attributes_phone_type_1"><option value="" label=" "></option>
3423<option value="1">Home</option>
3424<option value="2">Cell</option>
3425<option value="3">Work</option>
3426<option value="4">Fax</option></select>
3427                      </div>
3428                    </div>
3429                </div>
3430              </div>
3431              <div class="smidge clear-both"></div>
3432
3433                <div class="form-check">
3434                  <input type="hidden" name="contact_form[lead_attributes][custom_field_data][sms_opted_in]" id="hidden_sms_opt_field" value="0" autocomplete="off" />
3435                  <input type="checkbox" name="contact_form[lead_attributes][custom_field_data][sms_opted_in]" id="contact_form_lead_attributes_custom_field_data_sms_opted_in" value="1" class="form-check-input" />
3436                  <label class="form-check-label" for="contact_form_lead_attributes_custom_field_data_sms_opted_in" style="white-space: normal;">
3437                    By entering my phone number and checking this box, I agree to receive <b>marketing texts and promotional</b> messages from <b>Cotton Realty</b> about real estate services. **
3438                  </label>
3439                </div>
3440                <div class="form-check">
3441                  <input type="hidden" name="contact_form[lead_attributes][custom_field_data][sms_info_opted_in]" id="hidden_sms_info_opt_field" value="0" autocomplete="off" />
3442                  <input type="checkbox" name="contact_form[lead_attributes][custom_field_data][sms_info_opted_in]" id="contact_form_lead_attributes_custom_field_data_sms_info_opted_in" value="1" class="form-check-input" />
3443                  <label class="form-check-label" for="contact_form_lead_attributes_custom_field_data_sms_info_opted_in" style="white-space: normal;">
3444                    By entering my phone number and checking this box, I agree to re
3444ceive <b>informational messages and system alerts</b> from <b>Cotton Realty</b> about real estate services. **
3445                  </label>
3446                </div>
3447                <div class="small">
3448                  ** This agreement isn't a condition of any purchase. Message frequency varies. Message & data rates may apply. Reply STOP to opt out or HELP for more information. Providing your phone number is optional and not required to use our service. View our <b><a target="_blank" href="https://www.lwolf.com/about/msa">Terms of Service</a></b>  and <b><a target="_blank" href="/privacy-policy">Privacy Policy</a></b>
3449                </div>
3450
3451              <div class="col-sm-24" style="margin-bottom:1rem;">
3452                <div class="checkbox centered-checkbox">
3453                </div>
3454              </div>
3455              <div class="smidge clear-both"></div>
3456
3457            
3458
3459              <div class="col-xs-12">
3460                <div class="form-group">
3461                  <label class="inline" for="contact_form_lead_attributes_contact_method_id">Preferred Contact Method:</label><br />
3462                  <select title="What is your preferred contact method?" class="form-control form-control-sm" name="contact_form[lead_attributes][contact_method_id]" id="contact_form_lead_attributes_contact_method_id"><option value="" label=" "></option>
3463<option value="1">Email</option>
3464<option value="2">Cell Phone</option>
3465<option value="3">Home Phone</option>
3466<option value="4">Snail Mail</option>
3467<option value="5">Text Message</option></select>
3468                </div>
3469              </div>
3470              <div class="col-xs-12">
3471                <div class="form-group">
3472                  <label class="inline" for="contact_form_lead_attributes_where_heard_id">How did you hear about me?</label><br />
3473                  <select title="How did you hear about us? Select a choice." class="form-control form-control-sm" name="contact_form[lead_attributes][where_heard_id]" id="contact_form_lead_attributes_where_heard_id"><option value="" label=" "></option>
3474<option value="1">Newspaper</option>
3475<option value="2">Internet Search</option>
3476<option value="3">Agent</option>
3477<option value="4">Email</option>
3478<option value="5">Direct Mail</option>
3479<option value="6">Blog/Social Media</option>
3480<option value="7">Referral</option>
3481<option value="8">Other</option>
3482<option value="9">Open House</option>
3483<option value="10">Yard Sign</option>
3484<option value="11">Print Ad</option>
3485<option value="12">Online Ad</option>
3486<option value="13">Personal Relationship</option>
3487<option value="14">Text</option>
3488<option value="15">Floor/Walk In</option>
3489<option value="16">Billboard</option>
3490<option value="17">Radio</option>
3491<option value="18">Zillow</option>
3492<option value="19">Rent with Equity</option>
3493<option value="20">Model Home</option>
3494<option value="21">Realtor.com</option>
3495<option value="22">Facebook</option>
3496<option value="23">Live Chat</option>
3497<option value="24">Homes.com</option></select>
3498                </div>
3499              </div>
3500
3501          <div class="clear-both smidge"></div>
3502
3503          <div class="col-sm-20 col-sm-offset-2">
3504            <label for='contact_comments'>Comments:</label>
3505            <div class="input-group">
3506              <textarea rows="6" class="form-control input-sm" required="required" data-st-label="Comments" name="contact_form[comments]" id="contact_form_comments">
3507</textarea>
3508            </div>
3509          </div>
3510
3511          <div class="bumper clearfix"></div>
3512
3513
3514          <div class="modal-recapcha">
3515            
3516      <div class="g-recaptcha" type="hidden">
3517        <input name="g-recaptcha-response" type="hidden" id="OCMUXQHB"/>
3518      </div>
3519      
3519<script type="text/javascript">
3520        captchaSiteKey = '6Lft-dYfAAAAAHKdkJ7-UwZ-mfAZeFOZm0mISWfO';
3521        captchaJsIds = ["OCMUXQHB"];
3522        captchaCallback = true;
3523        runningCaptcha = true;
3524      </script>
3524
3525    
3526          </div>
3527
3528          <input type="submit" name="commit" value="Submit" class="submit btn w-100 st-btn btn-primary" id="contact_modal_submit" data-disable-with="Contacting agent..." />
3529
3530        </div>
3531        <div class="modal-footer" style="padding:.8rem !important;">
3532          <button type="button" class="text-muted btn st-btn w-100 btn-outline-primary" data-dismiss="modal" aria-label="Cancel">Cancel</button>
3533          <img id="contact_agent_spinner" style="display:none;" src="https://prd-assets2.fastly.propertybase.com/assets/spinner-6936d4b7da6c3bec105e39b5c6ea209fcf90f196af4fe4e34996e547a848e126.gif" />
3534        </div>
3535</form>
3536    </div> <!-- end .modal-content -->
3537  </div> <!-- end .modal-dialog -->
3538</div> <!-- end .modal -->
3539
3540    
3541    
3542
3543      <!-- ADA compliance -->
3544  
3544<script>(function(){var s = document.createElement('script'),e = ! document.body ? document.querySelector('head') : document.body;s.src = 'https://acsbapp.com/apps/app/assets/js/acsb.js';s.defer = true;s.onload = function(){acsbJS.init({statementLink : '',feedbackLink : '',footerHtml : '',hideMobile : false,hideTrigger : false,language : 'en',position : 'right',leadColor : '#146FF8',triggerColor : '#146FF8',triggerRadius : '50%',triggerPositionX : 'right',triggerPositionY : 'bottom',triggerIcon : 'people',triggerSize : 'medium',triggerOffsetX : 20,triggerOffsetY : 20,mobile : {triggerSize : 'small',triggerPositionX : 'right',triggerPositionY : 'center',triggerOffsetX : 0,triggerOffsetY : 0,triggerRadius : '50%'}});};e.appendChild(s);}());</script>
3544
3545
3546
3547
3548  
3548<script>
3549    $('body').off('click', '.dismiss-cta-container');
3550    $('body').on('click', '.dismiss-cta-container', function() {
3551      $('.call-to-action').toggleClass('shrunk');
3552      $('.dismiss-cta-container').toggleClass('bigger');
3553      $('.display-cta, .dismiss-cta').toggleClass('shown');
3554    });
3555  </script>
3555
3556
3557          <style>
3558  .pb-cookie-consent { background: rgba(17, 24, 39, 0.72); bottom: 0; display: none; left: 0; position: fixed; right: 0; top: 0; z-index: 2147483000; }
3559  .pb-cookie-consent.is-visible { display: block; }
3560  .pb-cookie-consent__dialog { background: #fff; border-radius: 8px; bottom: 24px; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25); color: #1f2933; left: 24px; max-height: calc(100vh - 48px); max-width: 680px; overflow: auto; padding: 18px 22px; position: absolute; right: 24px; }
3561  .pb-cookie-consent__close { align-items: center; background: transparent; border: 0; color: #1f2933; cursor: pointer; display: flex; font-size: 24px; height: 36px; justify-content: center; line-height: 1; padding: 0; position: absolute; right: 14px; top: 12px; width: 36px; }
3562  .pb-cookie-consent__title { font-size: 20px; line-height: 1.2; margin: 0 0 8px; }
3563  .pb-cookie-consent__copy { font-size: 14px; line-height: 1.4; margin: 0 0 12px; }
3564  .pb-cookie-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
3565  .pb-cookie-consent__button { border: 1px solid #1f2933; border-radius: 4px; cursor: pointer; font-size: 13px; font-weight: 700; min-height: 38px; padding: 8px 14px; }
3566  .pb-cookie-consent__button--primary { background: #1f2933; color: #fff; }
3567  .pb-cookie-consent__button--secondary { background: #fff; color: #1f2933; }
3568  .pb-cookie-consent__content.is-hidden { display: none; }
3569  .pb-cookie-consent__preferences { border-top: 1px solid #d8dee4; display: none; margin-top: 12px; padding-top: 12px; }
3570  .pb-cookie-consent__preferences.is-visible { display: block; }
3571  .pb-cookie-consent__confirmation { display: none; padding: 36px 18px 28px; text-align: center; }
3572  .pb-cookie-consent__confirmation.is-visible { display: block; }
3573  .pb-cookie-consent__confirmation-icon { align-items: center; background: #1f7a4d; border-radius: 50%; color: #fff; display: inline-flex; font-size: 42px; font-weight: 700; height: 72px; justify-content: center; line-height: 1; margin-bottom: 18px; width: 72px; }
3574  .pb-cookie-consent__confirmation-title { font-size: 22px; font-weight: 700; line-height: 1.2; margin: 0 0 8px; }
3575  .pb-cookie-consent__confirmation-copy { font-size: 14px; line-height: 1.45; margin: 0 auto; max-width: 420px; }
3576  .pb-cookie-consent__row { align-items: flex-start; border-bottom: 1px solid #edf0f2; display: flex; gap: 16px; justify-content: space-between; padding: 8px 0; }
3577  .pb-cookie-consent__row label { font-weight: 700; margin: 0; }
3578  .pb-cookie-consent__row p { font-size: 13px; line-height: 1.3; margin: 2px 0 0; }
3579  .pb-cookie-consent__warning { color: #8a4b00; display: block; font-size: 12px; font-weight: 700; line-height: 1.3; margin-top: 4px; }
3580  .pb-cookie-consent__warning.is-hidden { display: none; }
3581  .pb-cookie-consent__footer-link { background: transparent; border: 0; color: inherit; cursor: pointer; padding: 0; text-decoration: underline; }
3582  .pb-cookie-consent-launcher { background: #ffffff; border: 1px solid #d8dee4; border-radius: 8px; bottom: 16px; box-shadow: 0 12px 30px rgba(17, 24, 39, 0.18); color: #1f2933; left: 16px; max-width: 320px; padding: 16px 42px 16px 16px; position: fixed; transform: translateY(0); transition: opacity 180ms ease, transform 220ms ease; z-index: 2147482999; }
3583  .pb-cookie-consent-launcher.is-hidden { display: none; }
3584  .pb-cookie-consent-launcher.is-dismissed { opacity: 0; pointer-events: none; transform: translateY(calc(100% + 24px)); }
3585  .pb-cookie-consent-launcher__close { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: flex; font-size: 22px; height: 32px; justify-content: center; line-height: 1; opacity: 0.8; padding: 0; position: absolute; right: 8px; top: 8px; width: 32px; }
3586  .pb-cookie-consent-launcher__close:hover,
3587  .pb-cookie-consent-launcher__close:focus { opacity: 1; }
3588  .pb-cookie-consent-launcher__title { font-size: 16px; font-weight: 700; line-height: 1.3; margin: 0 0 6px; }
3589  .pb-cookie-consent-launcher__copy { font-size: 13px; line-height: 1.45; margin: 0 0 12px; }
3590  .pb-cookie-consent-link { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: 13px; font-weight: 700; padding: 0; text-decoration: underline; }
3591  .pb-privacy-choices-footer-link { display: inline-block; }
3592  .pb-mobile-privacy-choices-footer { bottom: 58px; font-size: 12px; left: 0; padding: 6px 10px; position: fixed; right: 0; text-align: center; z-index: 999; }
3593  @media (max-width: 520px) {
3594    .pb-cookie-consent__dialog { bottom: 0; left: 0; max-height: 100vh; right: 0; }
3595    .pb-cookie-consent__actions { display: block; }
3596    .pb-cookie-consent__button { margin-bottom: 8px; width: 100%; }
3597    .pb-cookie-consent-launcher { bottom: 12px; left: 12px; max-width: none; right: 12px; }
3598  }
3599</style>
3600
3601<div id="pb-cookie-consent" class="pb-cookie-consent" role="dialog" aria-modal="true" aria-labelledby="pb-cookie-consent-title" data-required="true">
3602  <div class="pb-cookie-consent__dialog">
3603    <button type="button" class="pb-cookie-consent__close" data-cookie-consent-action="close" aria-label="Close privacy choices">&times;</button>
3604    <div class="pb-cookie-consent__content">
3605      <h2 id="pb-cookie-consent-title" class="pb-cookie-consent__title">Privacy Choices</h2>
3606      <p class="pb-cookie-consent__copy">
3607        We use cookies and similar technologies to keep this site working, support core map functionality, remember preferences, measure performance, and support advertising, personalization, chat, and optional third-party services. You can opt out of optional cookies or manage your choices at any time.
3608          <a target="_blank" rel="noopener" href="/privacy-policy">Privacy Policy</a>
3609      </p>
3610
3611
3612      <div id="pb-cookie-consent-preferences" class="pb-cookie-consent__preferences">
3613        <p class="pb-cookie-consent__copy">To opt out of sale or sharing of personal information for targeted advertising, turn off Advertising and Personalization or reject optional cookies.</p>
3614        <div class="pb-cookie-consent__row">
3615          <div>
3616            <label for="pb-cookie-necessary">Necessary</label>
3617            <p>Required for security, login, forms, and core site operation.</p>
3618          </div>
3619          <div class="form-check">
3620            <input id="pb-cookie-necessary" class="form-check-input" type="checkbox" checked disabled>
3621          </div>
3622        </div>
3623          <div class="pb-cookie-consent__row">
3624            <div>
3625              <label for="pb-cookie-functional_integrations">Functional integrations</label>
3626              <p>Load core real estate functionality such as maps and address lookup.</p>
3627            </div>
3628            <div class="form-check">
3629              <input id="pb-cookie-functional_integrations" class="form-check-input" type="checkbox" data-cookie-consent-category="functional_integrations" checked disabled>
3630            </div>
3631          </div>
3632          <div class="pb-cookie-consent__row">
3633            <div>
3634              <label for="pb-cookie-preferences">Preferences</label>
3635              <p>Remember site preferences such as search display choices and dismissed prompts.</p>
3636                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="preferences">Turning this off may limit features or make parts of this website less useful.</span>
3637            </div>
3638            <div class="form-check">
3639              <input id="pb-cookie-preferences" class="form-check-input" type="checkbox" data-cookie-consent-category="preferences" checked >
3640            </div>
3641          </div>
3642          <div class="pb-cookie-consent__row">
3643            <div>
3644              <label for="pb-cookie-analytics">Analytics</label>
3645              <p>Measure site performance, traffic, and visitor activity.</p>
3646                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="analytics">Turning this off may limit features or make parts of this website less useful.</span>
3647            </div>
3648            <div class="form-check">
3649              <input id="pb-cookie-analytics" class="form-check-input" type="checkbox" data-cookie-consent-category="analytics" checked >
3650            </div>
3651          </div>
3652          <div class="pb-cookie-consent__row">
3653            <div>
3654              <label for="pb-cookie-advertising">Advertising / sale or share</label>
3655              <p>Support ad measurement, remarketing, and activity that may be considered sale or sharing for targeted advertising.</p>
3656                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="advertising">Turning this off may limit features or make parts of this website less useful.</span>
3657            </div>
3658            <div class="form-check">
3659              <input id="pb-cookie-advertising" class="form-check-input" type="checkbox" data-cookie-consent-category="advertising" checked >
3660            </div>
3661          </div>
3662          <div class="pb-cookie-consent__row">
3663            <div>
3664              <label for="pb-cookie-personalization">Personalization / targeted ads</label>
3665              <p>Use activity signals to personalize ads or content. Turn this off to limit targeted advertising personalization.</p>
3666                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="personalization">Turning this off may limit features or make parts of this website less useful.</span>
3667            </div>
3668            <div class="form-check">
3669              <input id="pb-cookie-personalization" class="form-check-input" type="checkbox" data-cookie-consent-category="personalization" checked >
3670            </div>
3671          </div>
3672          <div class="pb-cookie-consent__row">
3673            <div>
3674              <label for="pb-cookie-third_party_integrations">Third party integrations</label>
3675              <p>Load optional embedded third-party services such as accessibility tools, neighborhood data, videos, and social widgets.</p>
3676                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="third_party_integrations">Turning this off may limit features or make parts of this website less useful.</span>
3677            </div>
3678            <div class="form-check">
3679              <input id="pb-cookie-third_party_integrations" class="form-check-input" type="checkbox" data-cookie-consent-category="third_party_integrations" checked >
3680            </div>
3681          </div>
3682          <div class="pb-cookie-consent__row">
3683            <div>
3684              <label for="pb-cookie-chat_support">Chat support</label>
3685              <p>Load live chat or support widgets.</p>
3686                <span class="pb-cookie-consent__warning is-hidden" data-cookie-consent-warning="chat_support">Turning this off may limit features or make parts of this website less useful.</span>
3687            </div>
3688            <div class="form-check">
3689              <input id="pb-cookie-chat_support" class="form-check-input" type="checkbox" data-cookie-consent-category="chat_support" checked >
3690            </div>
3691          </div>
3692      </div>
3693
3694      <div class="pb-cookie-consent__actions">
3695        <button type="button" class="pb-cookie-consent__button pb-cookie-consent__button--primary" data-cookie-consent-action="accept_all">Accept All</button>
3696        <button type="button" class="pb-cookie-consent__button pb-cookie-consent__button--secondary" data-cookie-consent-action="reject_all">Reject Optional Cookies</button>
3697        <button type="button" class="pb-cookie-consent__button pb-cookie-consent__button--primary" data-cookie-consent-action="save_preferences">Save Preferences</button>
3698      </div>
3699    </div>
3700    <div class="pb-cookie-consent__confirmation" aria-live="polite">
3701      <div class="pb-cookie-consent__confirmation-icon" aria-hidden="true">&#10003;</div>
3702      <p class="pb-cookie-consent__confirmation-title">Your preferences have been saved</p>
3703      <p class="pb-cookie-consent__confirmation-copy">You can update your privacy choices at any time.</p>
3704    </div>
3705  </div>
3706</div>
3707
3708<div class="pb-cookie-consent-launcher " role="dialog" aria-label="Privacy choices">
3709  <button type="button" class="pb-cookie-consent-launcher__close" data-cookie-consent-action="close_launcher" aria-label="Close privacy choices">&times;</button>
3710  <p class="pb-cookie-consent-launcher__title">Privacy Choices</p>
3711  <p class="pb-cookie-consent-launcher__copy">Review or update your cookie and technology preferences at any time.</p>
3712  <button type="button" class="pb-cookie-consent-link" data-cookie-consent-open="preferences" aria-controls="pb-cookie-consent" aria-expanded="false">Manage Privacy Choices</button>
3713</div>
3714<script>
3715  window.pbCookieConsentConfig = window.pbCookieConsentConfig || {"endpoint":"/cookie_consent","consentVersion":"2026-06-29","policyVersion":"2026-06-29","required":true,"globalPrivacyControl":false,"categories":["necessary","functional_integrations","preferences","analytics","advertising","personalization","third_party_integrations","chat_support"],"acceptedCategories":{},"consentId":null,"companyName":"Cotton Realty","modalCopy":"We use cookies and similar technologies to keep this site working, support core map functionality, remember preferences, measure performance, and support advertising, personalization, chat, and optional third-party services. You can opt out of optional cookies or manage your choices at any time.","privacyPolicyUrl":"/privacy-policy"};
3716  if (window.pbCookieConsentInit) {
3717    window.pbCookieConsentInit();
3718  }
3719</script>
vendor: 98 bytes, lines 3719-3722
3719
3720
3721
3722          <script src="https://www.google.com/recaptcha/api.js?onload=captchaV3Callback&render=
37226Lft-dYfAAAAAHKdkJ7-UwZ-mfAZeFOZm0mISWfO
vendor: 34 bytes, lines 3722-3723
3722" async defer></script>
3723          
3723<style>.grecaptcha-badge{display:none !important;}</style>
3724        
3725
3726    
3726<script>
3727      // used for background images only
3728      // use class="lazy" and data-bg="src" to set up
3729      // use loading="lazy" instead on img tags for native img lazy loading
3730      var lazyLoad = new LazyLoad();
3731
3732      $('input[type="text"], textarea, select, .input-group.date, .token-input-list-facebook, .c-search-bar').on('mouseover', disablePinchZoom);
3733      $('input[type="text"], textarea, select, .input-group.date, .token-input-list-facebook, .c-search-bar').on('mouseout', enablePinchZoom);
3734      $(function(){
3735        $('.navbar-container').show();
3736      });
3737    </script>
3737
3738    
3739
3740  </body>
3741</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.