PageSourceSearch

https://ricardohome.com/contact

html ricardohome.com collected 2026-10-10 02:35:10 UTC 412,724 bytes, 3,553 lines download raw bytes

1<!DOCTYPE html>
2<html class="no-js" lang=en>
3<head>
4    <meta charset="utf-8">
5    <meta http-equiv="x-ua-compatible" content="ie=edge">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0">
7    <meta name="twitter:card" content="summary_large_image">
8    <meta property="og:type" content="website">
9        <title>Get in Touch | Ricardo Rodriguez & Associates</title>
10        <meta property="og:title" content="Get in Touch | Ricardo Rodriguez &amp; Associates">
11        <meta name="twitter:title" content="Get in Touch | Ricardo Rodriguez &amp; Associates">
12        <meta name="description" content="Get in touch with Ricardo Rodriguez &amp; Associates to start your home buying or selling journey with trusted local experts.">
13        <meta property="og:description" content="Get in touch with Ricardo Rodriguez &amp; Associates to start your home buying or selling journey with trusted local experts.">
14        <meta name="twitter:description" content="Get in touch with Ricardo Rodriguez &amp; Associates to start your home buying or selling journey with trusted local experts.">
15        <meta property="og:url" content="https://ricardohome.com/contact">
16        <link rel="canonical" href="https://ricardohome.com/contact">
17    
17<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
17
18    <link rel="preconnect" href="https://fonts.googleapis.com">
19    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Playfair%20Display:400,500,600,700,800,900,400i,500i,600i,700i,800i,900i"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:100,200,300,400,500,600,700,800,900">
21    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
22    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
23    <link rel="icon" type="image/x-icon" href="/favicon.ico">
24    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
25    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
26    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
27    <style id="global-css">:root{--global-primary-font-family:'Playfair Display',serif;--global-primary-font-family-short:Playfair Display;--global-secondary-font-family:Inter,sans-serif;--global-secondary-font-family-short:Inter;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:15px;--global-h1-font-size:64px;--global-h2-font-size:40px;--global-h3-font-size:30px;--global-h4-font-size:24px;--global-h5-font-size:12px;--global-h6-font-size:32px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Inter,sans-serif;font-size:15px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Playfair Display',serif;}h1{font-size:64px;}h2{font-size:40px;}h3{font-size:30px;}h4{font-size:24px;}h5{font-size:12px;}h6{font-size:32px;}</style>
28        <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/visionary/index.css" />
29    <style id="website-css">@media(max-width:769px){.custom-title-container .signature.mobile{left:0;right:0;bottom:-7px;text-align:left!important;}}#global-mobile-contact>div>div.floating-contact-button-pop-up.js-pop-up{border:1px solid #000;border-radius:15px;}.mobile-contact-wrapper{position:fixed;z-index:101!important;}@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Rouge+Script&display=swap');@font-face{font-family:'Northwell';src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/1770746680939-roucx6ja/northwell.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/1770746680939-roucx6ja/northwell.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}:root{--custom-h1-size:140px;--custom-h2-size:80px;--custom-h3-size:50px;--global-h4-font-size:32px;--global-h5-font-size:24px;--global-h6-font-size:20px;--lp-body-font-weight:400;--custom-dark:#101010;--custom-white:#FFFFFF;--custom-off-white:#F8F7F6;--custom-dark-brown:#6E6359;--custom-brown-1:#8D8379;--custom-brown-2:#9D998F;--custom-beige-2:#DBD6D2;--custom-beige:#EAE6E0;--custom-text-dark:#7A7A7A;--custom-brown-op:rgba(110, 99, 89, .24);--custom-quote-icon:url("data:image/svg+xml,%3Csvg version='1.2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 135 98' width='135' height='98'%3E%3Cdefs%3E%3Cimage width='226' height='226' id='img1' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAADiCAMAAABkzuvlAAAAAXNSR0IB2cksfwAAAqNQTFRF////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAynk2PwAAAOF0Uk5TAAAsU
29QpbGBVvzv/3GQFAnvOQA1Cy+/RNHoLgvxF28IMUPq38wEcrmPXsehAIYc+4OIANDHjrPYjvyERBlxfZN8KzKAt88mwEJmfn+YcPjvprRdMlAmUWIbHhUjHYPAd7/Y3URt/QNA6bjOLcNpWhBf61WCPKc1PxTtcnNX7BYPhXMqgG9jB1H+Qkkoou5qmZ7S27rDm+xQnJWTOqaErbrpTSxKTaHJac3iAqp1UT6a8/L2YionDohupDw6W8bu5qj7nNaXTMkyl/YrobTMZJ3aZ3S3kafYtIEuOEVMdkcjuFbkeVZwAACdRJREFUeJztnHtcVUUewGdE0YVriSF2sV30s1oJq4aK20IpaMhS7ELeusvia+1xtYfk8pFw3STEIM2sECTCx7qalogiSptKiyzGuoYpWUb5aFndzTTd5VPZ5+OjXM8593HunMc9v+tnzr07O99/ZvidmR/nyz33PGbmgBHz4EDvAH24IgtwRRbgiizAFVmAK7IAV2QBrsgCXJEFuCILcEUW4IoswBVZgCuyAFdkAa7IAlyRBbgiC3BFFuCKLMAVWYArsgBXZAGuyAJckQW4IgtwRRbgiizAFVmAK7IAV2QBrsgCMMXr/oNg/P31pgjB+BLsd1JsTRKKBS5cTwrLtQSXev4H1Mc0xQjJzoLP+p+jP8ZdQqp/gXqZpDgAfyfsXCTG//A3BRqI8elrRTQ+fhXUzxTFIRifvFbEYPyxfwkQisP4uJjqq06Egk5xxNVjQhF5Ez7kT3eBkRgfEcrovm1CEWSKvXuLJwfLoG/8/gRjQ3seFsoReJ8UCCrFxDOfC4XVit+FdnUxoN/5c0I5utV9vQkixbH4PbH8Kd4D6+hhPMatQhkXgXe7g0GjmHb0C7Ec3Pk16JfImNgNNwtlCsYNsnCQKMb+GDcK5fCbW2BXahlZeKdYDhm81SseFIo23CmeAlGPtM2g3yDDjreLZSZ+g9gSDIo5n30glpPw66D8MqbiWtHEjtd/R24LvGLIvX1rhNIaeeEIKL2MhFulYzP74AfKjQFXfAhvFMvJeCUouQxH8ymxDO+eul5lc4AV48eskyrTL6jtnSGyrGvFcgZeobo9sIq97dJHmGxdA8osY3zsaqnySOtB9RaBVMw9MbharMyshD22ysg5dUAsk4a9rNUkgIp5uFKq3Hb8G1BeD5ZZH0t3QpM+174jCpxiPi4Xy6RRS0BZZQwYsl+qhNmqtVsFSjF33UWp8hR+HpRUxvwz0jcZ5ZXpHQYBUrwreZlUie7p91PTArxULFMSFuq2C4xi0Sf1UmUeLgSl9BBx1XkYzN7Tpt8yIIrdFpZKlR9+6e9Nd8bJY1IlLusZH00DoVhy1nlyGPYeKJ+M0mNvSpVCPM9XW/MVbWOKnLWFT4PSyViKF0iVRVd8GpqvWBzuOrBKCv29HA60S9cbVIrn+G5ttmLIS64/+5Jn/f0eFpQ793p+n9kGmpusGFKW76y9iB8HJfNQ0NEoVezrDU15mKsY78hz1jK3+ntbWrWvxlm76Z+GOpiq6PkM8wfMBKXy4P4MUVmese+ymYrFfV2GaPmjoEweVm13GVZUGBwuN1ExYmGBq7riIVAiD+VdzpsGFF5i9DgwUfEP7vNL3GE/v4gpp91TVbe1G+1knuIt593Vp/XvmzV58N0uV/XVg8uN9jJNMSrddSJEi58CpXFTHDPLXbcZH480S/GVEvfpzxrj55zF7FXu6mvTjHczSdFxt8Ndn/YaKIublbnuamqvGp2GBOYoWvp94a6n2qeAsriY3+758FdNBnQ0RzFVNl+4OgeUxIUjxXOhsZZmA3qaorhphuzX3OnfN1H2RUR/tEN6mqGY++0GTzD6BCiHi83y80t30BSkGYoT/ioLXr4CyuGkFsu+wNWPgR40TVBM+YHs0MS3awzL6yM/TFG/k6C+JihGyx99N0wCpXBS53WKeiML1Jm+Yn6FPPZmJiiFRIRN9mVGi+bCelNXnBq6UR7b9EtQCol6r2tEzS9gvakrNjwoD9XeB8ogUbmjWf4j9FmTtiKxe2Hn1Zvq4v1XQgVFsO60Fed6z9xuuReUQaRykNcpyvEOcEkAZcWJfeu9QnMXgTKIPPCW1499TgP7U1as+q13qO7noAwClkzvlULb0oAJKCvuIi5ha38FyiCw837vn8sc6u00oauY1kKERsGXKO4mrqQjW4EJ6Cr+yUaEBoEnTDOaiF3s2aXeUBO6iqufJEJwxe49iEBwKeJeZCgDvIxveQERAD3xC1BVHNpJhp71PR3oTXE5+eAEGZkSoarYqLghhT3MXmPKFjICfqamqZh2dykZ2nEPKANCygOhYQIwBU3FauUUbo+vQBkQSt6vCN1wBpaCpmLhi4pQ7RrFgaePVXn+fGs8LAVNxWaVe+4XjExde8j4szL2djIoBVXF7O3KWP1EUIqcOmXMEQZbUkZTsUXlntv6yHxIiii1MzBwxoCm4la1kX3Y7GmL2mOFdVoRJAdNxSjV4c6LkDdL96oe1401hicXEV3FMNVow4qtqnFV7vhUNfxOEmA3zFdEMxKNT01pKKLY943vRgAU0ZqYRKMp9mldA7fYDQ/601T80TmNDaG77jSYghh8k9GMxxjMQVNx2QLNTWEOY9e2eu2JxFLL5t2aG+XQVGxN1d5mfe6sgUWIqG2szsaKzlLFC1Iq0FRcqb8yY2/XAZ9Pj5t+o7s5cvHt+32uFqSp+DY5cqOgFWO8p1UaCchIrDt0sIJ4GWFqrc9d6rOhKSrmd+Lw8dSWJ5O/3kW+E0FTsegFY+2slxH6tbSItiWB2DavzFgOSy+EhonzmI13EZtoKraNAzUXGNhBBGaug6ZIJW/+qQ5sZNf7buTN9Coi8BP40oChxDw0VcVbT4HaI5UV8R+u0nlVSJ1LxGmWqmIi+B8s7LuDjDyzDJgCf0sEqCrafqZ98VdHcbqRLwszhqmnG4w+UuyxD5RDyfHntG4DNXi4ggjQVYz5EpZ/xN+UsSOjQSnQ+7FEgPLkW5+LoB5qw6wfblOMxurx+l/Ix2XKih07IUM1kelqp0/NBypV8krICO25/ibIEg31ZVGVLYDLa1KH4v8w0Va0lBifqDmUo754rG6b8QW23yu/GdTX3YQPNbzAQnPg6lPF1VKLnSXKZ0j6C8QS0pcaa145Q2tLRDfycq7B7CsvKYMmLPM7WmLoODtcrP3/GUI+GW4khfp7YmasR+0+2YDjq7UNOlsz7svT2epij+qQkCkLp6Ou+hwuaxyv/wLOyLE+R/ntCwarxs1Z/p4y/TH9pmFdvkZhbF1/1182Fdo0Sn2DSe9pxFU8rLOD+WOyDYyKTrlFbwRg70aVM42IaS8U4fJ8rXbNncbWVOX2r9K6JR++cbTma7smvvn2WcIUtfuzqgTyvlmbjPY5ao9nw9d0G6rdydS3UPvnjtvsbVnYkO7rPw94kzvrRFiGVyT8xvh/N+l1MfuN8I61456Y0J5ZipIm1Ofe0L7Yj/febfFtN+9I3z2pOvXo7+ccuJzla0EWTcX/SbgiC3BFFuCKLMAVWYArsgBXZAGuyAJckQW4IgtwRRbgiizAFVmAK7IAV2QBrsgCXJEFuCILcEUW4IoswBVZgCuyAFdkAa7IAlyRBbgiC3BFFuCKLMAVWYArsgBXZAGuyAL/B4r/BWm/awFYrRvOAAAAAElFTkSuQmCC'/%3E%3C/defs%3E%3Cstyle%3E%3C/style%3E%3Cuse id='Background' href='%23img1' x='-45' y='-64'/%3E%3C/svg%3E");--custom-arrows:url("data:image/svg+xml,%3Csvg width='19' height='10' viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1895 8.06055L15.9395 5.31055L0 5.31055V3.81055L15.9395 3.81055L13.1895 1.06055L14.25 0L18.8105 4.56055L14.25 9.12109L13.1895 8.06055Z' fill='%23101010'/%3E%3C/svg%3E%0A");--custom-play-icon:url("data:image/svg+xml,%3Csvg width='12' height='15' viewBox='0 0 12 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.15234 0.733398L10.3193 6.56641L11.3135 7.19922L10.3193 7.83203L1.15234 13.666L0 14.3994L0 0L1.15234 0.733398ZM1.5 11.666L8.51855 7.19922L1.5 2.73145L1.5 11.666Z' fill='white'/%3E%3C/svg%3E%0A");--ricardo-signature:url("data:image/svg+xml,%3Csvg width='236' height='37' viewB
29ox='0 0 236 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.9802 1.18803C26.0482 1.01203 27.1482 2.06803 26.9282 4.13603C26.7962 4.88403 26.5322 5.63203 26.2242 6.33603C25.6522 7.61203 24.8602 8.71203 23.9802 9.76803C20.5482 13.904 16.4562 17.204 11.9242 19.932C11.2202 20.372 10.5602 20.768 9.81223 21.12C7.96424 22.088 6.11623 23.012 3.82823 23.1C4.57623 24.948 5.19223 26.708 6.46823 28.116C7.78823 29.656 9.46024 30.184 11.3962 29.568C12.3202 29.304 13.2442 28.908 14.0802 28.424C17.2042 26.576 19.9762 24.332 22.4402 21.692C23.0562 21.032 23.5842 20.284 24.1122 19.58C24.5082 19.096 24.9042 18.964 25.2122 19.228C25.4762 19.448 25.4322 19.8 25.0802 20.284C23.0562 22.968 20.5922 25.124 17.9082 27.06C16.8522 27.852 15.7082 28.556 14.5642 29.216C13.3762 29.876 12.1442 30.316 10.7802 30.492C9.10823 30.624 7.70023 30.096 6.46823 28.952C5.63223 28.16 5.06023 27.192 4.53223 26.18C4.22423 25.608 3.91623 24.992 3.56423 24.288C3.47623 24.596 3.38823 24.772 3.34423 24.948C2.90423 26.752 2.50823 28.556 2.06823 30.404C1.93623 30.888 1.84823 31.416 1.62823 31.944C1.40823 32.604 0.924235 32.604 0.440234 32.076C0.0882345 31.592 0.0002345 31.064 0.0442344 30.492C0.352234 27.852 0.792234 25.256 1.54023 22.66C1.62823 22.264 1.67223 21.824 1.76023 21.384C1.76023 21.252 1.80423 21.12 1.89223 20.988C2.06823 20.636 2.28823 20.284 2.46423 19.932C3.38823 17.556 4.62023 15.312 6.11623 13.244C6.42423 12.804 6.64424 12.32 6.86423 11.836C8.14023 8.49203 9.41623 5.14803 10.6922 1.80403C10.8682 1.36403 11.0442 0.968027 11.2642 0.572027C11.3962 0.264028 11.6602 2.64645e-05 12.0122 0.132027C12.3642 0.220029 12.4962 0.484028 12.5402 0.836029C12.6722 1.54003 12.3642 1.84803 11.4402 1.89203C10.0322 4.79603 8.97624 7.78803 7.96424 10.868C8.09623 10.736 8.22823 10.648 8.31624 10.516C11.9242 6.64403 16.2362 3.87203 21.1202 1.93603C22.0442 1.54003 23.0122 1.27603 23.9802 1.18803ZM2.94823 23.936C3.12423 23.32 2.99223 22.924 2.46423 22.484C1.80423 24.948 1.32023 27.324 1.27623 29.832C1.36423 29.612 1.45223 29.392 1.49623 29.172C1.98023 27.412 2.42023 25.652 2.94823 23.936ZM3.47623 21.956C4.13623 19.888 4.75223 17.996 5.36823 16.06C5.32423 16.06 5.28023 16.016 5.28023 16.016C5.14823 16.192 5.01623 16.412 4.92823 16.588C4.35623 17.732 3.87223 18.876 3.30023 20.02C2.99223 20.68 3.12423 21.252 3.47623 21.956ZM25.8282 5.94003C26.1802 5.28003 26.4002 4.48803 26.4002 3.69603C26.4002 2.42003 25.7842 1.80403 24.4642 1.80403C23.5842 1.76003 22.7482 2.02403 21.9562 2.33203C20.0642 2.99203 18.3042 3.87203 16.5442 4.88403C12.9802 6.95203 9.81223 9.54803 7.30424 12.936C7.04023 13.244 6.82023 13.64 6.68823 14.08C5.94023 16.28 5.23623 18.524 4.53223 20.768C4.35623 21.208 4.26823 21.692 4.09223 22.264C4.44423 22.264 4.70823 22.264 4.92823 22.22C5.72023 22 6.60023 21.824 7.34824 21.516C14.0362 18.612 19.6682 14.344 24.2002 8.62403C24.8162 7.78803 25.3002 6.86403 25.8282 5.94003ZM37.0874 18.348C37.2634 18.612 37.0874 18.876 36.9114 19.096C36.1194 19.668 30.9714 23.628 27.8474 24.244C27.5834 24.332 27.2754 24.332 26.8354 24.376C26.5274 24.288 26.0434 24.244 25.6034 24.068C24.8114 23.76 24.2834 23.144 24.1514 22.264C23.9314 20.856 24.3274 19.492 24.8994 18.216C24.8994 18.172 24.9434 18.128 24.9874 18.084C25.2514 17.732 25.6474 17.644 25.9114 17.908C26.2194 18.128 26.2634 18.48 25.9554 18.788C25.3394 19.492 25.1194 20.328 24.9434 21.208C24.8994 21.384 24.8994 21.516 24.8994 21.648C24.8554 22.792 25.4714 23.54 26.5714 23.584C27.0994 23.584 27.6274 23.54 28.1114 23.408C30.8834 22.66 33.6554 20.548 35.9874 18.612C36.2074 18.524 36.3834 18.392 36.5594 18.304C36.8234 18.216 36.9554 18.128 37.0874 18.348ZM27.9354 14.476C27.7594 14.916 27.2314 14.96 26.9234 14.608C26.6594 14.3 26.7034 13.992 26.8794 13.64C27.0554 13.288 27.1874 12.936 27.6274 12.892C28.0234 12.892 28.2874 13.2 28.1994 13.596C28.1554 13.904 28.0674 14.168 27.9354 14.476ZM48.1445 17.996C48.5405 17.82 48.7165 17.732 48.8925 17.996C49.1125 18.568 42.2485 21.208 39.3005 22.176C38.5965 22.396 37.8925 22.572 37.1445 22.748C36.8805 22.792 36.6165 22.748 36.3525 22.704C35.6485 22.572 35.2965 22.088 35.3405 21.384C35.3845 21.12 35.4285 20.9 35.4725 20.68C36.0885 19.008 37.1005 17.644 38.5965 16.676C39.1685 16.324 39.6965 16.28 39.9605 16.588C40.3125 17.028 40.0925 17.424 39.8725 17.864C39.7405 18.128 39.6085 18.348 39.4765 18.612C39.3005 18.92 38.9925 19.008 38.7285 18.876C38.4205 18.744 38.3325 18.436 38.5085 18.084C38.5525 17.952 38.6845 17.82 38.7725 17.688C38.6845 17.644 38.6845 17.644 38.6405 17.644C37.2325 18.524 36.2645 19.756 35.8245 21.34C35.6045 22 35.9565 22.396 36.6605 22.396C37.1005 22.396 37.5405 22.308 37.9365 22.176C38.7285 21.868 44.8005 19.404 47.0445 18.524C47.3965 18.348 47.7925 18.172 48.1445 17.996ZM60.5277 17.952C60.7917 18.128 60.7037 18.392 60.4397 18.744C60.3077 18.92 60.1317 19.14 59.9117 19.272C58.5037 20.284 57.0077 21.12 55.2917 21.428C54.9837 21.516 54.6317 21.516 54.2797 21.516C53.1357 21.56 52.3437 21.032 51.8597 20.02C51.6837 19.58 51.5517 19.14 51.3757 18.612C51.1557 18.788 50.9797 18.964 50.8037 19.14C50.0557 19.844 49.2197 20.46 48.2517 20.856C47.9437 20.988 47.6357 21.076 47.3277 21.076C46.7557 21.076 46.4477 20.636 46.6237 20.108C46.7117 19.932 46.7557 19.8 46.8877 19.668C47.6357 18.656 48.5597 17.776 49.7037 17.204C50.1877 16.94 50.7157 16.808 51.2437 16.984C51.8597 17.204 52.0357 17.468 52.0797 18.128C52.1237 18.656 52.2117 19.228 52.387
297 19.712C52.6517 20.592 53.3557 21.032 54.2357 20.944C57.6237 20.548 59.5157 18.524 59.7797 18.26C60.0437 17.952 60.2637 17.776 60.5277 17.952ZM47.8997 19.932C48.9117 19.58 49.7037 18.92 50.4517 18.084C49.3957 18.436 48.6037 19.096 47.8997 19.932ZM61.5222 15.928C61.3902 16.456 61.2582 16.984 61.0822 17.644C61.3022 17.644 61.4782 17.688 61.6542 17.688C62.4462 17.82 62.9742 18.392 62.7982 18.832C62.3582 20.02 61.8742 20.856 61.3902 22.044C60.9942 23.144 60.5542 24.244 60.1582 25.388C60.0702 25.652 60.0702 26.488 60.8622 25.872C61.4342 25.388 62.0062 24.904 62.5342 24.376C63.7662 22.968 64.9982 21.56 66.1862 20.152C66.6262 19.624 66.9342 19.008 67.3302 18.436C67.3742 18.348 67.8142 17.644 68.0782 17.82C68.3862 17.952 68.3422 18.26 68.2102 18.612C68.0342 18.964 63.4142 24.464 62.1822 25.652C61.6982 26.048 61.2582 26.532 60.6862 26.796C59.8062 27.192 59.2782 26.752 59.4542 25.828C59.5422 25.388 59.6742 24.948 59.8062 24.552C60.4222 22.968 60.9502 21.648 61.5662 20.064C61.8302 19.36 62.0062 18.48 61.5222 18.436C61.1262 18.436 60.7302 18.48 60.3782 18.524C59.8942 18.568 59.4982 18.436 59.1462 18.172C58.7502 17.864 58.5742 17.424 58.6622 16.94C58.8822 16.104 59.3222 15.444 60.0702 15.004C60.4222 14.784 60.7742 14.696 61.1262 14.916C61.5222 15.136 61.6102 15.532 61.5222 15.928ZM59.7182 17.512C59.8942 17.16 60.0262 16.808 60.1582 16.456C59.5422 16.94 59.4542 17.072 59.7182 17.512ZM83.129 18.04C83.349 18.172 83.129 18.48 83.041 18.744C82.953 18.876 79.389 23.54 76.705 24.904C76.353 25.08 76.001 25.212 75.605 25.3C74.505 25.608 73.625 25.256 73.053 24.2C72.613 23.364 72.393 22.44 72.437 21.472C72.437 20.284 72.569 19.052 72.613 17.864C72.657 17.732 72.657 17.6 72.657 17.336C72.437 17.6 72.261 17.776 72.085 17.908C71.161 18.832 70.281 19.8 69.313 20.68C68.917 21.032 68.389 21.296 67.905 21.516C67.025 21.868 66.453 21.34 66.585 20.416C66.673 20.152 66.761 19.844 66.893 19.58C67.641 17.996 68.741 16.72 70.193 15.752C70.501 15.532 70.897 15.356 71.249 15.312C71.821 15.18 72.085 15.532 72.041 16.104C72.129 16.104 72.305 16.104 72.349 16.016C72.745 15.488 73.141 14.96 73.317 14.256C74.021 11.088 74.945 8.05203 76.485 5.14803C77.145 3.87203 77.937 2.59603 78.905 1.45203C79.213 1.14403 79.521 0.792027 79.917 0.528028C80.445 0.176027 80.929 0.440029 81.017 1.05603C81.061 1.45203 81.017 1.89203 80.885 2.28803C80.709 2.99203 80.445 3.74003 80.181 4.40003C78.421 8.49203 76.177 12.232 73.669 15.884C73.361 16.324 73.141 16.808 73.053 17.336C72.833 18.832 72.701 20.328 72.833 21.824C72.877 22.572 73.009 23.276 73.405 23.892C73.889 24.772 74.505 24.992 75.385 24.684C75.869 24.552 76.309 24.332 76.705 24.112C78.993 22.748 80.885 21.032 82.249 18.744C82.381 18.568 82.865 17.908 83.129 18.04ZM76.133 6.90803C75.121 9.10803 73.977 12.54 74.021 13.508C74.153 13.288 74.285 13.112 74.373 12.892C75.605 10.736 76.881 8.58003 78.069 6.38003C78.685 5.23603 79.213 4.04803 79.741 2.86003C79.917 2.37603 80.049 1.84803 80.225 1.36403C78.993 1.84803 77.453 4.09203 76.133 6.90803ZM68.653 20.152C69.841 19.184 70.853 18.04 71.777 16.764C71.909 16.632 71.953 16.456 71.997 16.28C71.865 16.5 71.601 16.5 71.381 16.5C71.029 16.544 70.677 16.544 70.413 16.72C69.093 17.512 68.081 18.612 67.465 20.02C67.333 20.284 67.333 20.548 67.289 20.812C67.333 20.856 67.377 20.9 67.421 20.944C67.861 20.68 68.257 20.46 68.653 20.152ZM94.691 18.26C94.823 18.568 94.779 18.832 94.515 19.008C94.339 19.14 94.163 19.184 93.943 19.228C92.403 19.36 90.907 19.536 89.323 19.624C87.959 19.712 86.639 19.404 85.495 18.612C85.407 18.568 85.319 18.524 85.231 18.524C85.011 19.448 84.791 20.372 84.527 21.252C84.219 22.44 83.779 23.54 83.031 24.552C82.723 24.992 82.371 25.388 81.975 25.74C81.667 26.004 81.271 26.18 80.831 25.96C80.479 25.74 80.347 25.344 80.347 24.948C80.347 24.684 80.391 24.42 80.435 24.156C80.919 21.956 81.667 19.888 82.811 17.952C83.075 17.556 83.339 17.204 83.647 16.852C83.779 16.676 84.043 16.5 84.263 16.368C84.791 16.148 85.363 16.544 85.319 17.116C85.231 17.6 85.495 17.864 85.847 18.084C86.639 18.656 87.563 18.964 88.575 18.92C89.895 18.832 91.259 18.612 92.579 18.392C93.063 18.348 93.503 18.172 93.987 17.996C94.339 17.908 94.603 17.996 94.691 18.26ZM81.447 24.772C82.723 23.54 84.307 19.36 84.087 17.864C82.811 19.052 81.051 23.716 81.447 24.772ZM132.734 1.18803C134.802 1.01203 
29135.902 2.06803 135.682 4.13603C135.55 4.88403 135.286 5.63203 134.978 6.33603C134.406 7.61203 133.614 8.71203 132.734 9.76803C129.302 13.904 125.21 17.204 120.678 19.932C119.974 20.372 119.314 20.768 118.566 21.12C116.718 22.088 114.87 23.012 112.582 23.1C113.33 24.948 113.946 26.708 115.222 28.116C116.542 29.656 118.214 30.184 120.15 29.568C121.074 29.304 121.998 28.908 122.834 28.424C125.958 26.576 128.73 24.332 131.194 21.692C131.81 21.032 132.338 20.284 132.866 19.58C133.262 19.096 133.658 18.964 133.966 19.228C134.23 19.448 134.186 19.8 133.834 20.284C131.81 22.968 129.346 25.124 126.662 27.06C125.606 27.852 124.462 28.556 123.318 29.216C122.13 29.876 120.898 30.316 119.534 30.492C117.862 30.624 116.454 30.096 115.222 28.952C114.386 28.16 113.814 27.192 113.286 26.18C112.978 25.608 112.67 24.992 112.318 24.288C112.23 24.596 112.142 24.772 112.098 24.948C111.658 26.752 111.262 28.556 110.822 30.404C110.69 30.888 110.602 31.416 110.382 31.944C110.162 32.604 109.678 32.604 109.194 32.076C108.842 31.592 108.754 31.064 108.798 30.492C109.106 27.852 109.546 25.256 110.294 22.66C110.382 22.264 110.426 21.824 110.514 21.384C110.514 21.252 110.558 21.12 110.646 20.988C110.822 20.636 111.042 20.284 111.218 19.932C112.142 17.556 113.374 15.312 114.87 13.244C115.178 12.804 115.398 12.32 115.618 11.836C116.894 8.49203 118.17 5.14803 119.446 1.80403C119.622 1.36403 119.798 0.968027 120.018 0.572027C120.15 0.264028 120.414 2.64645e-05 120.766 0.132027C121.118 0.220029 121.25 0.484028 121.294 0.836029C121.426 1.54003 121.118 1.84803 120.194 1.89203C118.786 4.79603 117.73 7.78803 116.718 10.868C116.85 10.736 116.982 10.648 117.07 10.516C120.678 6.64403 124.99 3.87203 129.874 1.93603C130.798 1.54003 131.766 1.27603 132.734 1.18803ZM111.702 23.936C111.878 23.32 111.746 22.924 111.218 22.484C110.558 24.948 110.074 27.324 110.03 29.832C110.118 29.612 110.206 29.392 110.25 29.172C110.734 27.412 111.174 25.652 111.702 23.936ZM112.23 21.956C112.89 19.888 113.506 17.996 114.122 16.06C114.078 16.06 114.034 16.016 114.034 16.016C113.902 16.192 113.77 16.412 113.682 16.588C113.11 17.732 112.626 18.876 112.054 20.02C111.746 20.68 111.878 21.252 112.23 21.956ZM134.582 5.94003C134.934 5.28003 135.154 4.48803 135.154 3.69603C135.154 2.42003 134.538 1.80403 133.218 1.80403C132.338 1.76003 131.502 2.02403 130.71 2.33203C128.818 2.99203 127.058 3.87203 125.298 4.88403C121.734 6.95203 118.566 9.54803 116.058 12.936C115.794 13.244 115.574 13.64 115.442 14.08C114.694 16.28 113.99 18.524 113.286 20.768C113.11 21.208 113.022 21.692 112.846 22.264C113.198 22.264 113.462 22.264 113.682 22.22C114.474 22 115.354 21.824 116.102 21.516C122.79 18.612 128.422 14.344 132.954 8.62403C133.57 7.78803 134.054 6.86403 134.582 5.94003ZM145.996 18.26C146.128 18.568 146.084 18.832 145.82 19.008C145.644 19.14 145.468 19.184 145.248 19.228C143.708 19.36 142.212 19.536 140.628 19.624C139.264 19.712 137.944 19.404 136.8 18.612C136.712 18.568 136.624 18.524 136.536 18.524C136.316 19.448 136.096 20.372 135.832 21.252C135.524 22.44 135.084 23.54 134.336 24.552C134.028 24.992 133.676 25.388 133.28 25.74C132.972 26.004 132.576 26.18 132.136 25.96C131.784 25.74 131.652 25.344 131.652 24.948C131.652 24.684 131.696 24.42 131.74 24.156C132.224 21.956 132.972 19.888 134.116 17.952C134.38 17.556 134.644 17.204 134.952 16.852C135.084 16.676 135.348 16.5 135.568 16.368C136.096 16.148 136.668 16.544 136.624 17.116C136.536 17.6 136.8 17.864 137.152 18.084C137.944 18.656 138.868 18.964 139.88 18.92C141.2 18.832 142.564 18.612 143.884 18.392C144.368 18.348 144.808 18.172 145.292 17.996C145.644 17.908 145.908 17.996 145.996 18.26ZM132.752 24.772C134.028 23.54 135.612 19.36 135.392 17.864C134.116 19.052 132.356 23.716 132.752 24.772ZM161.074 18.04C161.294 18.172 161.074 18.48 160.986 18.744C160.898 18.876 157.334 23.54 154.65 24.904C154.298 25.08 153.946 25.212 153.55 25.3C152.45 25.608 151.57 25.256 150.998 24.2C150.558 23.364 150.338 22.44 150.382 21.472C150.382 20.284 150.514 19.052 150.558 17.864C150.602 17.732 150.602 17.6 150.602 17.336C150.382 17.6 150.206 17.776 150.03 17.908C149.106 18.832 148.226 19.8 147.258 20.68C146.862 21.032 146.334 21.296 145.85 21.516C144.97 21.868 144.398 21.34 144.53 20.416C144.618 20.152 144.706 19.844 144.838 19.58C145.586 17.996 146.686 16.72 148.138 15.752C148.446 15.532 148.842 15.356 149.194 15.312C149.766 15.18 150.03 15.532 149.986 16.104C150.074 16.104 150.25 16.104 150.294 16.016C150.69 15.488 151.086 14.96 151.262 14.256C151.966 11.088 152.89 8.05203 154.43 5.14803C155.09 3.87203 155.882 2.59603 156.85 1.45203C157.158 1.14403 157.466 0.792027 157.862 0.528028C158.39 0.176027 158.874 0.440029 158.962 1.05603C159.006 1.45203 158.962 1.89203 158.83 2.28803C158.654 2.99203 158.39 3.74003 158.126 4.40003C156.366 8.49203 154.122 12.232 151.614 15.884C151.306 16.324 151.086 16.808 150.998 17.336C150.778 18.832 150.646 20.328 150.778 21.824C150.822 22.572 150.954 23.276 151.35 23.892C151.834 24.772 152.45 24.992 153.33 24.684C153.814 24.552 154.254 24.332 154.65 24.112C156.938 22.748 158.83 21.032 160.194 18.744C160.326 18.568 160.81 17.908 161.074 18.04ZM154.078 6.90803C153.066 9.10803 151.922 12.54 151.966 13.508C152.098 13.288 152.23 13.112 152.318 12.892C153.55 10.736 154.826 8.58003 156.014 6.38003C156.63 5.23603 157.158 4.04803 157.686 2.86003C157.862 2.37603 157.994 1.84803 158.17 1.36403C156.938 1.84803 155.398 4.09203 154.078 6.90803ZM146.598 20.152C147.786 19.184 148.798 18.04 149.722 16.764C149.854 16.632 149.898 16.456 149.942 16.28C149.81 16.5 149.546 16.5 149.326 16.5C148.974 16.544 148.622 16.544 148.358 16.72C147.038 17.512 146.026 18.612 145.41 20.02C145.278 20.284 145.278 20.548 145.234 20.812C145.278 20.856 145.322 20.9 145.366 20.944C145.806 20.68 146.202 20.46 146.598 20.152ZM162.026 15.928C161.894 16.456 161.762 16.984 161.586 17.644C161.806 17.644 161.982 
2917.688 162.158 17.688C162.95 17.82 163.478 18.392 163.302 18.832C162.862 20.02 162.378 20.856 161.894 22.044C161.498 23.144 161.058 24.244 160.662 25.388C160.574 25.652 160.574 26.488 161.366 25.872C161.938 25.388 162.51 24.904 163.038 24.376C164.27 22.968 165.502 21.56 166.69 20.152C167.13 19.624 167.438 19.008 167.834 18.436C167.878 18.348 168.318 17.644 168.582 17.82C168.89 17.952 168.846 18.26 168.714 18.612C168.538 18.964 163.918 24.464 162.686 25.652C162.202 26.048 161.762 26.532 161.19 26.796C160.31 27.192 159.782 26.752 159.958 25.828C160.046 25.388 160.178 24.948 160.31 24.552C160.926 22.968 161.454 21.648 162.07 20.064C162.334 19.36 162.51 18.48 162.026 18.436C161.63 18.436 161.234 18.48 160.882 18.524C160.398 18.568 160.002 18.436 159.65 18.172C159.254 17.864 159.078 17.424 159.166 16.94C159.386 16.104 159.826 15.444 160.574 15.004C160.926 14.784 161.278 14.696 161.63 14.916C162.026 15.136 162.114 15.532 162.026 15.928ZM160.222 17.512C160.398 17.16 160.53 16.808 160.662 16.456C160.046 16.94 159.958 17.072 160.222 17.512ZM180.13 18.348C180.306 18.612 180.13 18.876 179.954 19.096C179.162 19.668 174.014 23.628 170.89 24.244C170.626 24.332 170.318 24.332 169.878 24.376C169.57 24.288 169.086 24.244 168.646 24.068C167.854 23.76 167.326 23.144 167.194 22.264C166.974 20.856 167.37 19.492 167.942 18.216C167.942 18.172 167.986 18.128 168.03 18.084C168.294 17.732 168.69 17.644 168.954 17.908C169.262 18.128 169.306 18.48 168.998 18.788C168.382 19.492 168.162 20.328 167.986 21.208C167.942 21.384 167.942 21.516 167.942 21.648C167.898 22.792 168.514 23.54 169.614 23.584C170.142 23.584 170.67 23.54 171.154 23.408C173.926 22.66 176.698 20.548 179.03 18.612C179.25 18.524 179.426 18.392 179.602 18.304C179.866 18.216 179.998 18.128 180.13 18.348ZM170.978 14.476C170.802 14.916 170.274 14.96 169.966 14.608C169.702 14.3 169.746 13.992 169.922 13.64C170.098 13.288 170.23 12.936 170.67 12.892C171.066 12.892 171.33 13.2 171.242 13.596C171.198 13.904 171.11 14.168 170.978 14.476ZM181.758 22.968C181.714 23.012 181.758 23.1 181.802 23.232C182.022 23.056 182.242 22.88 182.462 22.748C185.102 20.812 191.878 18.348 193.374 18.348C193.594 18.48 193.682 18.744 193.55 19.008C193.418 19.228 193.198 19.184 192.978 19.272C190.162 19.888 184.706 21.912 181.934 24.156C181.538 24.508 181.274 24.86 181.186 25.388C180.658 27.72 179.91 30.008 178.81 32.164C178.414 33 177.886 33.836 177.358 34.584C177.05 34.98 176.61 35.332 176.17 35.596C175.246 36.08 174.41 35.64 174.322 34.628C174.234 34.144 174.278 33.616 174.41 33.088C174.63 31.944 175.202 30.888 175.818 29.876C177.094 27.764 178.722 25.916 180.57 24.288C180.922 23.98 181.186 23.584 181.274 23.1C181.45 21.912 181.67 20.768 181.89 19.58C181.89 19.492 181.89 19.36 181.89 19.14C181.626 19.404 181.45 19.536 181.274 19.668C180.262 20.592 179.25 21.472 178.194 22.352C177.798 22.704 177.314 23.012 176.83 23.276C176.61 23.408 176.346 23.496 176.082 23.54C175.598 23.584 175.29 23.232 175.422 22.748C175.51 22.484 175.642 22.264 175.774 22.044C176.962 20.46 178.37 19.096 180.174 18.216C180.658 17.952 181.186 17.776 181.758 17.688C182.594 17.6 182.902 18.084 182.682 18.92C182.33 20.24 182.066 21.604 181.758 22.968ZM180.57 25.916C180.57 25.784 180.614 25.652 180.614 25.52C180.57 25.476 180.57 25.476 180.526 25.432C180.174 25.784 179.822 26.136 179.47 26.532C178.018 28.116 176.698 29.788 175.818 31.812C175.554 32.384 175.378 32.956 175.246 33.572C175.158 33.968 174.938 34.54 175.378 34.804C175.862 35.068 176.258 34.628 176.522 34.276C177.006 33.704 177.49 33.044 177.886 32.384C179.074 30.36 179.91 28.16 180.57 25.916ZM179.514 19.844C178.854 20.064 178.15 20.636 177.666 21.428C178.282 20.9 178.898 20.372 179.514 19.844ZM197.54 21.868C197.672 20.812 197.804 20.24 197.98 18.964C197.584 19.316 197.32 19.58 197.056 19.8C196.396 20.284 195.736 20.812 195.076 21.296C194.768 21.516 194.372 21.648 194.02 21.736C193.404 21.868 192.92 21.516 192.876 20.9C192.788 19.712 193.14 18.656 193.756 17.644C194.02 17.204 194.504 17.16 194.856 17.424C195.296 17.732 195.296 18.436 194.812 18.568C194.24 18.744 194.108 19.184 193.976 19.624C193.888 19.932 193.8 20.284 193.712 20.768C193.976 20.68 194.328 20.504 194.416 20.46C194.9 20.152 195.208 19.976 195.648 19.624C196.352 19.052 197.012 18.48 197.716 17.908C197.98 17.688 198.288 17.38 198.684 17.644C199.036 17.908 198.86 18.26 198.772 18.568C198.596 19.624 198.376 20.152 198.2 21.164C198.112 21.824 
29198.068 22.528 198.112 23.188C198.2 24.156 198.816 24.508 199.696 24.156C200.18 23.98 201.016 23.496 201.412 23.188C202.864 22.044 205.724 19.008 206.076 18.612C206.164 18.436 206.648 18.04 206.868 18.304C207.132 18.568 206.604 18.876 206.516 19.008C206.296 19.316 202.952 23.188 200.884 24.376C200.444 24.64 200.004 24.816 199.52 24.904C198.42 25.168 197.672 24.64 197.54 23.54C197.496 22.968 197.496 22.396 197.54 21.868ZM216.99 18.26C217.21 18.524 216.506 19.14 216.066 19.448C215.89 19.624 211.446 22.264 208.586 22.484C207.926 22.528 207.222 22.44 206.562 22.264C205.814 22.044 205.374 21.428 205.374 20.548C205.374 20.02 205.462 19.624 205.77 19.14C206.166 18.568 206.562 17.908 207.134 17.468C207.442 17.248 207.794 17.072 208.146 16.94C208.586 16.808 209.07 17.028 209.29 17.38C209.554 17.776 209.554 18.216 209.246 18.524C208.982 18.876 208.674 19.184 208.278 19.404C207.486 19.844 206.65 20.24 205.814 20.68C205.858 21.428 206.078 21.78 206.782 22C207.706 22.264 208.63 22.176 209.51 21.956C211.71 21.384 213.69 20.416 215.538 19.14C215.802 18.964 216.022 18.7 216.286 18.436C216.638 18.128 216.77 18.04 216.99 18.26ZM208.366 17.908C207.53 17.996 207.002 18.568 206.518 19.228C207.266 19.008 207.926 18.612 208.366 17.908ZM234.431 18.04C234.827 18.084 235.047 18.48 234.959 18.788C234.871 19.052 234.607 19.184 234.211 19.14C233.771 19.14 233.331 19.096 232.935 19.228C232.099 19.492 231.263 19.712 230.471 20.108C228.843 20.9 227.215 21.736 225.631 22.572C225.279 22.748 225.059 23.012 224.883 23.32C223.255 26.136 221.143 28.512 218.591 30.492C217.843 31.108 217.007 31.548 216.127 31.988C215.643 32.208 215.071 32.252 214.587 32.208C213.839 32.208 213.443 31.592 213.663 30.888C213.839 30.448 214.059 29.964 214.411 29.656C215.071 28.908 215.775 28.204 216.567 27.588C218.987 25.608 221.627 23.98 224.311 22.352C224.619 22.176 224.971 22.088 225.103 21.692C225.323 21.076 225.499 20.504 225.367 19.888C225.279 19.404 224.971 19.14 224.443 19.184C224.047 19.184 223.651 19.272 223.299 19.36C222.375 19.624 221.495 19.932 220.615 20.196C220.263 20.328 219.911 20.46 219.691 20.108C219.471 19.712 219.823 19.492 220.043 19.228C220.879 18.392 221.759 17.512 222.595 16.632C222.815 16.412 222.991 16.06 223.167 15.796C223.123 15.752 223.079 15.708 223.035 15.664C222.771 15.708 222.507 15.752 222.243 15.84C220.747 16.412 219.383 17.16 218.151 18.172C217.843 18.392 217.491 18.656 217.755 19.184C217.843 19.404 217.711 19.756 217.447 19.8C217.227 19.888 216.919 19.844 216.699 19.756C216.303 19.536 216.171 18.92 216.435 18.436C216.567 18.128 216.831 17.82 217.095 17.6C218.591 16.324 220.263 15.4 222.155 14.872C222.463 14.784 222.771 14.784 223.079 14.784C223.827 14.828 224.179 15.356 223.915 16.06C223.783 16.368 223.563 16.676 223.343 16.984C222.771 17.6 222.155 18.172 221.583 18.788C221.495 18.876 221.451 18.964 221.275 19.184C221.759 19.052 222.111 18.92 222.507 18.832C223.035 18.744 223.563 18.568 224.135 18.524C225.323 18.436 226.071 19.184 225.939 20.416C225.895 20.724 225.807 21.076 225.763 21.472C225.983 21.384 226.159 21.34 226.291 21.252C227.743 20.504 229.151 19.756 230.603 19.096C231.483 18.656 232.451 18.348 233.375 18.084C233.683 17.952 234.079 17.952 234.431 18.04ZM223.915 23.936C224.003 23.804 224.047 23.672 224.179 23.408C223.343 23.936 222.639 24.332 221.935 24.772C219.955 26.004 218.019 27.236 216.259 28.776C215.687 29.26 215.203 29.832 214.719 30.404C214.499 30.668 214.235 30.976 214.367 31.416C214.983 31.592 215.203 31.68 215.731 31.416C216.523 31.064 217.271 30.712 217.975 30.228C220.351 28.512 222.331 26.4 223.915 23.936Z' fill='%23101010'/%3E%3C/svg%3E%0A") left/contain no-repeat;}@media (max-width: 1980px){:root{--padding:var(--lp-grid-gap-large);}}@media (max-width: 1024px){:root{--padding:var(--lp-grid-gap-medium);}}@media (max-width: 560px){:root{--padding:var(--lp-grid-gap-small);}}@media(max-width:560px){:root{--custom-h1-size:80px;--custom-h2-size:60px;--custom-h3-size:35px;}}h1,h2,h3,h4,h5,h6{text-transform:uppercase!important;letter-spacing:1px;font-weight:300!important;}.custom-title-container{position:relative;}.custom-title-container.big h2{font-size:var(--custom-h1-size);}@media(max-width:560px){.custom-title-container.big h2{margin-bottom:20px!important;font-size:70px;}}.custom-title-container h2{font-size:var(--custom-h2-size);}@media(max-width:560px){.custom-title-container h2{margin-bottom:20px!important;font-size:60px;}}.custom-title-container .signature{position:absolute;font-family:Northwell;font-weight:400;font-style:italic;font-size:55px;margin:0;}@media(max-width:992px){.custom-title-container .signature{font-size:55px;}}@media(max-width:769px){.custom-title-container .signature{font-size:45px;}}
29@media(max-width:560px){.custom-title-container .signature{font-size:35px;}}.custom-title-container.beige{color:var(--custom-beige);}.custom-title-container.beige .signature{color:var(--custom-dark);}.custom-title-container.white{color:var(--custom-off-white);}.custom-title-container.white .signature{color:var(--custom-dark);}.custom-title-container.top .signature{top:0;}.custom-title-container.top h2{padding-top:.5rem;}.custom-title-container.bottom{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:end;-webkit-box-align:end;-ms-flex-align:end;align-items:end;position:relative;}.custom-title-container.bottom .signature{bottom:0;right:0;}.custom-title-container.bottom h2{padding-top:.5rem;}.lp-btn{border-radius:0!important;border-top-width:0!important;border-left-width:0!important;border-right-width:0!important;font-weight:500!important;letter-spacing:1px;font-size:14px;}.lp-btn .lp-btn__content{padding:0;}.lp-btn .lp-btn__content::after{display:none;}.custom-link{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;}.custom-link.dark::before,.custom-link.dark::after{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(110, 99, 89, 0.35);-webkit-transition:0.3s;transition:0.3s;}.custom-link.dark::after{width:0;background:var(--custom-dark-brown);}.custom-link.dark:hover::after{width:100%;}.custom-link.light::before,.custom-link.light::after{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(255, 255, 255, .5);-webkit-transition:0.3s;transition:0.3s;}.custom-link.light::after{width:0;background:var(--custom-white);}.custom-link.light:hover::after{width:100%;}nav#global-navbar .header-navigation__link{-webkit-transition:0.3s;transition:0.3s;letter-spacing:1px;}nav#global-navbar .header-navigation__link:hover{opacity:0.5;}nav#global-navbar .header-navigation__link::before{display:none;}nav#global-navbar .skiptranslate.goog-te-gadget .VIpgJd-ZVi9od-xl07Ob-lTBxed{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:6px;}nav#global-navbar .skiptranslate.goog-te-gadget .VIpgJd-ZVi9od-xl07Ob-lTBxed span:last-child{font-size:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav#global-navbar .skiptranslate.goog-te-gadget .VIpgJd-ZVi9od-xl07Ob-lTBxed span:last-child::before{content:'';display:inline-block;position:relative;width:10px;height:10px;border-bottom:1px solid var(--custom-white);border-right:1px solid var(--custom-white);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);top:-3px;}nav#global-navbar .header.scroll .skiptranslate.goog-te-gadget .VIpgJd-ZVi9od-xl07Ob-lTBxed span:last-child::before{border-bottom:1px solid var(--custom-brown-1);border-right:1px solid var(--custom-brown-1);}.page-properties nav#global-navbar .header{color:var(--custom-dark-brown)!important;}.page-properties nav#global-navbar .header .header-logo .header-logo__img--dark{display:block;}.page-properties nav#global-navbar .header .header-hamburger-btn:hover{color:var(--custom-dark-brown);}.page-properties nav#global-navbar .skiptranslate.goog-te-gadget .VIpgJd-ZVi9od-xl07Ob-lTBxed span:last-child::before{border-color:var(--custom-brown-1);}nav#global-navbar .header{background:transparent!important;}nav#global-navbar .header .header-navigation{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:end;justify-content:end;padding-right:50px;}nav#global-navbar .header .header-buttons-wrapper .header-hamburger-btn{border:0;gap:4px;background:transparent;}nav#global-navbar .header .header-buttons-wrapper .header-hamburger-btn:hover{opacity:.7;}nav#global-navbar .header .header-buttons-wrapper .header-hamburger-btn::before,nav#global-navbar .header .header-buttons-wrapper .header-hamburger-btn::after{height:2px;}nav#global-navbar .header.scroll{background:var(--custom-white)!important;color:var(--custom-dark-brown)!important;}nav#global-navbar .header.scroll .header-logo .header-logo__img--dark{display:block;}nav#global-navbar .header.scroll .header-logo .header-logo__img--ligth{display:none;}nav#global-navbar .header.scroll .header-hamburger-btn:hover{color:var(--custom-dark-brown);}@media(max-width:992px){div#global-sidemenu .sidemenu-wrapper{-webkit-box-pack:start;-ms-flex-pack:start;
29-webkit-justify-content:start;justify-content:start;}div#global-sidemenu .sidemenu-wrapper .sidemenu-navigation-sub-nav{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:20px 30px!important;}}@media(max-width:769px){div#global-sidemenu{padding-top:60px!important;}div#global-sidemenu .sidemenu-wrapper .sidemenu-navigation__link.sidemenu-navigation__link--active+.sidemenu-navigation-sub-nav{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important;gap:12px!important;-webkit-box-flex-wrap:unset!important;-webkit-flex-wrap:unset!important;-ms-flex-wrap:unset!important;flex-wrap:unset!important;}}div#global-sidemenu{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background:#fff!important;}div#global-sidemenu .sidemenu-close{right:var(--padding);border:0;-webkit-transition:.3s;transition:.3s;background:transparent;}@media(max-width:769px){div#global-sidemenu .sidemenu-close{top:10px;right:10px;}}div#global-sidemenu .sidemenu-close:hover{opacity:.6;}div#global-sidemenu .sidemenu-close::after{background:var(--custom-brown-1);}div#global-sidemenu .sidemenu-footer{display:none;}div#global-sidemenu .sidemenu-wrapper{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;--gap:30px;}@media(max-width:769px){div#global-sidemenu .sidemenu-wrapper{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:start;justify-content:start;}}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--gap);}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation{gap:var(--gap);}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation__item{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation__link{text-transform:uppercase;letter-spacing:1px;font-size:40px;color:var(--custom-dark);}@media(max-width:560px){div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation__link{font-size:30px;}}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation__link:hover:not(.sidemenu-navigation__link--sub-nav){opacity:.5;}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation-sub-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:30px;}@media(min-width:769px){div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation-sub-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation-sub-nav .sidemenu-navigation-sub-nav__item{margin:0;padding:0;}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation-sub-nav .sidemenu-navigation-sub-nav__link{text-transform:uppercase;font-size:12px;letter-spacing:1px;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:.3s;transition:.3s;}div#global-sidemenu .sidemenu-wrapper .sidemenu-nav-holder .sidemenu-navigation .sidemenu-navigation-sub-nav .sidemenu-navigation-sub-nav__link:hover{opacity:.5;}.sidemenu-navigation__item{position:relative;}.sidemenu-navigation__item::before,.sidemenu-navigation__item::after{content:"";position:fixed;width:280px;height:180px;-webkit-background-size:cover;background-size:cover;-webkit-background-position:center;background-position:center;opacity:0;pointer-events:none;z-index:-1;-webkit-transition:all 0.6s cubic-bezier(0.19, 1, 0.22, 1);transition:all 0.6s cubic-bezier(0.19, 1, 0.22, 1);}@media(max-width:992px){.sidemenu-navigation__item::before,.sidemenu-navigation__item::after{display:none;}}.sidemenu-navigation__item::before{top:40%;left:8%;}.sidemenu-navigation__item::after{bottom:15%;right:12%;}@media(max-width:1200px){.sidemenu-navigation__item::after{bottom:8%;right:5%;}}.sidemenu-navigation__item:has(a[href="/"])::before{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fb63ce05-e72e-4dc4-97c2-8ed7f23dcb36');}.sidemenu-navigation__item:has(a[href="/"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3a8a4
29c0c-81c2-4477-969b-ff7893c8ff3d');}.sidemenu-navigation__item:has(a[href*="about"])::before{background-image:url('https://media-production.lp-cdn.com/media/7d41cbbd-ffc3-4573-a64f-27e73b3a1930');}.sidemenu-navigation__item:has(a[href*="about"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ff94051d-6f5e-4943-9f97-a9e53f6b757b');}.sidemenu-navigation__item:has(a[href*="properties"])::before{background-image:url('https://media-production.lp-cdn.com/media/58899e50-aca6-4fb4-bec1-2fab131903a9');}.sidemenu-navigation__item:has(a[href*="properties"])::after{background-image:url('https://media-production.lp-cdn.com/media/81e035b5-8e82-4607-9694-6e04bb76512f');}.sidemenu-navigation__item:has(a[href*="neighborhoods"])::before,.sidemenu-navigation__item:has(a[href*="communities"])::before{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/881d78f3-18f3-44c9-8180-8792e930879e');}.sidemenu-navigation__item:has(a[href*="neighborhoods"])::after,.sidemenu-navigation__item:has(a[href*="communities"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d95b193a-7c92-445c-9235-0237805d9e3d');}.sidemenu-navigation__item:has(a[href*="global-collective"])::before,.sidemenu-navigation__item:has(a[href*="global-collective"])::before{background-image:url('https://media-production.lp-cdn.com/media/58899e50-aca6-4fb4-bec1-2fab131903a9');}.sidemenu-navigation__item:has(a[href*="global-collective"])::after,.sidemenu-navigation__item:has(a[href*="global-collective"])::after{background-image:url('https://media-production.lp-cdn.com/media/81e035b5-8e82-4607-9694-6e04bb76512f');}.sidemenu-navigation__item:has(a[href*="developers"])::before,.sidemenu-navigation__item:has(a[href*="developers"])::before{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/e669686b-2e78-445d-962c-c3745bd0e37d');}.sidemenu-navigation__item:has(a[href*="developers"])::after,.sidemenu-navigation__item:has(a[href*="developers"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/a8428231-f7c7-4633-b6b9-443c44b655cb');}.sidemenu-navigation__item:has(a[href*="blog"])::before,.sidemenu-navigation__item:has(a[href*="blog"])::before{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/e211f387-612c-4f65-8a12-63c971918900');}.sidemenu-navigation__item:has(a[href*="blog"])::after,.sidemenu-navigation__item:has(a[href*="blog"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/280cc89f-e13c-41fa-a8dd-faec8298d2d5');}.sidemenu-navigation__item:has([data-type="CONTACT_US"])::before,.sidemenu-navigation__item:has(a[href*="contact"])::before{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/a763ca77-bebf-4364-ac0c-28af179614d5');}.sidemenu-navigation__item:has([data-type="CONTACT_US"])::after,.sidemenu-navigation__item:has(a[href*="contact"])::after{background-image:url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d079a746-d974-4373-95ac-a74f3f307627');}.sidemenu-navigation__item:hover::before{opacity:1;}.sidemenu-navigation__item:hover::after{opacity:1;transition-delay:0.05s;}footer#global-footer .footer{max-width:1400px;padding-top:120px;padding-bottom:120px;}@media(max-width:769px){footer#global-footer .footer{padding-top:64px;padding-bottom:100px;}}footer#global-footer .footer .footer-logos-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;
29-webkit-justify-content:center;justify-content:center;margin-bottom:40px;gap:40px;}footer#global-footer .footer .footer-logos-row .footer-logo{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:100%;max-height:98px;}footer#global-footer .footer .footer-logos-row .footer-logo:nth-child(1){-webkit-order:-1;-ms-flex-order:-1;order:-1;}footer#global-footer .footer .footer-logos-row .footer-logo:nth-child(2){-webkit-order:2;-ms-flex-order:2;order:2;}footer#global-footer .footer .footer-logos-row::before{content:'';display:block;position:relative;width:1px;height:98px;-webkit-order:1;-ms-flex-order:1;order:1;background:var(--custom-brown-1);opacity:0.3;}footer#global-footer .footer .footer-contact-row{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom-color:rgba(141, 132, 121, 0.3);margin-bottom:40px;padding-bottom:40px;gap:0;}footer#global-footer .footer .footer-contact-row .lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}footer#global-footer .footer .footer-contact-row .footer-info{border:0;padding:0;margin:0;gap:0;min-width:100%;max-width:unset;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col{padding:0;margin:0;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:100%;min-width:100%;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content{width:100%;min-width:100%;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-title{display:none;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description{max-width:unset;white-space:normal;font-weight:400;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer{width:100%;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:40px;gap:5px;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .top .title{text-transform:uppercase;font-weight:600;color:var(--custom-dark-brown);letter-spacing:1px;margin-bottom:6px;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .top p{margin:0;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:40px;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom .broker{margin:0;text-transform:uppercase;color:var(--custom-dark-brown);font-weight:600;letter-spacing:1px;}footer#global-footer .footer .footer-contact-row .footer-info .footer__c
29ol .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom .custom-address-grid{display:-ms-grid;display:grid;-ms-grid-columns:repeat(3, 1fr);grid-template-columns:repeat(3, 1fr);gap:30px;margin-top:20px;}@media(max-width:769px){footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom .custom-address-grid{-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);gap:15px;}}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom .custom-address-grid .item{text-align:center;}footer#global-footer .footer .footer-contact-row .footer-info .footer__col .footer__section-content .footer__col-content .footer__col-description .custom-footer .bottom .custom-address-grid .item p{margin:0;}footer#global-footer .footer .footer-disclaimer-row{text-align:center;margin-top:0;margin-bottom:40px;padding:0;}footer#global-footer .footer .footer-disclaimer-row img{-webkit-filter:invert(1);filter:invert(1);}footer#global-footer .footer .footer-disclaimer-row p{margin:0;}footer#global-footer .footer .footer-disclaimer-row .compliance-links{margin-bottom:10px;}footer#global-footer .footer .footer-disclaimer-row .compliance-links a{color:unset;}@media(max-width:769px){footer#global-footer .footer .footer-bottom-row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;}}@media(max-width:769px){footer#global-footer .footer .footer-bottom-row .footer-copyright .footer-copyright__powered{margin-top:10px;}}footer#global-footer .footer .footer-bottom-row .footer-copyright a{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto!important;}footer#global-footer .footer .footer-bottom-row .footer-copyright a::before,footer#global-footer .footer .footer-bottom-row .footer-copyright a::after{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(110, 99, 89, 0.35);-webkit-transition:0.3s;transition:0.3s;}footer#global-footer .footer .footer-bottom-row .footer-copyright a::after{width:0;background:var(--custom-dark-brown);}footer#global-footer .footer .footer-bottom-row .footer-copyright a:hover::after{width:100%;}footer#global-footer .footer .footer-bottom-row .footer-copyright .footer-copyright__privacy-policy{margin:0;padding:0;border:0;}footer#global-footer .footer .footer-bottom-row .footer-copyright .footer-copyright__privacy{border:0;margin:0;padding:0;}footer#global-footer .footer .footer-bottom-row .footer-copyright .footer-copyright__privacy span:not(.auto-year-update){border-left:1px solid rgba(0, 0, 0, .2);border-right:1px solid rgba(0, 0, 0, .2);display:inline-block;margin-left:15px;padding-left:15px;margin-right:15px;padding-right:15px;}@media(max-width:769px){footer#global-footer .footer .footer-bottom-row .footer-copyright .footer-copyright__privacy span:not(.auto-year-update){border:0;}}@media(max-width:400px){#global-mobile-contact .floating-contact-button-pop-up{height:100%;overflow:scroll;border:0!important;border-radius:0!important;}#global-mobile-contact .floating-contact-button-pop-up .floating-contact-button-pop-up__close{padding:0!important;margin:0!important;position:absolute;top:20px;right:10px;}}div#global-mobile-contact .floating-contact-button__btn-connect{background:linear-gradient(105.37deg, #866439 17.32%, #AF8E63 34.39%, #866439 70.33%, #C2A681 77.94%);border:0;letter-spacing:1px;}div#global-mobile-contact .floating-contact-button__btn-connect::after{display:none;}div#global-mobile-contact .floating-contact-button-pop-up{background:var(--custom-beige-2)!important;}div#global-mobile-contact .floating-contact-button-pop-up .lp-input{border-radius:0;background:transparent;-webkit-transition:.3s;transition:.3s;border:0;border-bottom:1px solid var(--custom-brown-op);}div#global-mobile-contact .floating-contact-button-pop-up .lp-input:hover{border-color:var(--custom-dark);}div#global-mobile-contact .floating-contact-button-pop-up .custom-select-toggle::after{width:16px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}div#global-mobile-contact .floating-contact-button-pop-up .custom-select-menu{border-radius:0;border:0;}div#global-mobile-contact .floating-contact-button-pop-up .custom-select-content{background:#fff;}div#global-mobile-contact .floating-contact-button-pop-up .custom-select-content .custom-select-item{font-weight:400;letter-spacing:1px;background:transparent;-webkit-transition:.3s;transition:.3s;color:var(--custom-dark);}div#global-mobile-contact .floating-contact-button-pop-up .custom-select-content .custom-select-item:hover,div#global-mobile-contact .floating-contact-button-pop-up .custom-select-content .custom-select-item.is-selected{opacity:.5;}div#global-mobile-contact .lp-tcr-message{opacity:.6;}div#global-mobile-contact .floating-contact-button-pop-up__btn-submit{background:transparent;color:var(--custom-dark-brown);font-size:12px;letter-spacing:1px;border:0;border-bottom:1px solid var(--custom-brown-op);}div#global-mobile-contact .floating-contact-button-pop-up__btn-submit:hover{color:var(--custom-dark);border-color:var(--custom-dark);}@media(min-width:992px){section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro){background-attachment:fixed;-webkit-background-position:bottom;background-position:bottom;}}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro)::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background:#000;opacity:.4;z-index:1;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro{height:80vh;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__overlay,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__overlay,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__overlay,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__overlay,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__overlay{display:none;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__content-wrapper,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__content-wrapper,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__content-wrapper,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__content-wrapper,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__content-wrapper{-webkit-box-pack:start;-ms-flex-pack:start;
29-webkit-justify-content:start;justify-content:start;-webkit-align-items:end;-webkit-box-align:end;-ms-flex-align:end;align-items:end;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__content-box,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__content-box,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__content-box,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__content-box,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__content-box{background:transparent;color:var(--custom-off-white);max-width:unset;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0;padding-bottom:60px;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__pre-title{font-family:Northwell;font-weight:400;font-style:italic;font-size:50px;text-transform:none;margin:0;padding:0;position:absolute;top:0;left:0;color:var(--custom-dark);z-index:2;text-shadow:0 0 10px rgba(255, 255, 255, 0.2),0 0 5px rgba(255, 255, 255, 0.2);}@media(max-width:560px){section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__pre-title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__pre-title{font-size:40px;}}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__title{color:var(--custom-off-white);margin:0;padding:0;font-size:80px;margin-top:1rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;text-align:left;}@media(max-width:560px){section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__title,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__title{font-size:60px;}}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__title::before,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__title::before,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__title::before,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__title::before,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__title::before{display:none;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__description,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__description,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__description,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__description,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__description{dis
29play:none;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .custom-intro__scroll-btn,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro__scroll-btn,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .neighborhood-intro__scroll-btn,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .agent-intro__scroll-btn,section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .development-intro__scroll-btn{display:none;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro .blog-post-intro__title{font-size:40px!important;max-width:1000px;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro .blog-post-intro__content-box{margin:0;padding:0;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro .blog-post-intro__author-content{display:none;}section:has(.custom-intro, .blog-post-intro, .neighborhood-intro, .agent-intro, .development-intro) .blog-post-intro .blog-post-intro__content-wrapper{height:calc(100% - 60px);}section:has(.custom-team-slider-devs) .text{font-family:var(--lp-body-font-family);color:var(--custom-text-dark);font-weight:400;font-size:15px;max-width:600px;margin-top:20px;}section:has(.custom-team-slider-devs) .auto-scroll-agents-slider__name-vertical{bottom:75px;}section:has(.custom-team-slider-devs) .auto-scroll-agents-slider__name-script{font-family:Northwell;padding-left:40px;bottom:30px;z-index:20;position:relative;}section:has(.custom-team-slider-devs) .auto-scroll-agents-slider__card{overflow:visible;}section:has(.custom-gsm) .media-blocks .media-blocks-container{padding:0;}section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-left:unset;max-width:unset;padding-left:var(--padding);padding-right:var(--padding);}section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle{white-space:normal;}section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:end;-webkit-box-align:end;-ms-flex-align:end;align-items:end;position:relative;}section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container h2{margin-top:0;margin-bottom:2.5rem;text-align:left;}@media(max-width:840px){section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container h2{margin:0;}}section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container .signature{position:absolute;bottom:0;}@media(max-width:840px){section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container .signature{position:relative;top:-60px;text-align:right;margin-bottom:-40px;}}@media(max-width:560px){section:has(.custom-gsm) .media-blocks .media-blocks-container .lp-title-group .media-blocks-title-subtitle .custom-title-container .signature{top:-40px;}}section:has(.custom-gsm) .media-blocks .media-blocks-grid{margin:0;display:-ms-grid;display:grid;-ms-grid-columns:repeat(3, 1fr);grid-template-columns:repeat(3, 1fr);gap:0;}@media(max-width:992px){section:has(.custom-gsm) .media-blocks .media-blocks-grid{-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);}}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item{min-width:100%;max-width:100%;padding:0;margin:0;position:relative;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item:hover .video-wrapper{opacity:1!important;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item:hover .media-blocks-grid__image{opacity:0!important;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__image{padding:0;height:auto;width:100%;aspect-ratio:480/545;position:relative;background:transparent;margin:0;opacity:1;-webkit-transition:opacity 0.5s ease,visibility 0s 0.5s;transition:opacity 0.5s ease,visibility 0s 0.5s;}@media(max-width:992px){section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__image{aspect-ratio:16/9;}}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__image::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background:#000;z-index:1;opacity:.25;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__image img{object-fit:cover;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;max-width:unset;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__title,section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__button{display:none;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description{margin:0;padding:0;height:100%;min-height:100%;display:block;position:relative;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container{height:100%;min-height:100%;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;
29-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:4;color:#fff;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container .gsm-link{position:absolute;width:100%;height:100%;font-size:0;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container .pretitle{text-transform:uppercase;font-weight:500;font-size:14px;margin-bottom:40px;}@media(max-width:560px){section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container .pretitle{margin-bottom:10px;}}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container .gsm-name{margin:0;font-size:35px;padding-left:20px;padding-right:20px;}@media(max-width:560px){section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .custom-text-container .gsm-name{font-size:28px;}}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .video-wrapper{position:absolute;top:0;width:100%;height:100%;opacity:0;-webkit-transition:opacity 0.5s ease,visibility 0s 0.5s;transition:opacity 0.5s ease,visibility 0s 0.5s;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .video-wrapper::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background:#000;opacity:.2;}section:has(.custom-gsm) .media-blocks .media-blocks-grid .media-blocks-grid__item .media-blocks-grid__text .media-blocks-grid__description .video-wrapper video{width:100%;height:100%;object-fit:cover;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__title-group,section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__description{max-width:unset;white-space:normal;margin-bottom:20px;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__item{height:100%;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__item:hover .property-showcase-slider__image{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide{height:630px;}@media(max-width:769px){section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide{height:500px;}}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__image-wrapper{overflow:hidden;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__image-wrapper::before{content:'';display:block;position:absolute;inset:unset!important;bottom:0!important;width:100%;height:50%;background-image:linear-gradient(to top, rgba(46, 39, 35, 1), rgba(46, 39, 35, 0));opacity:.8;z-index:1;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__image{height:100%;-webkit-transition:.3s;transition:.3s;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__property-status{display:none;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info{z-index:3;background:transparent;color:#fff;width:100%;padding:40px;bottom:0;background:transparent;min-height:unset;}@media(max-width:769px){section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info{padding:20px;}}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info::before{display:none;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info .property-showcase-slider__item-name{text-transform:unset!important;font-weight:400!important;letter-spacing:1px;font-family:var(--lp-body-font-family);font-size:14px;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info .property-showcase-slider__item-price{font-size:22px;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__slide .property-showcase-slider__item-info .property-showcase-slider__item-features{display:none;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__controls{width:calc(100% - 40px * 2);padding-top:30px;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__controls .lp-arrow{border:0;}section:has(.custom-properties-slider) .property-showcase-slider__container .property-showcase-slider__controls .lp-arrow::after{-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;width:18px;}section:has(.custom-press-slider) div.press-list.lp-container{padding-top:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__title-group{max-width:unset;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__title-group .press-list__description{white-space:normal;opacity:1;margin:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__title-group .press-list__description .custom-title-container{text-align:left;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;
29-webkit-justify-content:end;justify-content:end;-webkit-align-items:end;-webkit-box-align:end;-ms-flex-align:end;align-items:end;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__title-group .press-list__description .custom-title-container .lp-h2{margin-top:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__title-group .press-list__description .custom-title-container .signature{position:absolute;bottom:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection{display:-ms-grid!important;display:grid!important;-ms-grid-columns:65% 1fr;grid-template-columns:65% 1fr;-ms-grid-rows:repeat(3, 1fr);grid-template-rows:repeat(3, 1fr);gap:0px!important;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative!important;}@media (max-width: 992px){section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection{-ms-grid-columns:repeat(1, 1fr)!important;grid-template-columns:repeat(1, 1fr)!important;-ms-grid-rows:repeat(4, 1fr);grid-template-rows:repeat(4, 1fr);}}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured{-ms-grid-column:1;-ms-grid-column-span:1;grid-column:1/2;-ms-grid-row:1;-ms-grid-row-span:4;grid-row:1/5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:100%;max-width:100%;}@media (max-width: 992px){section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured{width:100%;-ms-grid-column:2!important;-ms-grid-column-span:1!important;grid-column:2/3!important;margin-bottom:40px;}}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__image-container{width:100%!important;min-width:unset!important;max-width:unset!important;height:auto;aspect-ratio:16/9;min-height:600px;margin:0;}@media (max-width: 769px){section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__image-container{min-height:450px;}}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__image-container::before{content:'';display:block;position:absolute;inset:0;background-image:linear-gradient(to top, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));width:100%;height:100%;z-index:1;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__image-container img{object-position:50% 15%!important;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block{position:absolute;bottom:0;left:0;-webkit-transform:unset;-moz-transform:unset;-ms-transform:unset;transform:unset;margin:0;min-width:unset;max-width:unset;width:100%;background:transparent;padding-bottom:32px;padding-left:24px;color:#fff;z-index:2;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__details{opacity:1;font-size:14px;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__text{border:0;padding:0;margin:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__text .press-list-item__title{max-width:70%;font-size:28px;text-transform:uppercase;}@media (max-width: 769px){section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__text .press-list-item__title{font-size:24px;max-width:100%;}}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__text .press-list-item__description{dis
29play:none;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item.is-featured .press-list-item__text-block .press-list-item__more{display:none;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured){-ms-grid-column:2!important;-ms-grid-column-span:1!important;grid-column:2/3!important;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;border-bottom:1px solid var(--custom-beige-2);width:calc(100% - 40px);margin-left:auto;min-width:unset;max-width:unset;height:100%!important;padding:30px 0;-webkit-transition:.3s;transition:.3s;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured):hover{opacity:.6;}@media (max-width: 992px){section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured){width:100%;padding-bottom:30px;}}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__image-container{display:none;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block{border:0;margin:0;padding:0;min-width:unset;max-width:unset;background:transparent!important;color:var(--custom-dark);padding:0 24px;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block .press-list-item__text{border:0;margin:0;padding:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block .press-list-item__details{opacity:1;font-size:14px;margin-bottom:14px;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block .press-list-item__title{text-transform:uppercase;font-size:26px!important;margin-bottom:0;margin-top:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block .press-list-item__description,section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:not(.is-featured) .press-list-item__text-block .press-list-item__more{display:none;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:nth-child(4n + 4){border:0;padding-bottom:0;}section:has(.custom-press-slider) div.press-list.lp-container .press-list__collection .press-list-item:nth-child(4n + 2){padding-top:0;}section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:15px;}section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #prevPress,section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #nextPress{font-size:0!important;margin:0!important;-webkit-transition:.3s;transition:.3s;}section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #prevPress::before,section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #nextPress::before{content:'';display:block;position:relative;width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #prevPress:hover,section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #nextPress:hover{opacity:.7;}section:has(.custom-press-slider) div.press-list.lp-container .pagination-controls .nav-arrows #prevPress::before{-webkit-transform:scale
29X(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);}section:has(.custom-press-slider) div.press-list.lp-container .press-list__pagination{display:none;}section:has(.custom-video-slider) .gallery-style-menu-slider__container{padding-left:var(--padding);padding-right:var(--padding);-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}section:has(.custom-video-slider) .gallery-style-menu-slider-header{padding:0;margin-top:30px;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;margin-bottom:0;}section:has(.custom-video-slider) .gallery-style-menu-slider-header p{margin:0;}section:has(.custom-video-slider) .gallery-style-menu-slider-header .gallery-style-menu-slider-header__arrows .lp-arrow{border:0;background:transparent;}section:has(.custom-video-slider) .gallery-style-menu-slider-header .gallery-style-menu-slider-header__arrows .lp-arrow:hover{opacity:.7;}section:has(.custom-video-slider) .gallery-style-menu-slider-header .gallery-style-menu-slider-header__arrows .lp-arrow::after{content:'';display:block;position:relative;width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item{padding:0;margin-right:100px;position:relative;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item:hover .gallery-style-menu-slider-collection__img-cover img{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__card .gallery-style-menu-slider-collection__img-cover{height:auto;aspect-ratio:309/384;overflow:hidden;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__card .gallery-style-menu-slider-collection__img-cover::before{content:'';display:block;position:absolute;inset:0;background-image:linear-gradient(to top, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));width:100%;height:100%;z-index:1;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__card .gallery-style-menu-slider-collection__img-cover img{-webkit-transition:.3s;transition:.3s;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__card .gallery-style-menu-slider-collection__title{display:none;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description{position:absolute;bottom:0;left:0;margin:0;height:100%;width:100%;z-index:2;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .gallery-style-menu-slider-collection__card{display:none;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player{height:100%;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;
29-webkit-justify-content:end;justify-content:end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;bottom:0;text-align:center;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card .play-icon-cont{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card .play-icon{background:#fff;width:60px;aspect-ratio:1;border-radius:50%;background:rgba(255, 255, 255, 0.4);font-size:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:0.3s;transition:0.3s;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card .play-icon::before{content:'';display:block;position:relative;width:17px;aspect-ratio:1;-webkit-mask:var(--custom-play-icon) center/contain no-repeat;-webkit-mask:var(--custom-play-icon) center/contain no-repeat;mask:var(--custom-play-icon) center/contain no-repeat;background:#fff;right:-1px;}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card .play-icon:hover{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}section:has(.custom-video-slider) .gallery-style-menu-slider-collection .splide__list .gallery-style-menu-slider-collection__item .gallery-style-menu-slider-collection__description .custom-video-player .video-gallery-card h3{text-transform:none!important;font-size:28px;max-width:80%;}section:has(.custom-interactive-gsm) .text-editor{min-height:unset;}@media(min-width:992px){section:has(.custom-interactive-gsm) .text-editor{padding:0;}}section:has(.custom-interactive-gsm) .text-editor .text-editor-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;}@media(min-width:992px){section:has(.custom-interactive-gsm) .text-editor .text-editor-container{min-height:100vh;}}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm{height:100%;width:100%;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .pre-title{margin:0;letter-spacing:1px;font-weight:400;text-align:center;position:absolute;top:120px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:Northwell;text-transform:none;font-size:40px;z-index:10;}@media(max-width:992px){section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .pre-title{position:relative;-webkit-transform:unset;-moz-transform:unset;-ms-transform:unset;transform:unset;top:unset;left:unset;}}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .items-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;
29-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:30px;z-index:10;position:relative;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .items-container .item-container{-webkit-transition:0.6s;transition:0.6s;cursor:pointer;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .items-container .item-container h2{margin:0;text-align:center;}@media(max-width:820px){section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .items-container .item-container h2{font-size:var(--custom-h3-size);}}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .items-container .item-container:hover{color:var(--custom-dark-brown)!important;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-top-left,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-middle,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-bottom{position:absolute;pointer-events:none;z-index:1;font-size:0;height:auto;-webkit-transition:all 0.9s cubic-bezier(0.22, 1, 0.36, 1);transition:all 0.9s cubic-bezier(0.22, 1, 0.36, 1);}@media(max-width:820px){section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-top-left,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-middle,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-bottom{display:none;}}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-top-left{top:48px;left:var(--padding);width:100%;max-width:310px;aspect-ratio:276/178;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-middle{top:50%;right:var(--padding);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:100%;max-width:300px;aspect-ratio:255/167;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-bottom{bottom:var(--padding);left:40%;-webkit-transform:translateX(-40%);-moz-transform:translateX(-40%);-ms-transform:translateX(-40%);transform:translateX(-40%);width:100%;max-width:281px;aspect-ratio:281/129;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="sellers"] .img-top-left{top:60%;left:70%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="sellers"] .img-middle{top:10%;right:80%;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="sellers"] .img-bottom{bottom:40%;left:15%;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="devs"] .img-top-left{top:20%;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="devs"] .img-middle{top:75%;right:var(--padding);-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="devs"] .img-bottom{bottom:15%;left:10%;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm .img-reveal{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;-webkit-transition:opacity 0.5s ease;transition:opacity 0.5s ease;}section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="buyers"] .img-reveal.buyers,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="sellers"] .img-reveal.sellers,section:has(.custom-interactive-gsm) .text-editor .text-editor-container .custom-interactive-gsm[data-active="devs"] .img-reveal.devs{opacity:1;}section:has(.custom-properties-grid) .properties-list__title-group{dis
29play:none;}@media(max-width:560px){section:has(.custom-properties-grid) .properties-list .lp-btn{width:100%!important;background:var(--custom-brown-op);border:0;color:#fff;}section:has(.custom-properties-grid) .properties-list .lp-btn:hover{background:var(--custom-dark);}}section:has(.custom-properties-grid) .properties-list__filters .properties-list__input{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--custom-brown-op);}section:has(.custom-properties-grid) .properties-list__filters .properties-list__input:hover{border-color:var(--custom-dark);}section:has(.custom-properties-grid) .properties-list__filters .custom-select .custom-select-toggle.is-placeholder{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--custom-brown-op);}section:has(.custom-properties-grid) .properties-list__filters .custom-select .custom-select-toggle.is-placeholder:hover{border-color:var(--custom-dark);}section:has(.custom-properties-grid) .properties-list__filters .custom-select-menu.open{border:1px solid var(--custom-brown-op);border-radius:0;}section:has(.custom-properties-grid) .properties-list__filters .custom-select-item{background:transparent!important;}section:has(.custom-properties-grid) .properties-list__filters .custom-select-item.is-selected,section:has(.custom-properties-grid) .properties-list__filters .custom-select-item:hover{color:var(--custom-brown-1)!important;}section:has(.custom-properties-grid) .properties-list__filters .custom-select-toggle:after{background:var(--custom-brown-1);-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;}section:has(.custom-properties-grid) .properties-list__filters .lp-input-icon:after{background:var(--custom-brown-1);}section:has(.custom-properties-grid) .properties-list__filters .lp-input:not(:placeholder-shown){background:transparent;border:1px solid var(--custom-brown-1);}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__label{text-transform:uppercase;font-size:12px;letter-spacing:1px;font-weight:normal;}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__range .noUi-connects::before{background:var(--custom-brown-op);}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__range .noUi-connect{background:var(--custom-brown-op);}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__range .noUi-handle{background-color:var(--custom-brown-op);box-shadow:0 0 0 1px var(--custom-brown-op);}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__reset{color:var(--custom-brown-1);font-weight:400;}section:has(.custom-properties-grid) .properties-list-range__row .properties-list-range__reset:hover{color:var(--custom-dark);}section:has(.custom-properties-grid) .properties-list .properties-list__title-group{dis
29play:none;}section:has(.custom-properties-grid) .properties-list .properties-list__collection{display:-ms-grid;display:grid;-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);gap:var(--padding);}@media(max-width:769px){section:has(.custom-properties-grid) .properties-list .properties-list__collection{-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);}}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item{width:100%;max-width:100%;position:relative;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__bottom-block{display:none;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item:hover .properties-list-item__image-container::before{opacity:.8;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container{background:transparent;aspect-ratio:16/9;border-radius:0;}@media(max-width:1024px){section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container{aspect-ratio:16/16;}}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background-image:linear-gradient(to top, rgba(46, 39, 35, 1), rgba(46, 39, 35, 0));opacity:.5;z-index:2;-webkit-transition:.3s;transition:.3s;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container .properties-list-item__tag{border-radius:0;background:linear-gradient(105.37deg, #866439 17.32%, #AF8E63 34.39%, #866439 70.33%, #C2A681 77.94%);color:var(--custom-white);text-transform:uppercase;font-weight:500;font-size:12px;letter-spacing:1px;left:unset;right:10px;top:10px;opacity:1;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container .properties-list-item__open-houses{bottom:unset;top:10px;left:10px;border-radius:0;background:linear-gradient(105.37deg, #866439 17.32%, #AF8E63 34.39%, #866439 70.33%, #C2A681 77.94%);color:var(--custom-white);font-weight:300;font-size:11px;letter-spacing:.5px;max-width:170px;-webkit-line-clamp:unset;opacity:1;}@media(min-width:560px){section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__image-container .properties-list-item__open-houses{max-width:unset;}}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info{position:absolute;bottom:0;left:0;width:100%;z-index:99;color:#fff;height:unset;min-height:unset;padding:0;margin:0;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block{padding:20px;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block .properties-list-item__title{font-size:25px;letter-spacing:1px;}@media(max-width:560px){section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block .properties-list-item__title{font-size:20px;}}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block .properties-list-item__price{position:absolute;bottom:20px;right:20px;font-family:var(--lp-body-font-family);font-size:22px;}@media(max-width:1024px){section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block .properties-list-item__price{position:relative;-webkit-order:2;-ms-flex-order:2;order:2;bottom:unset;left:unset;right:unset;font-size:20px;margin-top:10px;}}@media(max-width:560px){section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__top-block .properties-list-item__price{font-size:18px;}}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__icons-row{gap:10px;}section:has(.custom-properties-grid) .properties-list .properties-list__collection .properties-list-item .properties-list-item__info .properties-list-item__icon-tag{color:#fff;padding:5px;margin:0;height:auto;background:transparent;border-radius:0;}section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-prev,section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-next{-webkit-transition:0.3s;transition:0.3s;}section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-prev:hover,section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-next:hover{opacity:0.6;cursor:pointer;}section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-prev a,section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-next a{border:0;}section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-prev a::after,section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-next a::after{content:'';display:block;position:relative;width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-page a,section:has(.custom-properties-grid) .properties-list .pagination-container .paginationjs-ellipsis a{border:0;}section:has(.custom-accordion-items){overflow:visible;}section:has(.custom-accordion-items) .accordion-tabs__accordion{max-width:1400px;margin:0 auto;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header{padding:30px;width:100%;margin:0;background:transparent;border-bottom:1px solid var(--custom-brown-op);-webkit-transition:.3s;transition:.3s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;
29-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;}@media(max-width:769px){section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header{padding:20px;}}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header.is-active,section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header:hover{border-color:var(--custom-dark);}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header .accordion-tabs__accordion-title{color:var(--custom-text-dark);margin-bottom:20px;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header .accordion-tabs__accordion-opener{margin:0;border:0;-webkit-transition:0.3s;transition:0.3s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header .accordion-tabs__accordion-opener:hover{opacity:0.6;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-header .accordion-tabs__accordion-opener::before{content:'';display:block;position:relative;width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);left:unset;top:unset;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active{padding:30px;width:100%;margin:0;background:transparent;}@media(max-width:769px){section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active{padding:var(--padding);padding-top:20px;}}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:40px;}@media(max-width:769px){section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:25px;}}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items .image{display:none;-webkit-flex-basis:40%;-ms-flex-preferred-size:40%;flex-basis:40%;height:400px;position:-webkit-sticky;position:sticky;top:0;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;}@media(max-width:769px){section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items .image{aspect-ratio:16/9;overflow:hidden;}}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items .image img{width:100%;height:100%;object-fit:cover;object-position:center;}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items .text{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;text-align:center;color:var(--custom-text-dark);}section:has(.custom-accordion-items) .accordion-tabs__accordion .accordion-tabs__accordion-content.is-active .custom-accordion-items .text a{color:unset;}section:has(.custom-container-nav) .text-editor{padding:40px 0;-webkit-transition:.3s;transition:.3s;}@media(max-width:560px){section:has(.custom-container-nav) .text-editor{padding:30px 0;}}section:has(.custom-container-nav) .text-editor .custom-container-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;
29-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:30px;}@media(max-width:992px){section:has(.custom-container-nav) .text-editor .custom-container-nav{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}@media(max-width:560px){section:has(.custom-container-nav) .text-editor .custom-container-nav{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}section:has(.custom-container-nav) .text-editor .custom-container-nav .nav-items{color:unset;text-transform:uppercase;letter-spacing:1px;font-size:14px;-webkit-transition:.3s;transition:.3s;}section:has(.custom-container-nav) .text-editor .custom-container-nav .nav-items:hover{opacity:.4!important;}.solid-section{-webkit-transition:top 0.3s ease-in-out,background-color 0.3s ease;transition:top 0.3s ease-in-out,background-color 0.3s ease;}.custom-scroll{box-shadow:0 4px 12px rgba(0,0,0,0.1);}.custom-scroll .text-editor{padding:25px 0!important;}section:has(.custom-video-gal) .video-gallery .video-gallery__header{max-width:unset;margin:0;}section:has(.custom-video-gal) .video-gallery .video-gallery__header .custom-title-container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto;}section:has(.custom-video-gal) .video-gallery .video-gallery__header .custom-title-container .lp-h2{margin:0;padding:0;}section:has(.custom-video-gal) .video-gallery .video-gallery__header .custom-title-container .signature{top:20px;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;position:relative;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card:hover .video-gallery-card__preview::before{opacity:.5;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card:hover .video-gallery-card__btn-play{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__header{position:absolute;bottom:0;z-index:1;color:#fff;padding:20px;min-height:unset;z-index:4;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__header h6{margin-bottom:10px;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__header p{margin:0;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__preview{height:auto;aspect-ratio:1/1;padding:0;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__preview::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background-image:linear-gradient(to top, rgba(46, 39, 35, 1), rgba(46, 39, 35, 0));opacity:.2;z-index:2;-webkit-transition:.3s;-webkit-transition:.3s;transition:.3s;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__preview .video-gallery-card__btn-play{color:#fff;width:70px;height:70px;border:0;background:rgba(255, 255, 255, 0.4);z-index:5;-webkit-transition:.3s;transition:.3s;}section:has(.custom-video-gal) .video-gallery .video-gallery__row .video-gallery-card .video-gallery-card__preview .video-gallery-card__btn-play::after{margin:0;background:#fff;-webkit-mask:var(--custom-play-icon) center/contain no-repeat;mask:var(--custom-play-icon) center/contain no-repeat;}section:has(.custom-video-gal) .video-gallery .video-gallery__pagination .video-gallery__controls .paginationjs-prev a,section:has(.custom-video-gal) .video-gallery .video-gallery__pagination .video-gallery__controls .paginationjs-next a{border:0;}section:has(.custom-video-gal) .video-gallery .video-gallery__pagination .video-gallery__controls .paginationjs-prev a::after,section:has(.custom-video-gal) .video-gallery .video-gallery__pagination .video-gallery__controls .paginationjs-next a::after{width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}section:has(.custom-video-gal) .video-gallery .video-gallery__pagination .video-gallery__controls .paginationjs-page a{border:0;}
29section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__description{margin:0;opacity:1;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__description .custom-title-container{margin:0 auto;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters{margin:0;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .lp-input{border:0;border-bottom:1px solid var(--custom-brown-op);border-radius:0;-webkit-transition:.3s;transition:.3s;background:transparent;font-weight:normal;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .lp-input:hover{border-color:var(--cusom-dark);}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .mls-properties-with-map-filters__grid-switcher{border-radius:0;background:transparent;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .mls-properties-with-map-filters__grid-switcher .mls-properties-with-map-filters__grid-switcher-tab{border:0;border-bottom:1px solid var(--custom-brown-op);border-radius:0;-webkit-transition:.3s;transition:.3s;background:transparent;font-weight:normal;color:unset;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .mls-properties-with-map-filters__grid-switcher .mls-properties-with-map-filters__grid-switcher-tab.active,section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .mls-properties-with-map-filters__grid-switcher .mls-properties-with-map-filters__grid-switcher-tab:hover{border-color:var(--custom-dark);}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .mls-properties-with-map-filters__grid-btn:after,section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .custom-select-toggle:after{-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;width:15px;height:10px;background:currentcolor;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);border:0;border-radius:0;right:20px;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .custom-select-content .custom-select-item{font-weight:normal;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .custom-select-content .custom-select-item:hover,section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .custom-select-content .custom-select-item.is-selected{background:var(--custom-beige-2);color:var(--custom-dark);}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .more-filters{border-radius:0;border:0;border-bottom:1px solid var(--custom-brown-op);font-weight:normal;text-transform:uppercase;color:var(--custom-brown-1);-webkit-transition:.3s;transition:.3s;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__filters .mls-properties-with-map__filters-grid .more-filters:hover{border-color:var(--custom-dark);color:var(--custom-dark);}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container{display:-ms-grid;display:grid;-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);gap:var(--padding);margin:0;}@media(max-width:769px){section:has(.custom-mls-grid) .mls-properties-with-ma
29p__container .mls-properties-with-map__grid-container{-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);gap:30px;}}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item{width:100%;height:100%;padding:0;margin:0;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .lp-listing-card{margin:0;position:relative;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .lp-listing-card:hover .mls-properties-with-map-card__img-wrap::before{opacity:.7!important;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .lp-listing-card:hover img{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap{border-radius:0;padding:0;aspect-ratio:16/9;}@media(max-width:1024px){section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap{aspect-ratio:16/11;}}@media(max-width:560px){section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap{aspect-ratio:16/16;}}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background-image:linear-gradient(to top, rgba(46, 39, 35, 1), rgba(46, 39, 35, 0));opacity:.5;z-index:2;-webkit-transition:.3s;-webkit-transition:.3s;transition:.3s;}@media(max-width:560px){section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap::before{opacity:.7;}}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__img-wrap img{-webkit-transition:.3s;transition:.3s;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info{margin:0;padding:0;position:absolute;bottom:0;left:0;z-index:2;color:var(--custom-white);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:20px;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__address{-webkit-order:-1;-ms-flex-order:-1;order:-1;font-family:var(--lp-h2-font-family);font-size:25px;opacity:1;}@media(max-width:560px){section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__address{font-size:22px;}}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__attributes{opacity:1;font-size:14px;gap:10px;}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__price{position:absolute;bottom:20px;right:20px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-family:var(--lp-body-font-family);font-size:22px;font-weight:normal;}@media(max-width:1024px){section:has(.custom-mls-grid) .mls-properties-with-ma
29p__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__price{position:relative;bottom:unset;right:unset;margin-top:6px;margin-bottom:10px;font-size:18px;}}@media(max-width:560px){section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__grid-container .mls-properties-with-map__grid-item .mls-properties-with-map-card__info .mls-properties-with-map-card__price{font-size:16px;margin-bottom:0;}}section:has(.custom-mls-grid) .mls-properties-with-map__container .mls-properties-with-map__footer{margin:0;padding:0;margin-top:40px;}.neighborhoods-list-section{padding-top:50px!important;}@media(max-width:769px){.neighborhoods-list-section{padding-top:40px!important;}}.neighborhoods-list-section .lp-title-group .custom-title-container{margin:0 auto;}.neighborhoods-list-section .neighborhoods-list{gap:30px;}.neighborhoods-list-section .neighborhoods-list__item{position:relative;margin:0;padding:0;}.neighborhoods-list-section .neighborhoods-list__item:hover .neighborhoods-list__img-holder img{opacity:0.6;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__img-holder{margin:0;height:auto;aspect-ratio:16/11;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__img-holder img{-webkit-transition:0.3s;transition:0.3s;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__img-holder::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background-image:linear-gradient(to top, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));z-index:1;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__text{position:absolute;bottom:0;left:0;color:#fff;min-height:unset;padding:20px;margin:0;border:0;z-index:2;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__desc{display:none;}.neighborhoods-list-section .neighborhoods-list__item .neighborhoods-list__link{display:none;}.neighborhoods-list-section .pagination-container .paginationjs-prev,.neighborhoods-list-section .pagination-container .paginationjs-next{-webkit-transition:0.3s;transition:0.3s;}.neighborhoods-list-section .pagination-container .paginationjs-prev:hover,.neighborhoods-list-section .pagination-container .paginationjs-next:hover{opacity:0.6;cursor:pointer;}.neighborhoods-list-section .pagination-container .paginationjs-prev a,.neighborhoods-list-section .pagination-container .paginationjs-next a{border:0;}.neighborhoods-list-section .pagination-container .paginationjs-prev a::after,.neighborhoods-list-section .pagination-container .paginationjs-next a::after{content:'';display:block;position:relative;width:20px;height:30px;-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;background:var(--custom-dark-brown);}.neighborhoods-list-section .pagination-container .paginationjs-page a{border:0;}.neighborhoods-list .neighborhoods-list__item{overflow:visible;}.neighborhoods-list .neighborhoods-list__item:nth-child(6n+1) .neighborhoods-list__text .neighborhoods-list__title:not(.vertical),.neighborhoods-list .neighborhoods-list__item:nth-child(6n+3) .neighborhoods-list__text .neighborhoods-list__title:not(.vertical),.neighborhoods-list .neighborhoods-list__item:nth-child(6n+5) .neighborhoods-list__text .neighborhoods-list__title:not(.vertical),.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__title:not(.vertical){display:none;}.neighborhoods-list .neighborhoods-list__item:nth-child(6n+1) .neighborhoods-list__text .neighborhoods-list__title.vertical,.neighborhoods-list .neighborhoods-list__item:nth-child(6n+3) .neighborhoods-list__text .neighborhoods-list__title.vertical,.neighborhoods-list .neighborhoods-list__item:nth-child(6n+5) .neighborhoods-list__text .neighborhoods-list__title.vertical,.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__title.vertical{display:block!important;}.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__img-holder{border-left:15px solid #DBD6D2;}.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;
29-webkit-justify-content:end;justify-content:end;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;}@media(max-width:560px){.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text{font-size:30px!important;}}.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .vertical{position:absolute;bottom:25px;-webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);left:-10px;font-family:var(--lp-body-font-family);font-weight:400!important;font-size:43px;color:var(--custom-white)!important;text-shadow:0px 2px 30px rgba(0, 0, 0, 0.1);z-index:2;margin:0;padding:0;display:none;}@media(max-width:560px){.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .vertical{font-size:30px!important;left:-5px;}}.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__title:not(.vertical){font-size:55px;font-family:Northwell;font-weight:400;font-style:italic;margin:0;text-transform:none!important;text-align:right;width:100%;padding:0;margin:0;bottom:0!important;line-height:1;margin-bottom:-20px;display:block;}@media(max-width:560px){.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__title:not(.vertical){font-size:40px;}}.neighborhoods-list .neighborhoods-list__item .neighborhoods-list__text .neighborhoods-list__title.vertical{display:none!important;}section:has(.custom-video-properties-slider) .properties-video-slider__container{padding-left:var(--padding);padding-right:var(--padding);}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__slide{padding-left:var(--padding);}@media(max-width:1024px){section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__slide{padding-bottom:70px!important;}}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__slide .properties-video-slider-hero__price{font-weight:normal!important;font-family:var(--lp-h2-font-family);}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrows{gap:30px;padding-left:var(--padding);left:0;}@media(max-width:1024px){section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrows{position:relative;width:100%;bottom:unset;top:-60px;margin-bottom:-60px;z-index:5;}}@media(max-width:560px){section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrows{margin-bottom:-50px;}}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrow{-webkit-transition:.3s;transition:.3s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrow:hover{opacity:.5;}section:has(.custom-video-properties-slider) .properties-video-slider .properties-video-slider-hero__arrow::after{-webkit-mask:var(--custom-arrows) center/contain no-repeat;mask:var(--custom-arrows) center/contain no-repeat;width:18px;background:#fff;}@media(min-width:992px){section:has(.neighborhods-banner){background-attachment:fixed;}}section:has(.neighborhods-banner) .text-editor{min-height:60vh;}section:has(.neighborhods-banner) .text-editor *{font-size:0;}.lp-h1,.lp-h2,.lp-h3{font-variation-settings:'opsz' 44,'GRAD' 0,'slnt' 0,'XTRA' 510,'XOPQ' 96,'YOPQ' 40,'YTLC' 540,'YTUC' 712,'YTAS' 750,'YTDE' -220,'YTFI' 738;}.watermark{font-variation-settings:'GRAD' 0,'slnt' 0,'XTRA' 511,'XOPQ' 96,'YOPQ' 50,'YTLC' 537,'YTUC' 712,'YTAS' 750,'YTDE' -221,'YTFI' 738,'opsz' 44;}.header.scroll .header-logo__img--light{display:none!important;}.header-logo{height:80px;}footer#global-footer .footer-contact-row{position:relative!important;overflow:visible!important;}footer#global-footer .footer-contact-row::after{content:""!important;position:absolute!important;bottom:0!important;left:50%!important;-webkit-transform:translate(-50%, 50%)!important;-moz-transform:translate(-50%, 50%)!important;-ms-transform:translate(-50%, 50%)!important;transform:translate(-50%, 50%)!important;width:110px!important;height:75px!important;background:transparent url("https://media-production.lp-cdn.com/media/ef4f8536-be04-4b11-ba22-bf76d33a786b") center/contain no-repeat!important;box-shadow:15px 0 transparent,-15px 0 transparent;z-index:10!important;}footer#global-footer .footer-navigation-row{padding-top:45px!important;}@media (max-width: 768px){footer#global-footer .footer-contact-row::after{width:75px!important;height:55px!important;box-shadow:10px 0 transparent,-10px 0 transparent;}footer#global-footer .footer-navigation-row{padding-top:35px!important;}}div#global-mobile-contact .floating-contact-button-pop-up .lp-input::-webkit-input-placeholder{opacity:.5;}div#global-mobile-contact .floating-contact-button-pop-up .lp-input::-moz-placeholder{opacity:.5;}div#global-mobile-contact .floating-contact-button-pop-up .lp-input:-ms-input-placeholder{opacity:.5;}div#global-mobile-contact .floating-contact-button-pop-up .lp-input::placeholder{opacity:.5;}</style>
30    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
31        <style id="page-css">
32            #section-8fc9291e-f19e-4157-8d83-15e819748bc8{color:#1A1A1A;--fontColor:#1A1A1A;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:10%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));}@media(min-width:992px){#section-8fc9291e-f19e-4157-8d83-15e819748bc8{background-attachment:fixed;-webkit-background-position:bottom;background-position:bottom;}}#section-8fc9291e-f19e-4157-8d83-15e819748bc8::before{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;background:#000;opacity:.3;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form{color:#fff;z-index:1;position:relative;height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;
32-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container{border:0;padding:0;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .custom-title-container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .custom-title-container h2{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0;padding:0;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .lp-input{background:transparent;border-radius:0;border:0;border-bottom:1px solid silver;-webkit-transition:.3s;transition:.3s;color:#fff;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .lp-input:hover{border-color:#fff;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .lp-label{text-transform:uppercase;font-weight:500;letter-spacing:1px;font-size:12px;color:#fff;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container .lp-tcr-message{opacity:.7;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form__error{position:absolute;}@media(max-width:769px){#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;}@media(max-width:769px){#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .contact-form .contact-form__container{padding-top:30px!important;}}}#section-8fc9291e-f19e-4157-8d83-15e819748bc8>div:last-child{padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 >*:last-child{position:relative;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .overlay-component{position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--overlay-color, var(--section-overlay, rgba(0, 0, 0, 0.3)));transition-property:opacity;transition-timing-function:linear;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}@media screen and (max-width: 900px){#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .video-wrapper.hidable{display:none;}}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 video{position:absolute;z-index:-1000;width:100%;object-fit:cover;}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#section-8fc9291e-f19e-4157-8d83-15e819748bc8 video{overflow:hidden;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);min-width:100%;min-height:100%;width:auto;height:auto!important;}}#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .poster{display:none;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1000;background:center center/cover;}@media screen and (max-width: 900px){#section-8fc9291e-f19e-4157-8d83-15e819748bc8 .poster{display:block;}}#section-99576cd8-bea1-4c71-8729-1626de58e72f{color:#1a1a1a;--fontColor:#1a1a1a;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:10%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#ffffff;}body>div.sidemenu{background-color:rgba(238, 237, 233, 1);color:rgba(26, 26, 26, 1);--fontColor:rgba(26, 26, 26, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:10%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(238, 237, 233, 1);--bgColor_H:48;--bgColor_S:13%;--bgColor_L:92%;--bgColor_A:1;--bgColor_darkenDir:-1;}footer{background-color:rgba(219, 214, 210, 1);color:rgba(122, 122, 122, 1);--fontColor:rgba(122, 122, 122, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:48%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(219, 214, 210, 1);--bgColor_H:27;--bgColor_S:11%;--bgColor_L:84%;--bgColor_A:1;--bgColor_darkenDir:-1;}
33        </style>
34    <style id="custom-style-css">.social_icons-style-1 a{border-color:#6E6359!important;background-color:rgba(0, 0, 0, 0)!important;color:#6E6359!important;}.social_icons-style-1 a:hover{border-color:#6E6359!important;background-color:#6E6359!important;color:#FFFFFF!important;}.social_icons-style-1 a i{color:inherit!important;}
34.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.pagination-style-1 li a{color:rgba(110, 99, 89, 0.25)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(110, 99, 89, 0.25)!important;}.pagination-style-1 li a:hover{color:#6E6359!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#6E6359!important;}.pagination-style-1 li.active a{color:#6E6359!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#6E6359!important;}.button-style-1{color:#6E6359!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(110, 99, 89, 0.25)!important;}.button-style-1:hover{color:#101010!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#101010!important;}.hyperlink-style-1{color:#6E6359!important;}.hyperlink-style-1:hover{color:#6E6359!important;}.button-style-2{color:#DBD6D2!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#DBD6D2!important;}.button-style-2:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.social_icons-style-2 a{border-color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;color:#FFFFFF!important;}.social_icons-style-2 a:hover{border-color:#FFFFFF!important;background-color:#FFFFFF!important;color:#6E6359!important;}.social_icons-style-2 a i{color:inherit!important;}
34.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.pagination-style-2 li a{color:#DBD6D2!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#DBD6D2!important;}.pagination-style-2 li a:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.pagination-style-2 li.active a{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.hyperlink-style-2{color:#FFFFFF!important;}.hyperlink-style-2:hover{color:#FFFFFF!important;}</style>
35        <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode
36             defaults, and dynamically loads the locale + main (and banner if needed). -->
37        
37<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="0de14d64-da82-4bec-9862-7f827d40ab3f"></script>
37
38
39
40        
40<script>
41            (function utmParse() {
42                const url = new URL(window.location.href);
43                if (url.search) {
44                    const utm = url.search.split(/\?|&/g).reduce((acc, current) => {
45                        const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g);
46                        if (matched) {
47                        acc[matched[0]] = current.replace(`${matched[0]}=`, '');
48                        }
49                        return acc;
50                    }, {});
51                    if (Object.keys(utm).length) {
52                        window.localStorage.setItem('utm_vars', JSON.stringify(utm));
53                    } else {
54                        // Remove old utm vars
55                        window.localStorage.removeItem('utm_vars');
56                    }
57                }
58                // Set referrer in local storage
59                // This is meant to be stored once to avoid self-referrals and to have the first referrer only.
60                if (!window.localStorage.getItem('referrer')) {
61                    // Capture the Referrer URL
62                    const referrer = document.referrer;
63                    if (referrer) {
64                        // Only store the referrer if it comes from outside the current domain (to avoid self-referrals)
65                        const currentDomain = window.location.hostname;
66                        const referrerDomain = new URL(referrer).hostname;
67
68                        if (referrerDomain !== currentDomain) {
69                            // Store it in localStorage
70                            localStorage.setItem('referrer', referrer);
71                        }
72                    }
73                }
74            })();
75        </script>
75
76        <!-- Bing Webmaster Tools Verification -->
77<script>
78       // Check if on the homepage before the body loads
79       if (window.location.pathname === '/' || window.location.pathname === '/index.html') {
80       document.write('<meta name="msvalidate.01" content="2541349B2B44CBF9143FF93D5E4ABB31" />');
81       }
82</script>
82
83    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
84</head>
85<body>
86    <div id="google_translate_element" style="display: none"></div>
87
88        <nav id="global-navbar" data-el-id="3242b8f0-253e-46f7-b814-162ccf958ec2">
89            
90<header class="header js-header" style="--textColor: rgba(255, 255, 255, 1); --backgroundColor: rgba(26, 26, 26, 1);">
91  <div class="header-container ">
92    
93    <a href="/" class="header-logo">
94      <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/106b32a5-f3e4-48fb-865e-2c0531d83a8b 3456w" sizes="350px" alt="Company logo" class="header-logo__img header-logo__img--dark">
95      <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/09796551-e3e2-4a8e-8d4d-028460014a09 3456w" sizes="350px" alt="Company logo" class="header-logo__img header-logo__img--light">
96    </a>
97
98    <ul class="header-navigation">
99      <li class="header-navigation__item ">
100        
101        <a class="header-navigation__link "  data-type="TRANSLATE" tabindex="0" style="--delay: 0s">Language</a>
102      </li>
103    </ul>
104
105
106    <div class="header-buttons-wrapper">
107
108
109
110      <button type="button" class="header-hamburger-btn lp-btn hamburger-component hamburger js-sidemenu-opener"
111        title="Toggle Sidemenu"></button>
112    </div>
113  </div>
114
115</header>
116
117        </nav>
118        <div id="global-sidemenu" class="sidemenu" data-el-id="033c3235-a8bd-45bf-a4a8-96977e33190d">
119            
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135<button class="sidemenu-close toggle close lp-btn lp-icon link-icon--plus"></button>
136
137
138<div class="sidemenu-wrapper sidemenu-wrapper--small" style="--navItemNumberColor: rgba(177, 132, 99, 1);">
139    <div class="sidemenu-nav-holder ">
140        <ul class="sidemenu-navigation ">
141                    <li class="sidemenu-navigation__item js-idemenu-navigation-item ">
142                            <a  
143                                href="/" 
144                                class="sidemenu-navigation__link">Home</a>
145                
146                    </li>
147                  
148                    <li class="sidemenu-navigation__item js-idemenu-navigation-item sidemenu-navigation__item--sub-nav">
149                            <span class="sidemenu-navigation__link sidemenu-navigation__link--sub-nav sidemenu-navigation__link--sub-nav-active js-sub-nav-opener lp-icon">
150                                About
151                            </span>
152                
153                        <ul class="sidemenu-navigation-sub-nav lp-a">
154                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/about" class="sidemenu-navigation-sub-nav__link">Meet Ricardo</a></li>
155                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/team" class="sidemenu-navigation-sub-nav__link">Meet the Team</a></li>
156                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/press" class="sidemenu-navigation-sub-nav__link">Press &amp; Media</a></li>
157                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/testimonials" class="sidemenu-navigation-sub-nav__link">Testimonials</a></li>
158                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/international-luxury-alliance" class="sidemenu-navigation-sub-nav__link">International Luxury Alliance</a></li>
159                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/recognitions" class="sidemenu-navigation-sub-nav__link">Recognitions</a></li>
160                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/cervone-deegan" class="sidemenu-navigation-sub-nav__link">Cervone Deegan</a></li>
161                        </ul>
162                    </li>
163                  
164                    <li class="sidemenu-navigation__item js-idemenu-navigation-item sidemenu-navigation__item--sub-nav">
165                            <span class="sidemenu-navigation__link sidemenu-navigation__link--sub-nav sidemenu-navigation__link--sub-nav-active js-sub-nav-opener lp-icon">
166                                Properties
167                            </span>
168                
169                        <ul class="sidemenu-navigation-sub-nav lp-a">
170                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/properties/sale" class="sidemenu-navigation-sub-nav__link">RR&amp;A On Markets</a></li>
171                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/properties/off-markets" class="sidemenu-navigation-sub-nav__link">Exclusive Off Markets</a></li>
172                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/properties/sold" class="sidemenu-navigation-sub-nav__link">Notable Luxury Sales</a></li>
173                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/boston-luxury-real-estate" class="sidemenu-navigation-sub-nav__link">Boston Luxury Homes</a></li>
174                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/global-collective" class="sidemenu-navigation-sub-nav__link">Global Collective</a></li>
175                        </ul>
176                    </li>
177                  
178        </ul>
179
180        <ul class="sidemenu-navigation ">
181                    <li class="sidemenu-navigation__item js-idemenu-navigation-item ">
182                            <a  
183                                href="/neighborhoods" 
184                                class="sidemenu-navigation__link">Communities</a>
185                
186                    </li>
187                  
188                    <li class="sidemenu-navigation__item js-idemenu-navigation-item ">
189                            <a  
190                                href="/home-search/listings" 
191                                class="sidemenu-navigation__link">Home Search</a>
192                
193                    </li>
194                  
195                    <li class="sidemenu-navigation__item js-idemenu-navigation-item ">
196                            <a  
197                                href="/developers" 
198                                class="sidemenu-navigation__link">Developers</a>
199                
200                    </li>
201                  
202        </ul>
203
204        <ul class="sidemenu-navigation ">
205                    <li class="sidemenu-navigation__item js-idemenu-navigation-item sidemenu-navigation__item--sub-nav">
206                            <span class="sidemenu-navigation__link sidemenu-navigation__link--sub-nav sidemenu-navigation__link--sub-nav-active js-sub-nav-opener lp-icon">
207                                Resources
208                            </span>
209                
210                        <ul class="sidemenu-navigation-sub-nav lp-a">
211                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/blog" class="sidemenu-navigation-sub-nav__link">Blog</a></li>
212                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/buyers" class="sidemenu-navigation-sub-nav__link">Buyers</a></li>
213                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/sellers" class="sidemenu-navigation-sub-nav__link">Sellers</a></li>
214                            <li class="sidemenu-navigation-sub-nav__item"><a  href="/media" class="sidemenu-navigation-sub-nav__link">Media</a></li>
215                        </ul>
216                    </li>
217                  
218                    <li class="sidemenu-navigation__item js-idemenu-navigation-item ">
219                            <a  
220                                href="/contact" 
221                                class="sidemenu-navigation__link">Contact</a>
222                
223                    </li>
224                  
225        </ul>
226
227    </div>
228
229    <div class="sidemenu-footer">
230        <div class="sidemenu__info-group sidemenu__col">
231                    <div class="sidemenu__section-content">
232                                <div class="sidemenu__col-content">
233                                <p class="sidemenu__col-title">Contact</p><div class="sidemenu__col-description lp-a">
234                                        <p class="sidemenu__col-agent-name">[Agent Name Goes Here]</p>
235                                        <a href="tel:3105554444" class="sidemenu__col-phone">(310) 555-4444</a>
236                                        <a href="/cdn-cgi/l/email-protection#05666a6b716466714569707d70777c75776076606b66602b666a68" class="sidemenu__col-email"><span class="__cf_email__" data-cfemail="74171b1a001517003418010c01060d04061107111a17115a171b19">[email&#160;protected]</span></a>
237                                    </div>
238                                </div>
239                                <div class="sidemenu__col-content">
240                                <p class="sidemenu__col-title">Office</p>                <div class="sidemenu__col-description lp-a sidemenu__col-description--pre-line"><p>1808 Stanford Street Santa Monica, CA 90404</p></div>
241                                        
242                                </div>
243                    </div>
244                    
245        </div>
246
247            <div class="sidemenu-socials-block">
248                <p class="sidemenu__col-title">Follow Us</p>
249                    <ul class="lp-socials dark">
250                    
251                            <li>
252                              <a
253                                href="https://www.facebook.com/"
254                                class="lp-socials__link"
255                                data-wow-delay="0s"
256                                target="_blank"
257                                aria-label="FACEBOOK"
258                              >
259                                  <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
260                              </a>
261                            </li>
262                            <li>
263                              <a
264                                href="https://www.instagram.com/"
265                                class="lp-socials__link"
266                                data-wow-delay="0.1s"
267                                target="_blank"
268                                aria-label="INSTAGRAM"
269                              >
270                                  <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
271                              </a>
272                            </li>
273                            <li>
274                              <a
275                                href="https://www.linkedin.com/"
276                                class="lp-socials__link"
277                                data-wow-delay="0.2s"
278                                target="_blank"
279                                aria-label="LINKEDIN"
280                              >
281                                  <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
282                              </a>
283                            </li>
284                      </ul>            </div>
285    </div>
286</div>
287        </div>
288        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="4c08210d-8fa1-4e4b-ad13-3209994c2ceb">
289            <div class="floating-contact-button">
290  <div class="floating-contact-button__btn-holder js-btn-holder"
291    style="--backgroundColor: rgba(238, 237, 233, 1); --textColor: rgba(26, 26, 26, 1);  --pillTextColor: rgba(255, 255, 255, 1); --pillBackgroundColor: rgba(177, 132, 99, 1);">
292    <button type="button" class="floating-contact-button__btn-connect js-btn-connect lp-icon lp-ico-arrow-top">Let&#x27;s Connect</button>
293  </div>
294
295  <div class="floating-contact-button-pop-up js-pop-up" style="--backgroundColor: rgba(238, 237, 233, 1); --textColor: rgba(26, 26, 26, 1);">
296      <form class="floating-contact-button-pop-up__form js-form" data-type="contact-form">
297          <h3 class="floating-contact-button-pop-up__title">Leave a Message</h3>
298
299        <div class="floating-contact-button-pop-up__input-group lp-input-group">
300          <input id="__FullName" type="text" name="name"
301            class="lp-input js-input-name lp-input--light"
302            required placeholder="Full Name">
303        </div>
304        
305        <div class="floating-contact-button-pop-up__input-group lp-input-group">
306          <input id="__Email" type="email" name="email"
307            class="lp-input js-email-input "
308            required placeholder="Email">
309        </div>
310        
311        <div class="floating-contact-button-pop-up__input-group lp-input-group">
312          <input class="lp-input " type="tel" placeholder="Phone" id="__Phone"
313            name="phone" required>
314        </div>
315        
316        <select name="interest" id="-field-interest"
317          class="floating-contact-button-pop-up__input-group lp-input js-select " required>
318          <option value="" selected disabled data-label="Interest">Interested in...</option>
319          <option value="Selling &amp; Buying">Selling &amp; Buying</option>
320          <option value="Selling">Selling</option>
321          <option value="Buying">Buying</option>
322          <option value="Renting">Renting</option>
323          <option value="Other">Other</option>
324          <label for="-field-interest" class="lp-label sr-only">Interest</label>
325        </select>
326        
327        <div class="floating-contact-button-pop-up__input-group lp-input-group">
328          <textarea name="message" rows="4" id="__Message" class="lp-input "
329            placeholder="Message" required></textarea>
330        </div>
331        
332        <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
333  <label class='lp-tcr-content'>
334    <span class='lp-tcr-checkbox'>
335      <input
336        type='checkbox'
337        id='-termsAccepted'
338        name='termsAccepted'
339        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
340        oninput="this.setCustomValidity('')"
341        required
342      /></span>
343    <span class='lp-tcr-message'>
344      
345        I agree to be contacted by
346        Ricardo Rodriguez &amp; Associates
347        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
348        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
349        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
350    </span>
351  </label>
352
353</div>
354        
355        <button type="submit" class="floating-contact-button-pop-up__btn-submit lp-btn lp-btn--mob-full-width button-style-1">Submit</button>
356
357        <div class="lp-h-pot">
358          <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off"
359            tabindex="-1">
360        </div>
361        <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
362        <input type="hidden" name="button_text" value="Let&#x27;s Connect">
363      </form>
364
365      <div class="floating-contact-button-pop-up__success js-success">
366          <h3 class="floating-contact-button-pop-up__title">Thank you for your message. We will be in touch with you shortly.</h3>
367
368                <a
369                    href="/properties"
370                    
371                    class="lp-btn floating-contact-button-pop-up__success-btn button-style-1"
372                    
373                    
374                    
375                    
376                    
377                    >
378                            Explore Our Properties
379                    </a>
380      </div>
381    <button type="button" class="floating-contact-button-pop-up__close js-close-btn lp-icon"></button>
382  </div>
383  
384</div>
385
386        </div>
387        <section id="section-8fc9291e-f19e-4157-8d83-15e819748bc8"  class="video-section is-font-color-dark is-background-color-light" data-el-id="ebc5d50e-a4a6-419c-8f09-726c01970aad">
388  <div class="video-wrapper">
389    <div class="full-screen-video-component">
390      <div class="video-wrapper">
391        <video class="lazy"
392          poster="https://res.cloudinary.com/luxuryp/videos/f_auto,q_auto/so_0,eo_0/sqawwvjpuzf01f3wnatn/luxury-modern-living-room-interior.jpg"
393          style="height:100%;"
394          loop
395          muted
396          autoplay
397          playsinline>
398          <source data-src="https://res.cloudinary.com/luxuryp/videos/f_webm,vc_vp9,q_auto:best,w_1920,c_limit/sqawwvjpuzf01f3wnatn/luxury-modern-living-room-interior.webm" type="video/webm;codecs=vp9">
399<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h265,q_auto:best,w_1920,c_limit/sqawwvjpuzf01f3wnatn/luxury-modern-living-room-interior.mp4" type="video/mp4;codecs=hvc1">
400<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h264,q_auto:best,w_1920,c_limit/sqawwvjpuzf01f3wnatn/luxury-modern-living-room-interior.mp4" type="video/mp4">
401        </video>
402      </div>
403    </div>
404  </div>
405  <div class="overlay-component"style="--section-overlay: rgba(255, 255, 255, 0.5);"></div>
406  <div class="contact-form lp-vertical-paddings">
407  <div class="contact-form__container">
408  <div class="contact-form__title-group lp-title-group">
409    
410    <div class="contact-form__subtitle lp-a"><div class="custom-title-container left top big beige">
411<h2 class="lp-h2">Contact</h2>
412<p class="signature">Get in Touch</p>
413</div></div>
414  </div>
415  <form action="" class="contact-form__form js-form" data-type="contact-form">
416    <div class="lp-h-pot">
417      <label for="section-8fc9291e-f19e-4157-8d83-15e819748bc8-if-middleName">Middle Name</label>
418      <input id="section-8fc9291e-f19e-4157-8d83-15e819748bc8-if-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
419    </div>
420    <div class="contact-form__group">
421      <div class="contact-form__group-container lp-input-group">
422        <input required id="section-8fc9291e-f19e-4157-8d83-15e819748bc8-name" name="name" type="text" class="contact-form__input lp-input js-input-name"
423          placeholder="Enter Your Full Name">
424        <label for="section-8fc9291e-f19e-4157-8d83-15e819748bc8-name" class="contact-form__label lp-label">Name</label>
425      </div>
426      <div class="contact-form__group-container lp-input-group">
427        <input required id="section-8fc9291e-f19e-4157-8d83-15e819748bc8-phone" name="phone" type="tel" class="contact-form__input lp-input"
428          placeholder="Your Phone">
429        <label for="section-8fc9291e-f19e-4157-8d83-15e819748bc8-phone" class="contact-form__label lp-label">Phone</label>
430      </div>
431      <div class="contact-form__group-container lp-input-group">
432        <div class="contact-form__input-container">
433          <input required id="section-8fc9291e-f19e-4157-8d83-15e819748bc8-email" name="email" type="email" class="contact-form__input lp-input js-email-input"
434            placeholder="@">
435          <div class="contact-form__error error">Enter a valid email</div>
436        </div>
437
438        <label for="section-8fc9291e-f19e-4157-8d83-15e819748bc8-email" class="contact-form__label lp-label">Email</label>
439      </div>
440    </div>
441
442    <div class="contact-form__input-group lp-input-group">
443      <textarea id="section-8fc9291e-f19e-4157-8d83-15e819748bc8-message" name="message" class="contact-form__input lp-input"
444        placeholder="Type Your Message"></textarea>
445      <label for="section-8fc9291e-f19e-4157-8d83-15e819748bc8-message" class="contact-form__label lp-label">Your Message</label>
446    </div>
447    <div class="contact-form__disclaimer lp-disclaimer">  <label style='display: none;' for='section-8fc9291e-f19e-4157-8d83-15e819748bc8-termsAccepted'>Opt In/Disclaimer Consent:</label>
448  <label class='lp-tcr-content'>
449    <span class='lp-tcr-checkbox'>
450      <input
451        type='checkbox'
452        id='section-8fc9291e-f19e-4157-8d83-15e819748bc8-termsAccepted'
453        name='termsAccepted'
454        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
455        oninput="this.setCustomValidity('')"
456        required
457      /></span>
458    <span class='lp-tcr-message'>
459      
460        I agree to be contacted by
461        Ricardo Rodriguez &amp; Associates
462        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
463        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
464        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
465    </span>
466  </label>
467
468</div>
469    <button type="submit" class="contact-form-submit lp-btn lp-icon button-style-2">
470      <div class="contact-form-submit__default">
471        <span class="contact-form-submit__content lp-btn__content">Send Message</span>
472      </div>
473      <div class="contact-form-submit__loading">
474        <span class="contact-form-submit__content lp-btn__content">Sending</span>
475      </div>
476      <div class="contact-form-submit__success">
477        <div class="contact-form-submit__content lp-btn__content">Message Sent!</div>
478      </div>
479    </button>
480  </form>
481  
482  </div>
483</div>
484
485</section>
486<section id="section-99576cd8-bea1-4c71-8729-1626de58e72f"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="85dc9e17-a4c7-449c-8890-869fdc11b485">
487  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide-core.min.css"/>
vendor: 109 bytes, lines 487-488
487
488<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
488<script src="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide.min.js"></script>
vendor: 1 bytes, line 488
488
489<script type="text/x-handlebars-template" class="jsIGTemplate">
490    {{#each items}}
491        <a href="{{permalink}}" target="_blank" class="instagram-feed__item lp_animation-img-zoom splide__slide insta-item insta-type-{{mediaType}}">
492          <img class="instagram-feed__image" src="{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{else}}{{mediaUrl}}{{/ifEquals}}" alt="Instagram post by @{{username}}">
493        </a>
494    {{/each}}
495</script>
495
496
497<div class="instagram-feed lp-vertical-paddings">
498    <div class="instagram-feed__container" style="--titleColor: #B18463; --boxColor: rgba(238, 237, 233, 1);">
499        <div class="instagram-feed__title-group lp-title-group">
500            <div class="instagram-feed__icon lp-icon"></div>
501            <p class="instagram-feed__pretitle">Follow Us On Instagram</p>
502            <h2 class="instagram-feed__title instagram-feed__title--with-pretitle"><a href="#" target="_blank" class="instagram-feed__link jsIGLink jsIGName"></a></h2>
503        </div>
504
505        <div class="instagram-feed__collection splide js-slider">
506          <div class="splide__track">
507              <ul class="splide__list jsIGContainer">
508              </ul>
509          </div>
510        </div>
511    </div>
512</div>
513
514
515
516
517</section>
518
519        <div id="modals" class="modals"></div>
520        <footer id="global-footer" class="is-font-color-dark is-background-color-light" data-el-id="b8c9ffd0-3b1f-4577-96fc-828efdac86e7">
521            
522
523<div class="footer"> 
524        <div class="footer-logos-row">
525            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b73459dd-d071-4c12-a585-3449838e09e1" class="footer-logo" alt="">
526            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f3e65b90-01fa-46c7-a5ec-e7188991070c" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/f3e65b90-01fa-46c7-a5ec-e7188991070c 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f3e65b90-01fa-46c7-a5ec-e7188991070c 687w" class="footer-logo" sizes="350px" alt="">
527        </div>
528    <div class="footer-contact-row">
529        <div class="footer-info ">
530                    <div class="footer__col">
531                        
532                        <div class="footer__section-content">
533                                <div class="footer__col-content">
534                                    <p class="footer__col-title"></p>                <div class="footer__col-description lp-a lp-pre-line"><div class="custom-footer">
535                            <div class="top">
536                            <p class="title">Contact</p>
537                            <p>Ricardo Rodriguez &amp; Associates</p>
538                            <a class="custom-link dark" href="/cdn-cgi/l/email-protection#2f5d464c4e5d4b40015d404b5d46485a4a556f414a4240594a5c014c4042"><span class="__cf_email__" data-cfemail="097b606a687b6d66277b666d7b606e7c6c7349676c64667f6c7a276a6664">[email&#160;protected]</span></a> <a class="custom-link dark" href="tel:+6178230072">(617) 823-0072</a></div>
539                            <div class="bottom">
540                            <p class="broker">Coldwell Banker Realty Office</p>
541                            <div class="custom-address-grid">
542                            <div class="item">
543                            <p>399 Boylston Street, Suite 200<br>Boston, MA</p>
544                            </div>
545                            <div class="item">
546                            <p>196 Waterman Street <br>Providence, RI</p>
547                            </div>
548                            <div class="item">
549                            <p>111 Maplewood Ave., Ste. C&nbsp;<br>Portsmouth, NH</p>
550                            </div>
551                            </div>
552                            </div>
553                            </div></div>
554                                </div>
555                            
556                        </div>
557                    </div>
558                
559                
560                
561        </div>
562
563            <ul class="lp-socials social_icons-style-1 footer-socials">
564            
565                    <li>
566                      <a
567                        href="https://www.facebook.com/RRABoston/"
568                        class="lp-socials__link socials__link"
569                        data-wow-delay="0s"
570                        target="_blank"
571                        aria-label="FACEBOOK"
572                      >
573                          <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
574                      </a>
575                    </li>
576                    <li>
577                      <a
578                        href="https://www.instagram.com/rraboston/?hl&#x3D;en"
579                        class="lp-socials__link socials__link"
580                        data-wow-delay="0.1s"
581                        target="_blank"
582                        aria-label="INSTAGRAM"
583                      >
584                          <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
585                      </a>
586                    </li>
587                    <li>
588                      <a
589                        href="https://www.linkedin.com/in/ricardo-rodriguez-48b3b6a"
590                        class="lp-socials__link socials__link"
591                        data-wow-delay="0.2s"
592                        target="_blank"
593                        aria-label="LINKEDIN"
594                      >
595                          <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
596                      </a>
597                    </li>
598                    <li>
599                      <a
600                        href="https://www.youtube.com/c/ricardorodriguezassociates"
601                        class="lp-socials__link socials__link"
602                        data-wow-delay="0.3s"
603                        target="_blank"
604                        aria-label="YOUTUBE"
605                      >
606                          <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
607                      </a>
608                    </li>
609              </ul>    </div>
610    
611
612        <div class="footer-navigation-row">
613            <p class="footer-navigation-title">navigation</p>
614            
615            <ul class="footer-navigation lp-a">
616                    <li class="footer-navigation__item">
617                            <a  href="/about" class="footer-navigation__link ">Meet Ricardo</a>
618
619                    </li>
620                    <li class="footer-navigation__item">
621                            <a  href="/team" class="footer-navigation__link ">Meet the Team</a>
622
623                    </li>
624                    <li class="footer-navigation__item">
625                            <a  href="/properties" class="footer-navigation__link ">RR&A Exclusive Properties</a>
626
627                    </li>
628                    <li class="footer-navigation__item">
629                            <a  href="/neighborhoods" class="footer-navigation__link ">Communities</a>
630
631                    </li>
632                    <li class="footer-navigation__item">
633                            <a  href="/developers" class="footer-navigation__link ">New Construction</a>
634
635                    </li>
636                    <li class="footer-navigation__item">
637                            <a  href="/home-search/listings" class="footer-navigation__link ">Home Search</a>
638
639                    </li>
640                    <li class="footer-navigation__item">
641                            <a  href="/html-sitemap" class="footer-navigation__link ">HTML Sitemap</a>
642
643                    </li>
644            </ul>
645        </div>
646
647
648   
649        <div class="footer-disclaimer-row">
650            <div class="footer-disclaimer"><div class="compliance-links"><a class="custom-link dark" href="https://coldwellbankerconnections.com/privacy-policy/" target="_blank" rel="noopener">Coldwell Banker Realty Privacy Policy</a></div>
651<p>The property information herein is derived from various sources that may include, but not be limited to, county records and the Multiple Listing Service, and it may include approximations. Although the information is believed to be accurate, it is not warranted and you should not rely upon it without personal verification. Affiliated real estate agents are independent contractor sales associates, not employees. &copy;<span class="auto-year-update">2026</span> Coldwell Banker. All Rights Reserved. Coldwell Banker and the Coldwell Banker logo are trademarks of Coldwell Banker Real Estate LLC. The Coldwell Banker&reg; System is comprised of company owned offices which are owned by a subsidiary of Anywhere Advisors LLC and franchised offices which are independently owned and operated. The Coldwell Banker System fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. <img style="margin-top: 0;" src="https://media-production.lp-cdn.com/media/efaf1535-e302-495a-acb4-7e8c20809fd0" alt="Realtor and Equal Housing Opportunity logo" width="25" height="auto"></p></div>
652            
653            
654        </div>
655    
656
657    <div class="footer-bottom-row">
658            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/jnymuan6tigs629jigsz" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/jnymuan6tigs629jigsz 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/jnymuan6tigs629jigsz 390w" class="footer-logo" sizes="350px" alt="">
659
660        <div class="footer-copyright lp-a">
661            <div class="footer-copyright__powered">
662                Powered by <a href="https://www.luxurypresence.com/" class="" target="_blank">Luxury Presence</a>
663            </div>
664            
665            <div class="footer-copyright__privacy">
666                <span>Copyright © <span class="auto-year-update">2026</span></span>
667                
668           
669                <a href="/terms-and-conditions" class="footer-copyright__privacy-policy">Privacy Policy</a>
670            </div>
671        </div>
672    </div>
673
674</div>
675
676        </footer>
677
678        <div id="modal-global-contact-us" class="modal "
679            data-el-id=""
680            style="background-color: ;"
681            >
682            <div class="modal-content">
683                
684        
685        <div class="contact-form-modal lp-vertical-paddings" style="--leftPanelBgColor: rgba(26, 26, 26, 1); --textColor:rgba(255, 255, 255, 1); --formBgColor: rgba(255, 255, 255, 1); --formTextColor: rgba(26, 26, 26, 1)">
686            <div class="contact-form-modal__bg">
687                <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/5517869e-0fc4-45b3-bc3c-173b72c39dec 3456w" sizes="(min-width: 1981px) 12.2222vw, (min-width: 1025px) 424px, 100vw" class="contact-form-modal__bg-image portrait" alt="">
688            </div>
689            <div class="contact-form-modal__close-container">
690                <button class="contact-form-modal__close toggle close lp-btn lp-icon link-icon--plus"></button>
691            </div>
692            <div class="contact-form-modal__container">
693                  <div class="contact-form-modal-details only-desktop">
694                        <h2 class="contact-form-modal-details__title only-desktop js-contact-title">Get in Touch</h2>
695                        <div class="contact-form-modal-agent">
696                            <div class="contact-form-modal-agent__contact">    
697                                <p class="contact-form-modal-agent__name">[Team/Agent Name Goes here]</p>
698                                <p class="contact-form-modal-agent__phone lp-a">
699                                  <a class="contact-form-modal-agent__link" href="tel:+1222333344444">+1 222 3333 44444</a>
700                                </p>
701                                <p class="contact-form-modal-agent__email lp-a">
702                                  <a class="contact-form-modal-agent__link" href="/cdn-cgi/l/email-protection#147d7a727b5478616c61666d64667167717a77713a777b79"><span class="__cf_email__" data-cfemail="e1888f878ea18d949994939891938492848f8284cf828e8c">[email&#160;protected]</span></a>
703                                </p>
704                            </div>
705                            <div class="contact-form-modal-agent__contact">
706                                <p class="contact-form-modal-agent__addres lp-pre-line">Mon - Fri, 9 am - 6 pm
707                Address Goes Here</p>
708                            </div>
709                        </div>
710                
711                        
712                        <div class="contact-form-modal-details__description">Coldwell Banker Residential Brokerage
713                Beverly Hills Real Estate Agent</div>
714                
715                        <div class="contact-form-modal-details__socials">
716                            <ul class="lp-socials social_icons-style-1 contact-form-modal-details__socials-l
716ist lp-socials">
717                            
718                                    <li>
719                                      <a
720                                        href="https://www.facebook.com/"
721                                        class="lp-socials__link contact-form-modal-details__socials-link"
722                                        data-wow-delay="0s"
723                                        target="_blank"
724                                        aria-label="FACEBOOK"
725                                      >
726                                          <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
727                                      </a>
728                                    </li>
729                                    <li>
730                                      <a
731                                        href="https://www.instagram.com/"
732                                        class="lp-socials__link contact-form-modal-details__socials-link"
733                                        data-wow-delay="0.1s"
734                                        target="_blank"
735                                        aria-label="INSTAGRAM"
736                                      >
737                                          <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
738                                      </a>
739                                    </li>
740                              </ul>        </div>
741                  </div>
742                    <div class="contact-form-modal-form">
743                        <h2 class="contact-form-modal-form__title only-mobile js-contact-title">Get in Touch</h2>
744                        <form action="" class="contact-form-modal-form__form js-form" data-type="contact-form">
745                            <div class="lp-h-pot">
746                                  <label for="-if-middleName">Middle Name</label>
747                                  <input id="-if-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
748                            </div> 
749                            <div class="contact-form-modal-form__group">
750                                <div class="contact-form-modal-form__group-container lp-input-group">
751                                    <input required id="-name" name="name" type="text" class="lp-input js-input-name" placeholder="Enter your full name">
752                                    <label for="-name" class="lp-label contact-form-modal-form__label">Name</label>
753                                </div>   
754                                <div class="contact-form-modal-form__group-container lp-input-group">
755                                    <input required id="-phone" name="phone" type="tel" class="lp-input" placeholder="Your phone">
756                                    <label for="-phone" class="lp-label contact-form-modal-form__label">Phone</label>
757                                </div>
758                            </div>
759                            <div class="contact-form-modal-form__group lp-input-group">
760                                <div class="contact-form-modal-form__input-container">
761                                    <input required id="-email" name="email" type="email" class="lp-input js-email-input" placeholder="@">
762                                    <div class="contact-form-modal-form__error error">Enter a valid email</div>
763                                </div>
764                                
765                                <label for="-email" class="contact-form-modal-form__label lp-label">Email</label>
766                            </div>
767                            <div class="contact-form-modal-form__group lp-input-group">
768                                <textarea id="-message" name="message" class="contact-form-modal-form__textarea lp-input" placeholder="Type your message"></textarea>
769                                <label for="-message" class="contact-form-modal-form__label lp-label">Your Message</label>
770                            </div>
771                
772                            <div class="contact-form-modal-form__disclaimer lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
773                  <label class='lp-tcr-content'>
774                    <span class='lp-tcr-checkbox'>
775                      <input
776                        type='checkbox'
777                        id='-termsAccepted'
778                        name='termsAccepted'
779                        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
780                        oninput="this.setCustomValidity('')"
781                        required
782                      /></span>
783                    <span class='lp-tcr-message'>
784                      
785                        I agree to be contacted by
786                        [Team/Agent Name Goes Here]
787                        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
788                        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
789                        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
790                    </span>
791                  </label>
792                
793                </div>
794                
795                            <button type="submit" class="contact-form-modal-submit lp-btn lp-icon button-style-1">
796                                <div class="contact-form-modal-submit__default">
797                                  <span class="contact-form-modal-submit__content lp-btn__content">Send Message</span>
798                                </div>
799                                <div class="contact-form-modal-submit__loading">
800                                  <span class="contact-form-modal-submit__content lp-btn__content">Sending</span>
801                                </div>
802                                <div class="contact-form-modal-submit__success">
803                                  <span class="contact-form-modal-submit__content lp-btn__content">Message Sent!</span>
804                                </div>
805                            </button>
806                        </form>
807                    </div>
808                    
809                  <div class="contact-form-modal-details only-mobile">
810                        <h2 class="contact-form-modal-details__title only-desktop js-contact-title">Get in Touch</h2>
811                        <div class="contact-form-modal-agent">
812                            <div class="contact-form-modal-agent__contact">    
813                                <p class="contact-form-modal-agent__name">[Team/Agent Name Goes here]</p>
814                                <p class="contact-form-modal-agent__phone lp-a">
815                                  <a class="contact-form-modal-agent__link" href="tel:+1222333344444">+1 222 3333 44444</a>
816                                </p>
817                                <p class="contact-form-modal-agent__email lp-a">
818                                  <a class="contact-form-modal-agent__link" href="/cdn-cgi/l/email-protection#c4adaaa2ab84a8b1bcb1b6bdb4b6a1b7a1aaa7a1eaa7aba9"><span class="__cf_email__" data-cfemail="70191e161f301c050805020900021503151e13155e131f1d">[email&#160;protected]</span></a>
819                                </p>
820                            </div>
821                            <div class="contact-form-modal-agent__contact">
822                                <p class="contact-form-modal-agent__addres lp-pre-line">Mon - Fri, 9 am - 6 pm
823                Address Goes Here</p>
824                            </div>
825                        </div>
826                
827                        
828                        <div class="contact-form-modal-details__description">Coldwell Banker Residential Brokerage
829                Beverly Hills Real Estate Agent</div>
830                
831                        <div class="contact-form-modal-details__socials">
832                            <ul class="lp-socials social_icons-style-1 contact-form-modal-details__socials-list lp-socials">
833                            
834                                    <li>
835                                      <a
836                                        href="https://www.facebook.com/"
837                                        class="lp-socials__link contact-form-modal-details__socials-l
837ink"
838                                        data-wow-delay="0s"
839                                        target="_blank"
840                                        aria-label="FACEBOOK"
841                                      >
842                                          <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
843                                      </a>
844                                    </li>
845                                    <li>
846                                      <a
847                                        href="https://www.instagram.com/"
848                                        class="lp-socials__link contact-form-modal-details__socials-link"
849                                        data-wow-delay="0.1s"
850                                        target="_blank"
851                                        aria-label="INSTAGRAM"
852                                      >
853                                          <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
854                                      </a>
855                                    </li>
856                              </ul>        </div>
857                  </div>
858            </div>
859        </div>
860        
861            </div>
862            <button class="close lp-close" type="button" aria-label="close modal">
863                <span class="lp-close-icon" aria-hidden="true"></span>
864            </button>
865        </div>
866        <div id="qualifying-questions-modal" tabindex="-1" role="dialog" aria-modal="true" aria-labelledby="qualifying-questions-modal-title" aria-hidden="true" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1050; display: none; align-items: center; justify-content: center;">
867          <style>
868            #qualifying-questions-modal .custom-select-toggle {
869              border: 1px solid #848484;
870              border-radius: 8px;
871              padding: 12px 16px;
872            }
873        
874            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
875              color: #848484;
876            }
877        
878            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
879              color: #848484;
880              opacity: 1;
881            }
882        
883            #qualifying-questions-modal .disclaimer-more {
884              display: none;
885            }
886        
887            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
888              display: inline;
889            }
890        
891            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
892              display: none;
893            }
894          </style>
vendor: 119 bytes, lines 894-895
894
895          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
895<script>
896            function toggleDisclaimerQualifyingQuestionsModal() {
897              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
898              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
899        
900              if (disclaimerText.classList.contains('collapsed')) {
901                disclaimerText.classList.remove('collapsed');
902                toggleButton.textContent = 'Read less';
903                toggleButton.setAttribute('aria-expanded', 'true');
904              } else {
905                disclaimerText.classList.add('collapsed');
906                toggleButton.textContent = 'Read more';
907                toggleButton.setAttribute('aria-expanded', 'false');
908              }
909            }
910          </script>
910
911          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
912            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
913              <button type="button" data-dismiss="modal" aria-label="Close" style="position: absolute; right: 20px; top: 10px; font-size: 28px; font-weight: 300; color: black; opacity: 1; background: none; border: none; padding: 0; width: auto; height: auto; cursor: pointer; z-index: 10;">
914                <span aria-hidden="true">&times;</span>
915              </button>
916              <div style="padding: 40px 30px 32px;">
917                <div style="text-align: left; margin-bottom: 32px;">
918                  <h2 id="qualifying-questions-modal-title" style="margin: 0; color: #333; font-size: 18px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.5px; font-weight: normal;">
919                    Thanks, please provide more information to help serve you
920                  </h2>
921                </div>
922                <form id="qualifying-questions-modal-form" data-type="contact-form">
923                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
924                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
925                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
926                  <label for="qualifying-questions-modal-email" style="display:none;">
927                    Email
928                  </label>
929                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
930                    Trigger Source
931                  </label>
932        
933                  <div style="margin-bottom: 20px;">
934                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
935                      Phone Number
936                    </label>
937                    <input
938                      type="tel"
939                      id="qualifying-questions-modal-phoneNumber"
940                      name="phoneNumber"
941                      style="padding: 12px 16px; font-size: 16px; border: 1px solid #848484; border-radius: 8px; background: transparent; color: black; width: 100%; box-sizing: border-box; outline: none;"
942                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
943                      required
944                      placeholder="Phone"
945                      aria-label="Phone Number"
946                      inputmode="tel"
947                      autocomplete="tel"
948                      onfocus="this.style.borderColor='black';"
949                      onblur="this.style.borderColor='#848484';"
950                    />
951                  </div>
952        
953                  <div style="margin-bottom: 20px;">
954                    <label for="qualifying-questions-modal-interest" style="display:none;">
955                      Interest
956                    </label>
957                    <select
958                      id="qualifying-questions-modal-interest"
959                      name="interest"
960                      required
961                      data-label="Interest"
962                      aria-label="Interest"
963                      style="padding: 12px 16px; font-size: 16px; border: 1px solid #848484; border-radius: 8px; background: #fff; color: #848484; width: 100%; box-sizing: border-box; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22%3E%3Cpath fill=%22%23666%22 d=%22M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z%22/%3E%3C/svg%3E'); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px;"
964                      onfocus="this.style.borderColor='black'; this.style.color='black';"
965                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
966                    >
967                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
968                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
969                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
970                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
971                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
972                      <option value="Other" style="background: #fff; color: black;">Other</option>
973                    </select>
974                  </div>
975        
976                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
977                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
978                    <label class='lp-tcr-content'>
979                      <span class='lp-tcr-checkbox'>
980                        <input
981                          type='checkbox'
982                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
983                          name='termsAccepted'
984                          aria-describedby='qualifying-questions-modal-disclaimer-text'
985                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
986                          oninput="this.setCustomValidity('')"
987                          required
988                        /></span>
989                      <span class='lp-tcr-message'>
990                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
991                          
992                            I agree to be contacted by
993                            <strong>Ricardo Rodriguez &amp; Associates</strong>
994                            via call, email, and text <span class="disclaimer-more">for real estate services. 
995                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
996                            You can also click the unsubscribe link in the emails. 
997                            Message and data rates may apply. Message frequency may vary.</span>
998                            <span class="disclaimer-ellipsis">...</span>
999                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
1000                        </div>
1001                        <button
1002                          id="qualifying-questions-modal-toggle-disclaimer"
1003                          type="button"
1004                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
1005                          aria-expanded="false"
1006                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
1007                        >
1008                          Read more
1009                        </button>
1010                      </span>
1011                    </label>
1012                  </div>
1013        
1014                  <div>
1015                    <button
1016                      type="submit"
1017                      style="padding: 12px 24px; font-size: 16px; font-weight: normal; border-radius: 8px; border: 1px solid black; background: black; color: white; width: 100%; cursor: pointer; transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 0.5px;"
1018                      onmouseover="this.style.background='transparent'; this.style.color='black';"
1019                      onmouseout="this.style.background='black'; this.style.color='white';"
1020                    >
1021                      Submit
1022                    </button>
1023                  </div>
1024                </form>
1025              </div>
1026            </div>
1027          </div>
1028        </div>
1029
1030    
1030<script>
1031        (function() {
1032        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
1033
1034        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
1035            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
1036            entries.forEach(function(video) {
1037                if (video.isIntersecting) {
1038                for (var source in video.target.children) {
1039                    var videoSource = video.target.children[source];
1040                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
1041                    videoSource.src = videoSource.dataset.src;
1042                    }
1043                }
1044
1045                video.target.load();
1046                video.target.classList.remove("lazy");
1047                lazyVideoObserver.unobserve(video.target);
1048                }
1049            });
1050            });
1051
1052            lazyVideos.forEach(function(lazyVideo) {
1053                lazyVideoObserver.observe(lazyVideo);
1054            });
1055        }
1056        })();
1057    </script>
1057
1058
1059        <!-- Global site tag (gtag.js) - Google Analytics -->
1060        
1060<script defer src="https://www.googletagmanager.com/gtag/js"></script>
1060
1061
1062            <!-- Google Tag Manager -->
1063            
1063<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1064                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1065                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
1066                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1067            })(window,document,'script','dataLayer','GTM-M589QHP');</script>
1067
1068            <!-- End Google Tag Manager -->
1069            <!-- Google Tag Manager -->
1070            
1070<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1071                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1072                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
1073                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1074            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
1074
1075            <!-- End Google Tag Manager -->
1076
1077
1078        <!-- LP Tracker (divolte.js) - LP Divolte -->
1079            
1079<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
1079
1080        <!-- LP Tracker (eventBus) - LP EventBus -->
1081            
1081<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
1081
1082
1083    
1083<script>
1084        window.dataLayer = window.dataLayer || [];
1085        document.sendGoogleTagManagerEvent = function() {
1086            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
1087            if (window.navigator.globalPrivacyControl) {
1088                return;
1089            }
1090
1091            dataLayer.push(arguments);
1092        }
1093
1094        document.sendGoogleTagManagerEvent('js', new Date());
1095            document.sendGoogleTagManagerEvent('config', 'G-RLW9GKGDQW', { page: location.pathname, location: location.href });
1096        document.sendGoogleAnalyticsEvent = function(googleEvent) {
1097            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
1098                event_category: googleEvent.eventCategory,
1099                event_label: googleEvent.eventLabel,
1100                value: googleEvent.eventValue,
1101                page: googleEvent.page,
1102                location: googleEvent.location
1103            })
1104        };
1105
1106        document.addEventListener("DOMContentLoaded", function() {
1107            (function() {
1108                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
1109                var date = new Date();
1110                var elements = document.getElementsByClassName('auto-year-update');
1111                var i;
1112                for (i = 0; i < elements.length; i++) {
1113                    elements[i].innerText = date.getFullYear();
1114                }
1115            })();
1116            if (window.divolteLp) {
1117                window.divolteLp('sendLpPageView', {});
1118            }
1119            if (window.eventBusLp) {
1120                window.eventBusLp('sendLpPageView', {});
1121            }
1122        });
1123    </script>
1123
1124
1125
1126    
1126<script>
1127    // Function to dynamically load a script
1128    function loadScript(url, callback) {
1129        var script = document.createElement('script');
1130        script.type = 'text/javascript';
1131        script.src = url;
1132        script.defer = true;
1133        script.async = true;
1134        script.onload = callback;
1135        document.head.appendChild(script);
1136    }
1137
1138    // Function to dynamically load CSS file
1139    function loadCSS(url) {
1140        var link = document.createElement("link");
1141        link.rel = "stylesheet";
1142        link.href = url;
1143        document.head.appendChild(link);
1144    }
1145
1146    // Global methods / variables that can be accessed by element js
1147    window.luxuryPresence = {
1148        libs: {
1149            loadJs: loadScript,
1150            loadCss: loadCSS,
1151            jsLibsMap: {
1152                paroller: {
1153                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
1154                    isLoaded: false,
1155                },
1156                ionRangeSlider: {
1157                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
1158                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
1159                    isLoaded: false,
1160                    requires: ['jquery'],
1161                },
1162                splide: {
1163                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
1164                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
1165                    isLoaded: false,
1166                },
1167                wow: {
1168                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
1169                    isLoaded: false,
1170                },
1171                jquery: {
1172                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
1173                    isLoaded: false,
1174                },
1175                slick: {
1176                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
1177                    isLoaded: false,
1178                    requires: ['jquery'],
1179                },
1180                libphonenumber: {
1181                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
1182                    isLoaded: false,
1183                },
1184            },
1185        },
1186    };
1187    </script>
1187
1188    
1188<script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer" onload="window.luxuryPresence.libs.jsLibsMap.jquery.isLoaded = true"></script>
1188
1189    
1189<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1189
1190    
1190<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1190
1191    
1191<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1191
1192    
1192<script defer src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" onload="window.luxuryPresence.libs.jsLibsMap.slick.isLoaded = true"></script>
1192
1193    
1193<script defer src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js" onload="window.luxuryPresence.libs.jsLibsMap.wow.isLoaded = true"></script>
1193
1194    
1194<script defer src="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js" onload="window.luxuryPresence.libs.jsLibsMap.ionRangeSlider.isLoaded = true"></script>
1194
1195
1196    <!-- GOOGLE TRANSLATE SCRIPT -->
1197    
1197<script>
1198        function googleTranslateElementInit() {
1199            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
1200            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
1201            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
1202            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
1203                translate.innerText = '';
1204                new google.translate.TranslateElement({
1205                    pageLanguage: 'en',
1206                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
1207                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
1208                }, translate);
1209            });
1210        }
1211    </script>
1211
1212    
1212<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1212
1213            
1213<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1213
1214
1215    <!-- GOOGLE TRANSLATE SCRIPT END-->
1216    
1216<script>
1217
1218        // UI helpers
1219        (function () {
1220
1221            function getSideMenu () {
1222                return document.querySelector('body > div.sidemenu');
1223            }
1224
1225            function sideMenuHide (instant) {
1226                var sideMenu = getSideMenu();
1227                if (!sideMenu || !sideMenu.classList.contains('visible')) {
1228                  return;
1229                }
1230                sideMenu.classList.remove('visible');
1231                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
1232                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
1233            }
1234
1235            function sideMenuShow () {
1236                var sideMenu = getSideMenu();
1237                if (!sideMenu || sideMenu.classList.contains('visible')) {
1238                  return;
1239                }
1240                sideMenu.classList.add('visible');
1241                sideMenu.dispatchEvent(new Event('lpui-show'));
1242                window.dispatchEvent(new Event('lpui-sidemenu-show'));
1243            }
1244
1245            function sideMenuToggle () {
1246                var sideMenu = getSideMenu();
1247                if (!sideMenu) {
1248                  return;
1249                }
1250                var isSideMenuVisible = sideMenu.classList.contains('visible');
1251                if (isSideMenuVisible) {
1252                    sideMenuHide();
1253                } else {
1254                    sideMenuShow();
1255                }
1256            }
1257
1258            var scrollLockRequests = {};
1259            window.__debug_scrollLockRequests = scrollLockRequests;
1260            var hideScrollStyles = ''+
1261                    'body {'+
1262                    'overflow: hidden;' +
1263                    '}';
1264            var hideScrollId = 'hide-body-scroll-style';
1265
1266            function scrollLock () {
1267                var style = document.createElement('style');
1268                style.id = hideScrollId;
1269                style.textContent = hideScrollStyles;
1270                document.head.appendChild(style);
1271                window.dispatchEvent(new Event('lpui-scroll-locked'));
1272            }
1273
1274            function scrollUnlock () {
1275                document.getElementById(hideScrollId)?.remove();
1276                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
1277            }
1278
1279            function requestScrollLock (lockId) {
1280                var wasLocked = Object.keys(scrollLockRequests).length > 0;
1281                scrollLockRequests[lockId || '__anonymous_lock'] = true;
1282                if (!wasLocked) {
1283                    scrollLock();
1284                }
1285            }
1286
1287            function releaseScrollLock (lockId) {
1288                if (lockId) {
1289                    delete scrollLockRequests[lockId];
1290                    if (!Object.keys(scrollLockRequests).length) {
1291                        scrollUnlock();
1292                    }
1293                } else {
1294                    scrollLockRequests = {};
1295                    window.__debug_scrollLockRequests = scrollLockRequests;
1296                    scrollUnlock();
1297                }
1298            }
1299
1300            function showModal (modalId, options) {
1301                var modal = document.getElementById(modalId);
1302                if (!modal) {
1303                    return;
1304                }
1305
1306                if (!modal.classList.contains('visible')) {
1307                    modal.classList.add('visible');
1308                    if (options && options.scrollLock) {
1309                        window.lpUI.requestScrollLock(modalId);
1310                    }
1311                    modal.dispatchEvent(new Event('lpui-show'));
1312                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
1313                }
1314
1315                const visibleModals = document.querySelectorAll('.modal.visible');
1316
1317                if (visibleModals.length > 1) {
1318
1319                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
1320                        const zIndex = window.getComputedStyle(modal).zIndex;
1321                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
1322                        return Math.max(maxZIndex, parsedZIndex);
1323                    }, 0);
1324
1325                    modal.style.zIndex = maxZIndex + 1;
1326                }
1327
1328            }
1329
1330            function _hideModal (modalEl) {
1331                if (!modalEl) {
1332                    return;
1333                }
1334                if (!modalEl.classList.contains('visible')) {
1335                    return;
1336                }
1337                modalEl.classList.remove('visible');
1338                modalEl.style.zIndex = '';
1339                modalEl.dispatchEvent(new Event('lpui-hide'));
1340                var modalId = modalEl.getAttribute('id');
1341                if (modalId) {
1342                    window.lpUI.releaseScrollLock(modalId);
1343                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
1344                }
1345            }
1346
1347            function hideModal (modalId) {
1348                _hideModal(document.getElementById(modalId));
1349            }
1350
1351            function hideClosestModal (el) {
1352              const modal = el?.closest('.modal');
1353              if (!modal) {
1354                return;
1355              }
1356              if (modal.classList) {
1357                _hideModal(modal);
1358                return;
1359              }
1360              if (modal.length && modal[0].classList) {
1361                _hideModal(modal[0]);
1362              }
1363            }
1364
1365            window.lpUI = {
1366                sideMenuHide: sideMenuHide,
1367                sideMenuShow: sideMenuShow,
1368                sideMenuToggle: sideMenuToggle,
1369                requestScrollLock: requestScrollLock,
1370                releaseScrollLock: releaseScrollLock,
1371                showModal: showModal,
1372                hideModal: hideModal,
1373                hideClosestModal: hideClosestModal
1374            }
1375        })();
1376
1377        var stringifyPrimitive = function(v) {
1378            switch (typeof v) {
1379                case 'string':
1380                    return v;
1381
1382                case 'boolean':
1383                    return v ? 'true' : 'false';
1384
1385                case 'number':
1386                    return isFinite(v) ? v : '';
1387
1388                default:
1389                    return '';
1390            }
1391        };
1392
1393        function objectToQuerystring(obj, sep, eq, name) {
1394            // https://github.com/Gozala/querystring/blob/master/encode.js
1395            sep = sep || '&';
1396            eq = eq || '=';
1397            if (obj === null) {
1398                obj = undefined;
1399            }
1400
1401            if (typeof obj === 'object') {
1402                return Object.keys(obj).map(function(k) {
1403                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
1404                    if (Array.isArray(obj[k])) {
1405                        return obj[k].map(function(v) {
1406                            return ks + encodeURIComponent(stringifyPrimitive(v));
1407                        }).join(sep);
1408                    } else {
1409                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
1410                    }
1411                }).filter(Boolean).join(sep);
1412
1413            }
1414
1415            if (!name) return '';
1416            return encodeURIComponent(stringifyPrimitive(name)) + eq +
1417                    encodeURIComponent(stringifyPrimitive(obj));
1418        }
1419
1420        function getPath(url, options) {
1421            var parser = document.createElement('a');
1422            parser.href = url || '';
1423            var path = parser.pathname || '';
1424            if (path[0] !== '/') {
1425              // IE does not return path starting with a slash
1426              path = '/' + path;
1427            }
1428
1429            if (options && options.queryString) {
1430                path += parser.search;
1431            }
1432
1433            return path;
1434        }
1435
1436        function getMLSAutocomplete(keyword) {
1437            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1438            var query = {
1439                kind: 'listings',
1440                query: keyword
1441            };
1442
1443            return superagent
1444                .get(searchURL)
1445                .query(query)
1446                .then(function(res) {
1447                    var data = res.body || [];
1448                    // Array of listing_auto_complete documents: id, display_address, city, state,
1449                    // price, sold_price, status, status_modified_at, photo_urls (array of URLs).
1450
1451                    return data;
1452                });
1453        }
1454
1455        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
1456            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1457
1458            return superagent
1459                .get(searchURL)
1460                .query({ kind: 'listings', query: keyword, ...filters })
1461                .then(function(res) {
1462                    // Same response shape as getMLSAutocomplete.
1463                    return res.body || [];
1464                });
1465        }
1466
1467        function makeMlsLink(data) {
1468            // Code Dupe from utils/googlePlace
1469            // mapping of google data type to mls data type
1470            var mapping = {
1471                neighborhood: 'neighborhood',
1472                locality: 'place',
1473                administrative_area_level_2: 'county',
1474                administrative_area_level_1: 'state',
1475                postal_code: 'postalcode',
1476            };
1477
1478            function _filterTypes(types) {
1479                return types.filter(function(type) { return type !== 'political' });
1480            }
1481
1482            if (!data || !Object.keys(data).length) {
1483                return '/home-search/listings';
1484            }
1485
1486            var newData = {};
1487            _filterTypes(data.types).forEach(function(type) {
1488                if (mapping[type]) {
1489                    newData.search_type = mapping[type];
1490                }
1491            });
1492            newData.omnibox = data.formatted_address;
1493            data.address_components.forEach(function(component) {
1494                _filterTypes(component.types).forEach(function(type) {
1495                    if (mapping[type]) {
1496                        newData[mapping[type]] = component.long_name;
1497                    }
1498                });
1499            });
1500            var bounds = data.geometry.bounds;
1501            var convertedData = Object.assign(bounds, newData);
1502
1503            return '/home-search/listings?' + objectToQuerystring(convertedData);
1504        }
1505
1506        function debounce(func, wait) {
1507            let timeout;
1508            return function(...args) {
1509                const context = this;
1510                clearTimeout(timeout);
1511                timeout = setTimeout(() => func.apply(context, args), wait)
1512            }
1513        }
1514
1515        // Global methods / variables that can be accessed by element js
1516        window.luxuryPresence = {
1517            ...window.luxuryPresence,
1518            defaults: {
1519                companyId: 'be9e662d-d28f-4f3b-9f8d-cb20d3c0b372',
1520                apiGatewayUrl: '/api-gw',
1521                routerUrl: '/api-nv',
1522                gql: {"agents":"\n  query Agents (\n    $agentId: ID\n    $agentIds: [ID!]\n    $companyId: String\n    $network: Boolean\n    $networkId: String\n    $officeId: [ID!]\n    $excludeOfficeId: [ID!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $tags: [String]\n    $tagsMode: TagsModeEnum\n    $teamId: [ID!]\n    $developmentId: [ID!]\n    $prioritizeIds: Boolean\n  ) {\n    agents (\n      agentId: $agentId\n      agentIds: $agentIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      officeId: $officeId\n      excludeOfficeId: $excludeOfficeId\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      tags: $tags\n      tagsMode: $tagsMode\n      teamId: $teamId\n      developmentId: $developmentId\n      prioritizeIds: $prioritizeIds\n    ) {\n      id\n      firstName\n      lastName\n      avatar {\n        smallUrl\n        mediumUrl\n        largeUrl\n        height\n        width\n      }\n      position\n      bioLong\n      bioShort\n      seoTitle\n      seoDescription\n      slug\n      phoneNumber\n      phoneNumber2\n      license\n      email\n      leadAgent\n      greaterArea\n      tags\n    }\n    agentsCount(\n      agentIds: $agentIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      officeId: $officeId\n      excludeOfficeId: $excludeOfficeId\n      search: $search\n      tags: $tags\n      tagsMode: $tagsMode\n      teamId: $teamId\n      developmentId: $developmentId\n      prioritizeIds: $prioritizeIds\n    ) {\n      count\n    }\n  }\n","properties":"\n  query Properties(\n    $agentIds: [ID!]\n    $teamIds: [ID!]\n    $neighborhoodIds: [ID!]\n    $officeIds: [ID!]\n    $propertyId: ID\n    $companyId: String\n    $networkId: String\n    $network: Boolean\n    $statusId: String\n    $propertyIds: [ID!]\n    $prioritizeIds: Boolean\n    $statusIds: [String!]\n    $excludeStatusId: [String!]\n    $neighborhoodId: String\n    $addressState: [String!]\n    $addressCity: [String!]\n    $relatedNeighborhoodPropertyId: String\n    $developmentId: String\n    $featuredListing: Boolean\n    $leaseProperty: Boolean\n    $search: String\n    $searchTermMode: SearchTermModeEnum\n    $globalProperty: Boolean\n    $archived: Boolean\n    $salesPriceGTE: Float\n    $salesPriceLTE: Float\n    $leasePriceGTE: Float\n    $leasePriceLTE: Float\n    $livingSpaceSizeGTE: Float\n    $livingSpaceSizeLTE: Float\n    $bathCountGTE: Float\n    $bathCountLTE: Float\n    $bedroomCountGTE: Float\n    $bedroomCountLTE: Float\n    $architectureStyle: String\n    $lifestyle: String\n    $propertyTypeId: String\n    $propertyTypeIds: [String!]\n    $spaceTypeIds: [ID!]\n    $tag: String\n    $backfillMLSResults: Boolean\n    $displayMLSListings: String\n    $hostname: String\n    $websiteId: ID\n    $backfillProviders: [String!]\n    $backfillMLSListingIds: [String!]\n    $backfillMLSAgentIds: [String!]\n    $backfillMLSOfficeIds: [String!]\n    $backfillBoundary: JSON\n    $openHouse: Boolean\n    $withGeo: Boolean\n    $advancedFilters: JSON\n    $seasonalPriceId: ID\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n  ) {\n    properties(\n      \n      agentIds: $agentIds\n      teamIds: $teamIds\n      propertyId: $propertyId\n      propertyIds: $propertyIds\n      prioritizeIds: $prioritizeIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      statusId: $statusId\n      statusIds: $statusIds\n      excludeStatusId: $excludeStatusId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n      officeIds: $officeIds\n      addressState: $addressState\n      addressCity: $addressCity\n      developmentId: $developmentId\n      featuredListing: $featuredListing\n      leaseProperty: $leaseProperty\n      search: $search\n      searchTermMode: $searchTermMode\n      salesPriceGTE: $salesPriceGTE\n      salesPriceLTE: $salesPriceLTE\n      leasePriceGTE: $leasePriceGTE\n      leasePriceLTE: $leasePriceLTE\n      livingSpaceSizeGTE: $livingSpaceSizeGTE\n      livingSpaceSizeLTE: $livingSpaceSizeLTE\n      bathCountGTE: $bathCountGTE\n      bathCountLTE: $bathCountLTE\n      bedroomCountGTE: $bedroomCountGTE\n      bedroomCountLTE: $bedroomCountLTE\n      architectureStyle: $architectureStyle\n      lifestyle: $lifestyle\n      propertyTypeId: $propertyTypeId\n      propertyTypeIds: $propertyTypeIds\n      spaceTypeIds: $spaceTypeIds\n      tag: $tag\n      archived: $archived\n      globalProperty: $globalProperty\n      withGeo: $withGeo\n      openHouse: $openHouse\n      displayMLSListings: $displayMLSListings\n      advancedFilters: $advancedFilters\n      seasonalPriceId: $seasonalPriceId\n\n      relatedNeighborhoodPropertyId: $relatedNeighborhoodPropertyId\n      backfillMLSResults: $backfillMLSResults\n      hostname: $hostname\n      websiteId: $websiteId\n      backfillProviders: $backfillProviders\n      backfillMLSListingIds: $backfillMLSListingIds\n      backfillMLSAgentIds: $backfillMLSAgentIds\n      backfillMLSOfficeIds: $backfillMLSOfficeIds\n      backfillBoundary: $backfillBoundary\n      offset: $offset\n      limit: $limit\n      sort: $sort,\n      sortDir: $sortDir\n    ){\n      id\n      name\n      status\n      originalStatus {\n        id\n        name\n      }\n      salesPrice\n      reducedPrice\n      isPasswordProtected\n      bedroomCount\n      bathCount\n      fullBathCount\n      halfBathCount\n      threeQuarterBathCount\n      fullAddress\n      addressLine1\n      addressLine2\n      addressCity\n      addressState\n      addressCountry\n      postalCode\n      description\n      syncedAt\n      officeName\n      attributionContact\n      neighborhood {\n        id\n      }\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n      slug\n      fromMLS\n      mlsId\n      mlsLogo\n      mlsAttribution\n      openHouse\n      openHouseHours\n      priceUponRequest\n      privateAddress\n      leaseProperty\n      leasePrice\n      currency\n      leaseTermFrequencyInterval\n      leaseTermFrequencyCount\n      leasePeriod\n      livingSpaceSize\n      livingSpaceUnits\n      lotAreaSize\n      lotAreaUnits\n      tags\n      latitude\n      longitude\n      soldDate\n      timeZone\n      buyerAgencyCompensation\n      buyerAgencyCompensationType\n      landIdUrl\
1522n    }\n    propertiesCount(\n    \n      agentIds: $agentIds\n      teamIds: $teamIds\n      propertyId: $propertyId\n      propertyIds: $propertyIds\n      prioritizeIds: $prioritizeIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      statusId: $statusId\n      statusIds: $statusIds\n      excludeStatusId: $excludeStatusId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n      officeIds: $officeIds\n      addressState: $addressState\n      addressCity: $addressCity\n      developmentId: $developmentId\n      featuredListing: $featuredListing\n      leaseProperty: $leaseProperty\n      search: $search\n      searchTermMode: $searchTermMode\n      salesPriceGTE: $salesPriceGTE\n      salesPriceLTE: $salesPriceLTE\n      leasePriceGTE: $leasePriceGTE\n      leasePriceLTE: $leasePriceLTE\n      livingSpaceSizeGTE: $livingSpaceSizeGTE\n      livingSpaceSizeLTE: $livingSpaceSizeLTE\n      bathCountGTE: $bathCountGTE\n      bathCountLTE: $bathCountLTE\n      bedroomCountGTE: $bedroomCountGTE\n      bedroomCountLTE: $bedroomCountLTE\n      architectureStyle: $architectureStyle\n      lifestyle: $lifestyle\n      propertyTypeId: $propertyTypeId\n      propertyTypeIds: $propertyTypeIds\n      spaceTypeIds: $spaceTypeIds\n      tag: $tag\n      archived: $archived\n      globalProperty: $globalProperty\n      withGeo: $withGeo\n      openHouse: $openHouse\n      displayMLSListings: $displayMLSListings\n      advancedFilters: $advancedFilters\n      seasonalPriceId: $seasonalPriceId\n\n    ) {\n      count\n    }\n  }\n","pressReleases":"\n  query PressReleases (\n    $companyId: ID\n    $pressReleaseIds: [ID!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n    $categories: [String!]\n    $propertyId: [ID!]\n    $developmentId: [ID!]\n    $agentId: [ID!]\n    $teamId: [ID!]\n    $year: [Int!]\n  ) {\n    pressReleases (\n      companyId: $companyId\n      pressReleaseIds: $pressReleaseIds\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      categories: $categories\n      propertyId: $propertyId\n      developmentId: $developmentId\n      agentId: $agentId\n      teamId: $teamId\n      year: $year\n    ) {\n      items {\n        id\n        title\n        description\n        author\n        externalUrl\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        publishedAt\n        categories\n      }\n      total\n    }\n  }\n","posts":"\n  query Posts (\n    $companyId: String\n    $postId: [ID!]\n    $slug: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n    $featured: Boolean\n    $categoryId: [String!]\n    $neighborhoodId: [String!]\n  ) {\n    posts (\n      companyId: $companyId\n      postId: $postId\n      slug: $slug\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      featured: $featured\n      postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n      categoryId: $categoryId\n      neighborhoodId: $neighborhoodId\n    ) {\n      items {\n        id\n        postId\n        title\n        subtitle\n        description\n        status: postStatus\n        featured\n        slug\n        categories {\n          id\n          name\n        }\n        createdAt\n        publishedAt\n        updatedAt\n        scheduledAt\n        createdBy {\n          ... on Agent {\n            firstName\n            lastName\n          }\n        }\n        customAuthor\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        seoTitle\n        seoDescription\n      }\n      total\n    }\n  }\n","testimonials":"\n  query Testimonials (\n    $companyId: String\n    $agentId: ID\n    $teamId: ID\n    $testimonialIds: [ID!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n  ) {\n    testimonials (\n      companyId: $companyId\n      agentId: $agentId\n      teamId: $teamId\n      testimonialIds: $testimonialIds\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n    ) {\n      items {\n        id\n        testimonialId\n        body\n        author\n        position\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        seoTitle\n        seoDescription\n        agents {\n          slug\n          email\n          firstName\n          lastName\n          avatar {\n            smallUrl\n            height\n            width\n          }\n        }\n      }\n      total\n    }\n  }\n","neighborhoods":"\n  query Neighborhoods (\n    $neighborhoodId: ID\n    $companyId: String\n    $search: String\n    $tag: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n  ) {\n    neighborhoods (\n      neighborhoodId: $neighborhoodId\n      companyId: $companyId\n      search: $search\n      tag: $tag\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n    ) {\n      id\n      name\n      description\n      descriptionShort\n      slug\n      tags\n      googlePlaceData\n      mlsLink\n      createdAt\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n    }\n    neighborhoodsCount(\n      companyId: $companyId\n      search: $search\n      tag: $tag\n    ) {\n      count\n    }\n  }\n","developments":"\n  query Developments (\n    $companyId: ID!\n    $developmentIds: [ID!]\n    $agentId: String\n    $slug: String\n    $search: String\n    $tag: [String!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirection\n    $neighborhoodId: ID\n    $neighborhoodIds: [ID!]\n  ) {\n    developments (\n      companyId: $companyId\n      developmentIds: $developmentIds\n      agentId: $agentId\n      slug: $slug\n      search: $search\n      tag: $tag\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      items {\n        id\n        name\n        description\n        descriptionShort\n        slug\n        createdAt\n        updatedAt\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        logoMedia {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        websiteUrl\n        videoUrl\n        googlePlaceData\n        coordinates\n        mlsLink\n        seoTitle\n        seoDescription\n        featuresAndAmenities {\n          featureIds\n          features {\n            featureId\n            name\n          }\n          description\n        }\n        latitude\n        longitude\n        addressLine1\n        addressLine2\n        city\n        state\n        zipCode\n        country\n        yearCompleted\n        residences\n        availability\n        neighborhoodId\n        developer\n        architect\n        interiorDesigner\n        stories\n        buildingHeight\n        buildingHeightUnit\n        bedMin\n        bedMax\n        bathMin\n        bathMax\n        livingSpaceMin\n        livingSpaceMa
1522x\n        livingSpaceUnit\n        lotSizeMin\n        lotSizeMax\n        lotSizeUnit\n        priceMin\n        priceMax\n        priceCurrency\n        tags\n      }\n      total\n    }\n  }\n","pois":"\n  query PointsOfInterest (\n    $regionId: UUID!\n    $radius: Int\n    $offset: Int\n    $limit: Int\n    $categories: [AreasOfInterestCategories!]\n    $sortBy: AreasOfInterestSorting\n  ) {\n    pois: areasOfInterest (\n      input: {\n        regionId: $regionId\n        radius: $radius\n        offset: $offset\n        limit: $limit\n        categories: $categories\n        sortBy: $sortBy\n      }\n    ) {\n      items {\n        name\n        imageUrl\n        url\n        reviewCount\n        rating\n        price\n        displayPhone\n        distance\n        category\n        location {\n          address1\n          address2\n          address3\n          city\n          zipCode\n          country\n          state\n        }\n      }\n      total\n    }\n  }\n","offices":"\n  query Offices (\n    $companyId: ID!\n    $officeIds: [ID!]\n    $officeMlsIds: [String!]\n    $externalIds: [String!]\n    $externalSource: String\n    $agentId: ID\n    $archived: Boolean\n    $tags: [String!]\n    $slug: String\n    $search: String\n    $sort: String\n    $sortDir: SortDirection\n    $offset: Int\n    $limit: Int\n  ) {\n    offices (\n      companyId: $companyId\n      officeIds: $officeIds\n      officeMlsIds: $officeMlsIds\n      externalIds: $externalIds\n      externalSource: $externalSource\n      agentId: $agentId\n      archived: $archived\n      tags: $tags\n      slug: $slug\n      search: $search\n      sort: $sort\n      sortDir: $sortDir\n      offset: $offset\n      limit: $limit\n    ) {\n      items {\n        id\n        companyId\n        name\n        slug\n        officeMlsId\n        shortDescription\n        fullDescription\n        addressLine1\n        addressLine2\n        addressCity\n        addressState\n        addressPostalCode\n        addressCountry\n        phone\n        email\n        officeHours\n        coordinates\n        googlePlaceData\n        seoTitle\n        seoDescription\n        fullAddress\n        tags\n        media {\n          id\n          originalUrl\n          thumbnailUrl\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n        }\n      }\n      total\n    }\n  }\n","teams":"\n  query Teams (\n    $companyId: ID\n    $teamIds: [ID!]\n    $agentId: ID\n    $externalIds: [String!]\n    $externalSource: String\n    $slug: String\n    $search: String\n    $sort: String\n    $sortDir: String\n    $offset: Int\n    $limit: Int\n  ) {\n    teams (\n      companyId: $companyId\n      teamIds: $teamIds\n      agentId: $agentId\n      externalIds: $externalIds\n      externalSource: $externalSource\n      slug: $slug\n      search: $search\n      sort: $sort\n      sortDir: $sortDir\n      offset: $offset\n      limit: $limit\n    ) {\n      items {\n        id\n        companyId\n        name\n        email\n        shortBio\n        addressLine1\n        addressLine2\n        addressCity\n        addressState\n        addressCountry\n        phoneNumber1\n        phoneNumber2\n        postalCode\n        avatar {\n          id\n          thumbnailUrl\n          smallUrl\n          mediumUrl\n          largeUrl\n        }\n        urlWebsite\n        socialLinks\n        socialLinksArray\n        tags\n        seoTitle\n        seoDesc\n        slug\n        displayOrder\n      }\n      total\n    }\n  }\n"},
1523                propertyPlaceholderImage: {"id":"c8548681-a098-46a0-92b6-b508fad5ce63","alt":null,"bytes":39860,"width":1920,"format":"png","height":1200,"pngUrl":"","shared":true,"curated":false,"duration":null,"largeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","smallUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","authorUrl":null,"createdAt":"2026-01-28T19:11:12.026Z","mediumUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","sourceUrl":null,"updatedAt":"2026-01-28T19:11:12.026Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","__typename":"Media","altTagText":null,"authorName":null,"sourceName":"r2","xxLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","description":null,"displayName":"property_lockup_logo-4","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","resourceType":"image","thumbnailUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=320/https://media-production.lp-cdn.com/media/b7a32620-e699-48d6-b2a9-0941d5fbc6ce","originalFileName":"Property_lockup_logo (4)","cloudinaryPublicId":"b7a32620-e699-48d6-b2a9-0941d5fbc6ce"}
1524            },
1525            objectToQuerystring: objectToQuerystring,
1526            getPath: getPath,
1527            getMLSAutocomplete: getMLSAutocomplete,
1528            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
1529            makeMlsLink: makeMlsLink,
1530            debounce: debounce,
1531        };
1532
1533        var wowOffset = 100;
1534    </script>
1534
1535    
1535<script>
1536        (()=>{function e(e){return e&&e.__esModule?e.default:e}var t=globalThis,r={},i={},s=t.parcelRequired4f7;null==s&&((s=function(e){if(e in r)return r[e].exports;if(e in i){var t=i[e];delete i[e];var s={id:e,exports:{}};return r[e]=s,t.call(s.exports,s,s.exports),s.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){i[e]=t},t.parcelRequired4f7=s);var o=s.register;o("ikl6F",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.formatMoney=e.exports.convertAmount=e.exports.fetchExchangeRates=e.exports.toSupportedToCurrency=e.exports.toSupportedFromCurrency=e.exports.SUPPORTED_TO_CURRENCIES=e.exports.SUPPORTED_FROM_CURRENCIES=e.exports.DISPLAY_CURRENCIES=e.exports.writeCurrencyCookie=e.exports.readValidCurrencyCookie=e.exports.readCurrencyCookie=e.exports.clearCurrencyCookie=e.exports.CURRENCY_COOKIE_SAME_SITE=e.exports.CURRENCY_COOKIE_PATH=e.exports.CURRENCY_COOKIE_NAME=e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=void 0;var r=s("65bUu");Object.defineProperty(e.exports,"CURRENCY_COOKIE_MAX_AGE_SECONDS",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_MAX_AGE_SECONDS}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_NAME",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_NAME}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_PATH",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_PATH}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_SAME_SITE",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_SAME_SITE}}),Object.defineProperty(e.exports,"clearCurrencyCookie",{enumerable:!0,get:function(){return r.clearCurrencyCookie}}),Object.defineProperty(e.exports,"readCurrencyCookie",{enumerable:!0,get:function(){return r.readCurrencyCookie}}),Object.defineProperty(e.exports,"readValidCurrencyCookie",{enumerable:!0,get:function(){return r.readValidCurrencyCookie}}),Object.defineProperty(e.exports,"writeCurrencyCookie",{enumerable:!0,get:function(){return r.writeCurrencyCookie}});var i=s("gUuHZ");Object.defineProperty(e.exports,"DISPLAY_CURRENCIES",{enumerable:!0,get:function(){return i.DISPLAY_CURRENCIES}}),Object.defineProperty(e.exports,"SUPPORTED_FROM_CURRENCIES",{enumerable:!0,get:function(){return i.SUPPORTED_FROM_CURRENCIES}}),Object.defineProperty(e.exports,"SUPPORTED_TO_CURRENCIES",{enumerable:!0,get:function(){return i.SUPPORTED_TO_CURRENCIES}}),Object.defineProperty(e.exports,"toSupportedFromCurrency",{enumerable:!0,get:function(){return i.toSupportedFromCurrency}}),Object.defineProperty(e.exports,"toSupportedToCurrency",{enumerable:!0,get:function(){return i.toSupportedToCurrency}});var o=s("jCxYG");Object.defineProperty(e.exports,"fetchExchangeRates",{enumerable:!0,get:function(){return o.fetchExchangeRates}});var n=s("igUcG");Object.defineProperty(e.exports,"convertAmount",{enumerable:!0,get:function(){return n.convertAmount}}),Object.defineProperty(e.exports,"formatMoney",{enumerable:!0,get:function(){return n.formatMoney}})}),o("65bUu",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.readValidCurrencyCookie=e.exports.clearCurrencyCookie=e.exports.writeCurrencyCookie=e.exports.readCurrencyCookie=e.exports.CURRENCY_COOKIE_PATH=e.exports.CURRENCY_COOKIE_SAME_SITE=e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=e.exports.CURRENCY_COOKIE_NAME=void 0;var r=s("gUuHZ");e.exports.CURRENCY_COOKIE_NAME="lp-currency",e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=31536e3,e.exports.CURRENCY_COOKIE_SAME_SITE="Lax",e.exports.CURRENCY_COOKIE_PATH="/";let i=e=>e?.trim().toLowerCase().replace(/^\.+/,"")||void 0,o=e=>"undefined"!=typeof DOMException&&e instanceof DOMException,n=({document:t})=>{let r=`${e.exports.CURRENCY_COOKIE_NAME}=`;return t.cookie.split(";").map(e=>e.trim()).filter(e=>e.startsWith(r)).map(e=>e.slice(r.length))},a=e=>{try{return decodeURIComponent(e)}catch{return}};e.exports.readCurrencyCookie=e=>{let t=(e=>{try{return n(e)[0]}catch(e){if(!o(e))throw e;return}})(e);return void 0===t?void 0:a(t)};let l=(t,r,i,s)=>{var o;let n,a;t.document.cookie=`${e.exports.CURRENCY_COOKIE_NAME}=${r}${o=t.location,n="https:"===o.protocol?"; Secure":"",a=s?`; Domain=${s}`:"",`; Path=${e.exports.CURRENCY_COOKIE_PATH}; Max-Age=${i}; SameSite=${e.exports.CURRENCY_COOKIE_SAME_SITE}${n}${a}`}`};e.exports.writeCurrencyCookie=(t,s)=>{let a,d=(0,r.toSupportedToCurrency)(s);if(!d)return!1;let c=i(t.domain);try{if(a=n(t)[0],c&&l(t,"",0,void 0),l(t,encodeURIComponent(d),e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS,c),(0,e.exports.readCurrencyCookie)(t)===d)return!0}catch(e){if(!o(e))throw e}return c&&void 0!==a&&((t,r)=>{try{if(n(t).includes(r))return;l(t,r,e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS,void 0)}catch(e){if(!o(e))throw e}})(t,a),!1},e.exports.clearCurrencyCookie=e=>{let t=i(e.domain);try{t&&l(e,"",0,void 0),l(e,"",0,t)}catch(e){if(!o(e))throw e}},e.exports.readValidCurrencyCookie=(t,{enabled:s,enabledCurrencies:d})=>{if(!s)return;let c=(e=>{try{let t=n(e);if(!i(e.domain)||t.length<2)return t[0];return l(e,"",0,void 0),n(e)[0]}catch(e){if(!o(e))throw e;return}})(t);if(void 0===c)return;let u=new Set(d.map(r.toSupportedToCurrency).filter(e=>!!e)),h=(0,r.toSupportedToCurrency)(a(c));
1536if(h&&u.has(h))return h;(0,e.exports.clearCurrencyCookie)(t)}}),o("gUuHZ",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.toSupportedToCurrency=e.exports.SUPPORTED_TO_CURRENCIES=e.exports.DISPLAY_CURRENCIES=e.exports.toSupportedFromCurrency=e.exports.SUPPORTED_FROM_CURRENCIES=void 0,e.exports.SUPPORTED_FROM_CURRENCIES=["usd","cad","eur","gbp"];let r=(e,t)=>{if("string"!=typeof e)return;let r=e.toLowerCase();return t.includes(r)?r:void 0};e.exports.toSupportedFromCurrency=t=>r(t,e.exports.SUPPORTED_FROM_CURRENCIES),e.exports.DISPLAY_CURRENCIES=[{code:"usd",name:"US dollar"},{code:"eur",name:"Euro"},{code:"gbp",name:"Pound sterling"},{code:"cad",name:"Canadian dollar"},{code:"chf",name:"Swiss franc"},{code:"brl",name:"Brazilian real"},{code:"mxn",name:"Mexican peso"},{code:"sek",name:"Swedish krona"},{code:"nok",name:"Norwegian krone"},{code:"dkk",name:"Danish krone"},{code:"ars",name:"Argentine peso"},{code:"cop",name:"Colombian peso"},{code:"clp",name:"Chilean peso"},{code:"pen",name:"Peruvian sol"},{code:"dop",name:"Dominican peso"},{code:"gtq",name:"Guatemalan quetzal"},{code:"crc",name:"Costa Rican colón"},{code:"bob",name:"Bolivian boliviano"},{code:"pyg",name:"Paraguayan guaraní"},{code:"kyd",name:"Cayman Islands dollar"}],e.exports.SUPPORTED_TO_CURRENCIES=e.exports.DISPLAY_CURRENCIES.map(e=>e.code),e.exports.toSupportedToCurrency=t=>r(t,e.exports.SUPPORTED_TO_CURRENCIES)}),o("jCxYG",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.fetchExchangeRates=void 0;var r=s("gUuHZ");let i=async(e,{baseUrl:t,signal:i,fetch:s,onError:o})=>{let n=(0,r.toSupportedFromCurrency)(e);if(!n)return{};let a=`${t.replace(/\/$/,"")}/api/v1/exchange-rates?from=${encodeURIComponent(n)}`;try{let e=await (s??fetch)(a,{credentials:"omit",signal:i});if(!e.ok)throw Error(`Exchange rates HTTP ${e.status}`);var l=await e.json();let t=l?.rates;if("object"!=typeof t||null===t)return{};let o={};return Object.entries(t).forEach(([e,t])=>{let i=(0,r.toSupportedToCurrency)(e);i&&"number"==typeof t&&Number.isFinite(t)&&t>0&&(o[i]=t)}),o}catch(e){try{o?.(e)}catch(e){console.warn("fetchExchangeRates: onError callback threw",e)}return{}}};e.exports.fetchExchangeRates=i}),o("igUcG",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.formatMoney=e.exports.convertAmount=void 0;var r=s("gUuHZ");e.exports.convertAmount=(e,t)=>{if(Number.isFinite(e)&&Number.isFinite(t)&&!(t<=0))return e*t},e.exports.formatMoney=(e,t,{precision:i=0}={})=>{let s=(0,r.toSupportedToCurrency)(t);if(!s||!Number.isFinite(e))return;let o=Number.isInteger(i)?i:0,n=Number.isInteger(e)?0:Math.min(Math.max(o,0),20);return new Intl.NumberFormat("en-US",{style:"currency",currency:s.toUpperCase(),minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}});var n={},a={};a={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let r=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===r[1].toLowerCase().indexOf("video"))return null;let i=r[r.length-1];i.lastIndexOf(".")>-1?i=`${i.slice(0,i.lastIndexOf("."))}.jpg`:i+=".jpg",r[r.length-1]=i;let s=3;"videos"===r[1].toLowerCase()&&""!==r[2]&&(s=2);let o=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;s<r.length-1&&o.test(r[s]);)s++;return r.splice(s,0,"so_0,eo_0"),t+r.join("/")}};let l={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "},d=/&(?:amp|lt|gt|quot|apos|nbsp|#(?:[0-9]+|[xX][0-9a-fA-F]+));/y,c=/[<&]/g,u=/["'>]/g,h=/<\/p\s*>|<br\s*\/?>|[\r\n\u2028\u2029]/g;function p(e,t){let r="";for(let i=0;i<e.length;){c.lastIndex=i;let s=c.exec(e);if(!s){r+=e.slice(i);break}let o=s.index;r+=e.slice(i,o);let n="&"===e[o]?function(e,t){d.lastIndex=t;let r=d.exec(e);return{text:r?function(e){if("#"!==e[1])return l[e.slice(1,-1)];
1536let t="x"===e[2]||"X"===e[2],r=parseInt(e.slice(t?3:2,-1),t?16:10);return 0===r||r>1114111||r>=55296&&r<=57343?e:160===r?" ":String.fromCodePoint(r)}(r[0]):"&",end:r?d.lastIndex:t+1}}(e,o):function(e,t,r){let i=function(e,t){let r=null;u.lastIndex=t+1;let i=u.exec(e);for(;i;){let t=i[0];if(r)t===r&&(r=null);else if('"'===t||"'"===t)r=t;else if(">"===t)return u.lastIndex;i=u.exec(e)}return -1}(e,t);return{text:-1===i?"<":function(e,t,r,i){if(!i)return"";let s=e.slice(t,r);if(/^<br\s*\/?>$/.test(s))return"&#10;";if(/^<\/p\s*>$/.test(s)){h.lastIndex=r;let t=h.exec(e);if(t&&"<"===t[0][0])return"&#10;"}return""}(e,t,i,r),end:-1===i?t+1:i}}(e,o,t);r+=n.text,i=n.end}return r}n=function(e,{isEqual:t}){let r=[{field:"thumbnailUrl",w:320},{field:"smallUrl",w:960},{field:"mediumUrl",w:1280},{field:"largeUrl",w:1920},{field:"xLargeUrl",w:2560},{field:"xxLargeUrl",w:3456}],i=function(e,t,r){let i="en-US";if(!e)return"";if("string"==typeof e){let t=e.trim();if(/[^+\-0-9.]/.test(t))return e;if(!(e=parseFloat(t)))return""}let s="number"==typeof r?r:0,o=Number.isInteger(e)?0:s,n={minimumFractionDigits:o,maximumFractionDigits:o};return"USD"===t?`$${e.toLocaleString(i,n)}`:"CAD"===t?`$${e.toLocaleString(i,n)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(i,n)}`:"GBP"===t?`\xa3${e.toLocaleString(i,n)}`:"PERCENT"===t?`${e}%`:"number"==typeof r&&r>-1?e.toLocaleString(i,{maximumFractionDigits:r}):e.toLocaleString(i)},s=function(e){switch(e){case"DAY":return"daily";case"MONTH":return"monthly";case"WEEK":return"weekly";case"YEAR":return"yearly";case"QUARTER":return"quarterly";case"HALF_YEAR":return"semi-annually";case"NIGHTLY":return"nightly";case"SEASONAL":return"seasonally";default:return""}},o=function(e){switch(e){case"DAY":return"day";case"WEEK":return"wk";case"MONTH":return"mo";case"YEAR":return"yr";case"QUARTER":return"3 mos";case"HALF_YEAR":return"6 mos";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},n=function(e){switch(e){case"DAY":return"day";case"WEEK":return"week";case"MONTH":return"month";case"YEAR":return"year";case"QUARTER":return"quarter";case"HALF_YEAR":return"6 months";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},l=function(e,t){let r,i,a=t||{};switch(a.mode){case"short":r=o(e),i=a.frequencySeparator||"/";break;case"standard":case"std":r=n(e),i=a.frequencySeparator||"/";break;default:r=s(e),i=a.frequencySeparator||" "}return r?a.frequencyTag||a.frequencyClass?`${i}<${a.frequencyTag||"span"}${a.frequencyClass?` class="${a.frequencyClass}"`:""}>${r}</${a.frequencyTag||"span"}>`:i+r:""};return{isEmpty(e,t){let r=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?r?t.fn(this):t.inverse(this):r},ifEquals(e,r,i){return t(e,r)?i.fn(this):i.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?p(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!1):"",striptagsLineBreaks:e=>e?p(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!0):"",truncate:(e,t,r)=>e?e.length>t?"string"==typeof r?e.slice(0,t-r.length)+r:e.slice(0,t):e:"",setSubArray(e=[],t,r,i,s){s.data.root[i]=e.slice(t,r)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:s,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>l(e,t&&t.hash),subArray(e,t,r,i){return e>=t&&e<r?i.fn(this):i.inverse(this)},formatPropertyStatus(e,t,r){let i="";switch(e){case"SOLD":i="Sold";break;case"FOR_SALE":i="For Sale";break;case"COMING_SOON":i="Coming Soon";break;case"INACTIVE":i="Inactive";break;case"POCKET_LISTING":i="Pocket Listing";break;case"PENDING":i="Pending";break;case"UNDER_CONTRACT":i="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":i="Active Under Contract";break;default:i=e}return("Sold"===i||"Leased"===i)&&t&&"string"==typeof r&&r&&(i+=` on ${r}`),i},formatGrade(e){switch(e){case"UNDERGRADUATE_COURSES":return"Undergrad";case"PRE_KINDERGARTEN":return"PreK";case"KINDERGARTEN":return"K";case"FIRST_GRADE":return"1st";case"SECOND_GRADE":return"2nd";case"THIRD_GRADE":return"3rd";case"FOURTH_GRADE":return"4th";case"FIFTH_GRADE":return"5th";case"SIXTH_GRADE":return"6th";case"SEVENTH_GRADE":return"7th";case"EIGHTH_GRADE":return"8th";case"NINTH_GRADE":return"9th";case"TENTH_GRADE":return"10th";case"ELEVENTH_GRADE":return"11th";case"TWELFTH_GRADE":return"12th";default:return""}},encodeURI:e=>encodeURI(e),encodeURIComponent:e=>encodeURIComponent(e),hbFormatDate(e,t){if(!e)return"";let r="current"===e?new Date:new Date(e);if(Number.isNaN(r.getTime()))return"";if("YYYY"===t||"year"===t)return`${r.getFullYear()}`;if("MM/DD/YY"===t){let e=r.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${r.getDate()}/${r.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][r.getMonth()]} ${r.getDate()}, ${r.getFullYear()}`},openHousesFormat(e,t,r){if(!e||!t)return"";let i=e=>{let t=e.getHours();t>12&&(t-=12);let r=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?r+="PM":r+="AM",r},s="",o=e,n=t;
1536r&&(o=new Date(e).toLocaleString("en-US",{timeZone:r}),n=new Date(t).toLocaleString("en-US",{timeZone:r}),[,,,s]=new Date(t).toLocaleString("en-US",{timeZone:r,timeZoneName:"short"}).split(" "));let a=new Date(o),l=a.toLocaleDateString("en-US"),d=i(a),c=i(new Date(n));return`${l} ${d} - ${c} ${s}`},math:(e,t,r)=>(e=parseFloat(e),({"+":e+(r=parseFloat(r)),"-":e-r,"*":e*r,"/":e/r,"%":e%r})[t]),findByKey(e,t,r,i){let s=(e||[]).find(e=>e[t]===r);return i.fn(s)},capitalize(e,t,r){let i;return"string"==typeof e&&e.length&&(i=e.toLowerCase().split(t).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ").toString()),i},and:(...e)=>Array.prototype.slice.call(e).every(Boolean),or:(...e)=>Array.prototype.slice.call(e,0,-1).some(Boolean),not:e=>!e,orderByIds(t,r,i){let s="",o=null;i.data&&(o=e.createFrame(i.data));let n=(r||[]).filter(Boolean);if(n&&n.length){let e=0;s=n.reduce((r,s,n)=>{let a=(t||[]).find(e=>e.id===s);return a?(o&&(o.index=n-e),r+i.fn(a,{data:o})):(e+=1,r)},"")}else for(let e=0,r=(t||[]).length;e<r;e++)o&&(o.index=e),s+=i.fn(t[e],{data:o});return s},ifIn(e,t,r){return t&&t.indexOf(e)>-1?r.fn(this):r.inverse(this)},partial:(t,r)=>(e.registerPartial(t,e.compile(r.fn())),`
1536<script type="text/x-handlebars-template" class="${t} pagination-script">${r.fn()}<\/script>`),numCompare(e,t,r,i){return({"==":function(e,t){return e==t},"===":function(e,t){return e===t},"!=":function(e,t){return e!=t},"<":function(e,t){return e<t},">":function(e,t){return e>t},"<=":function(e,t){return e<=t},">=":function(e,t){return e>=t}})[r](e,t)?!i.fn||i.fn(this):!!i.fn&&i.inverse(this)},lpFormatNumber:i,arrayToHtmlList:(e,t)=>e.reduce((e,t)=>{try{if("object"==typeof t||null===t)return e;return e+=`<li>${t}</li>`}catch(e){}},""),join:(e,t,r)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,r,i){let s=null,o=0,n=new Set;return i.data&&(s=e.createFrame(i.data)),(t||[]).reduce((e,t,a)=>{let l=r?t[r]:t;return!n.has(l)||r&&void 0===l?(n.add(l),s&&(s.index=a-o),e+i.fn(t,{data:s})):(o+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let r=t[t.length-1].hash,s=t.length>1?t[0]:r.property,o=r.precision||0;t.length>2&&(r.mode=t[1]),r.mode||(r.mode="short");let n=t.length>3?t[2]:r.separator;if("string"!=typeof n&&(n=" | "),s.isPasswordProtected)return"Exclusive Listing";let a=t.length>4?t[3]:r.priceUponRequestText;if("string"!=typeof a&&(a="Price Upon Request"),s.priceUponRequest)return a;let d=s.salesPrice,c=null;"SOLD"!==s.status&&"Leased"!==s.status&&s.reducedPrice&&(r.reducedClass?c=s.reducedPrice:d=s.reducedPrice);let u="";c&&(u+=`<${r.reducedTag||"span"} class="${r.reducedClass}">${i(c,s.currency,o)}</${r.reducedTag||"span"}>`),d&&(d=i(d,s.currency,o),r.priceTag||r.priceClass?u+=`<${r.priceTag||"span"}${r.priceClass?` class="${r.priceClass}"`:""}>${d}</${r.priceTag||"span"}>`:u+=d);let h=s.leasePrice&&i(s.leasePrice,s.currency,o);if(h){u&&(u+=n);let e=`${h}${l(s.leasePeriod,r)}`;r.leaseTag||r.leaseClass?u+=`<${r.leaseTag||"span"}${r.leaseClass?` class="${r.leaseClass}"`:""}>${e}</${r.leaseTag||"span"}>`:u+=e}
1536return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:s,...o}=i.hash,n="",a="";if("string"==typeof t)n=t;else{let e={},{height:s,width:l,altTagText:d}=t;r.forEach(r=>{t[r.field]&&!e[t[r.field]]&&(e[t[r.field]]=r.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(o.alt=d),s&&l&&(s>=l&&(o.class?o.class+=" portrait":o.class="portrait"),"setDims"in i.hash&&(o.width=l,o.height=s)),c.length>1&&l&&l<e[c[c.length-1]]){let t=c.findIndex(t=>e[t]>=l);c.splice(t+1),e[c[c.length-1]]=l}c.length>1&&(a=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,r)=>Math.abs(e[t]-1280)-Math.abs(e[r]-1280))),n=c[0]}delete o.setDims,a||delete o.sizes,"alt"in o||(o.alt=""),!("loading"in o)&&(i?.data?.root?.sectionIndex>1||s)&&(o.loading="lazy");let l=Object.keys(o).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(o[t])}"`).join(" ");return new e.SafeString(`<img src="${n}"${a?` srcset="${a}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let r in e)null!==e[r]&&void 0!==e[r]&&"object"!=typeof e[r]&&(t+=e[r]);return t},setVideoExtension(e,t){if(!e||!t)return"";let r=new URL(e);if("res.cloudinary.com"!==r.host)return r.pathname.endsWith(`.${t}`)?e:"";let i=r.pathname.lastIndexOf("."),s=r.pathname;return -1!==i&&(s=r.pathname.substr(0,i)),r.pathname=`${s}.${t}`,r.toString()},addVideoSources(e){if(!e)return"";if(!e.includes("res.cloudinary.com"))return`<source data-src="${e}">`;let t=e.replace(/\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/,"");return[{format:"webm",codec:"vp9",htmlCodecs:";codecs=vp9"},{format:"mp4",codec:"h265",htmlCodecs:";codecs=hvc1"},{format:"mp4",codec:"h264",htmlCodecs:""}].map(e=>{let r=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},q_auto:best,w_1920,c_limit`)}.${e.format}`;return`<source data-src="${r}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:a.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let r=+t?.hash?.maxChars||2,i=e.match(/\b\w/g)?.slice(0,r);return i?(t?.hash?.addText&&(i=i.map(e=>e+t.hash.addText)),i.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class m{constructor(e,t,r){if(this.config=e,this.window=t,this.document=r,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let g="lp_lead_form_conversion_fired";function y(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(g)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(g,"true")}catch{}}catch{}}function f(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let b="/api/v1/home-valuation";class v extends m{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let r=t.indexOf(", call time frame:");return -1!==r&&(t=t.substring(0,r).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,r={},i=t("street_number"),s=t("route"),o=t("administrative_area_level_1"),n=t("postal_code"),a=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return i&&(r.streetNumber=i),s&&(r.streetName=s),l&&(r.city=l),o&&(r.state=o),n&&(r.zipcode=n),a&&(r.addressLine2=a),r}_extractAddressAndCoordinates(e){let t=null,r=null;if(e?.result){let{result:i}=e;i.address?.addressComponents&&(t=this._transformAddressComponents(i.address.addressComponents)),i.geocode?.location&&(r={latitude:i.geocode.location.latitude,longitude:i.geocode.location.longitude})}return{structuredAddress:t,coordinates:r}}_filterEmptyStrings(e){let t={};for(let[r,i]of Object.entries(e))""!==i&&null!=i&&(t[r]=i);return t}_getRawAddress(e){let t=e.activity.content||{},r=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,r,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,r=null){let i={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(r&&(i.errorMessage=r.userMessage||(r.status?`Request failed with status ${r.status}`:"An error occurred"),i.errorName=r.name,i.errorStatus=r.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(i)),this.window.posthog)try{this.window.posthog.capture(e,i)}catch(e){console.error("[HomeValuation] PostHog capture failed:",e)}}_getUserFriendlyErrorMessage(e){return"AbortError"===e.name||e.message?.includes("timeout")?"Connection timed out. Please try again.":"TypeError"===e.name&&e.message?.includes("fetch")?"Unable to connect. Please check your internet connection and try again.":503===e.status||502===e.status||504===e.status?"Service temporarily unavailable. Please try again in a moment.":400===e.status?"Please check your information and try again.":"Something went wrong. Please try again or c
1536ontact us directly."}_formatStructuredAddress(e){if(!e||0===Object.keys(e).length)return"";let t=[];return t.push([e.streetNumber,e.streetName,e.addressLine2].filter(Boolean).join(" ")),t.push([[e.city,e.state].filter(Boolean).join(", "),e.zipcode].filter(Boolean).join(" ")),t.filter(Boolean).join(", ")}_buildHomeValuationData(e,t,r,i){let s=this._formatStructuredAddress(r)||this._getRawAddress(e);if(!s)throw Error("Unable to extract home valuation address from form data");let o={companyId:e.companyId,homeValuationAddress:s,homeValuationEstimate:t?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0,minimumFractionDigits:0}).format(t):null,websiteId:e.page.websiteId,sourceUrl:e.activity.source_url},n={leadEmailAddress:e.activity.author_email,leadFullName:e.activity.author_name,leadFirstName:e.activity.firstName,leadLastName:e.activity.lastName,leadPhoneNumber:e.activity.author_phone,parcelId:e.activity.content?.parcelId,resourceId:e.page.pageMeta?.resourceId,pageId:e.page.pageId,sourceResource:e.page.pageMeta?.s
1536ourceResource,pageElementId:e.page.pageMeta?.pageElementId,formId:e.page.pageMeta?.formId,utmSource:e.activity.content?.utm_source,utmMedium:e.activity.content?.utm_medium,utmCampaign:e.activity.content?.utm_campaign,utmTerm:e.activity.content?.utm_term,utmContent:e.activity.content?.utm_content,utmId:e.activity.content?.utm_id,timeToSell:e.activity.content?.timeToSell,lookingToBuy:e.activity.content?.lookingToBuy,consented:!!e.activity.content?.termsAccepted,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},a=this._filterEmptyStrings(n);return{...o,...a,...r&&{address:r},...i&&{coordinates:i}}}async _validateAddressSafely(e){if(!e)return console.error("Home valuation: No address found in form data"),null;try{return await this._validateAddressWithGoogleMaps(e)}catch(e){throw console.error("Error validating address with Google Maps:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}async _getHomeValuationEstimateSafely(e){try{return await this._getHomeValuationEstimate(e)}catch(e){throw console.error("Error getting home valuation estimate:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}_isSafeRedirectUrl(e){try{let{protocol:t}=new URL(e,this.window.location.href);return"https:"===t||"http:"===t}catch{return!1}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let r=Error(e&&"object"==typeof e&&Object.keys(e).length?e.message||JSON.stringify(e):"Request failed");return e&&"object"==typeof e&&Object.keys(e).length&&Object.assign(r,e),r.status=t,r}_resolveValuationApiBase(){let{config:e}=this;if(void 0!==e.valuationApiBase&&null!==e.valuationApiBase&&(""!==e.valuationApiBase||!e.isBuilder))return e.valuationApiBase;if(e.websiteApiGatewayUrl)return e.websiteApiGatewayUrl;throw Error("websiteApiGatewayUrl/valuationApiBase not configured for home valuation")}async _submitLead(e,t,r){let i=new AbortController,s=setTimeout(()=>i.abort(),1e4);try{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:i.signal});clearTimeout(s);let n=await o.text(),a=this._parseResponsePayload(n);if(!o.ok)throw this._createResponseError(a,o.status);if(a&&"success"===a.status&&a.redirectUrl){if(f(r))return a;if(!this._isSafeRedirectUrl(a.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),a;return this.window.location.href=a.redirectUrl,{redirected:!0,url:a.redirectUrl}}return a}catch(e){throw clearTimeout(s),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let r=this._getRawAddress(e),i=null;try{i=await this._validateAddressSafely(r)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let s=null;try{s=await this._getHomeValuationEstimateSafely(i)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),s=null}let{structuredAddress:o,coordinates:n}=this._extractAddressAndCoordinates(i),a=`${t}${b}`,l=this._buildHomeValuationData(e,s,o,n),d=await this._submitLead(a,l,e.deadline);return this._logLeadEvent("home_valuation_submission_success",e),d}catch(t){throw t.userMessage||(t.userMessage=this._getUserFriendlyErrorMessage(t)),this._logLeadEvent("home_valuation_submission_failed",e,t),t}}async _validateAddressWithGoogleMaps(e){let{config:t,window:r}=this,i=t.googleMapsAPIKey;if(!i&&r.luxuryPresence?.mapApiLoader&&(i=await r.luxuryPresence.mapApiLoader.getMapApiKey()),!i)throw Error("Google Maps API key not configured");let s=new AbortController,o=setTimeout(()=>s.abort(),1e4);try{let t=await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:{addressLines:[e]},enableUspsCass:!1}),signal:s.signal});if(clearTimeout(o),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(o),e}}_hasMandatoryAddressFields(e){return!!(e.streetNumber&&e.streetName&&e.city&&e.state&&e.zipcode)}_logMissingAddressFields(e){let t=[];e.streetNumber||t.push("streetNumber"),e.streetName||t.push("streetName"),e.city||t.push("city"),e.state||t.push("state"),e.zipcode||t.push("zipcode"),console.log("Home valuation estimate skipped - missing required fields:",t.join(", "),"Available fields:",Object.keys(e).join(", "))}_buildAddressQueryString(e){return Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}async _getHomeValuationEstimate(e=null){let t=`${this._resolveValuationApiBase()}${b}`;if(!e?.result?.address?.addressComponents)return null;let r=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(r))return this._logMissingAddressFields(r),null;let i=this._buildAddressQueryString(r),s=`${t}?${i}`,o=new AbortController,n=setTimeout(()=>
1536o.abort(),1e4);try{let e=await fetch(s,{headers:{Accept:"application/json"},signal:o.signal});if(clearTimeout(n),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(n),e}}}let w="middleName",E="redirect-pending",_=["name","firstName","lastName",w,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],S="lp_map_key_failed",C="oauthSuccess",I={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;]+)/);if(!t)return!1;try{let e=decodeURIComponent(t[1]);if(e.includes(",")){let t=e.split(",").map(e=>e.trim());if(t.some(e=>e.includes(":")))return t.some(e=>"analytics:yes"===e);return t.includes("analytics")}return e.includes("analytics")}catch(e){return!1}})(e),isAnalyticsAccepted:e=>Array.isArray(e?.accepted)&&e.accepted.includes("analytics")},"lp-consent":{eventName:"lp_consent_update",hasAnalyticsConsent:(e,t)=>!!t.__lpConsent?.state?.c?.analytics,isAnalyticsAccepted:e=>!!e?.choices?.analytics}};function A(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function x(e,t){t.forEach(t=>{let r=e[t];Array.isArray(r)&&0===r.length&&delete e[t]})}function R(e,t,r,i){let s=t.map(t=>(function e(t){return Array.isArray(t)?t.flatMap(t=>e(t)):"string"==typeof t?t.split(/\s+/).filter(Boolean):null==t?[]:[t]})(e[t])),o=i?.merge?s.flat():s.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),o.length>0&&(e[r]=[...new Set(o)])}function T(e){let t={...e};if(t.urlWebsite||(t.urlWebsite=null),t.urlYoutube=null,t.urlFacebook=null,t.urlInstagram=null,t.urlLinkedin=null,t.urlPodcast=null,t.urlTwitter=null,Array.isArray(e.socialLinks)){let r=[...e.socialLinks].sort((e,t)=>{let r=e.type?.toLowerCase()||"",i=t.type?.toLowerCase()||"";return r.localeCompare(i)});t.socialLinks=r;let i={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};r.forEach(e=>{let r=i[e.type?.toLowerCase()??""];r&&(t[r]=e.link)})}return t}function L(e){return e&&Array.isArray(e)?e.map(e=>T(e)):e}function k(e){let{region:t}=e;if(!A(t))return e;let{schools:r,pois:i,...s}=t,o={...s,schools:A(r)?r.data??[]:[],...Array.isArray(i)?{pois:i.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:o}}function M(e){return e&&Array.isArray(e)?e.map(e=>k(e)):e}function $(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let r=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:r}}function U(e){return e&&Array.isArray(e)?e.map(e=>$(e)):e}function P(e,t){return A(e)?t(e):e}function O(e,t){return Array.isArray(e)?t(e):e}var N={};N=`
1537  query PropertyDisclaimers($input: PropertyDisclaimersInput!) {
1538    propertyDisclaimers(input: $input) {
1539      feedId
1540      listingId
1541      resolvedFromListing
1542      listingCardAttribution
1543      listingDetailCourtesy
1544      listingDetailFooter
1545      logo
1546    }
1547  }
1548`;let D={mlsAttribution:"listingCardAttribution",mlsLogo:"logo",listingDetailCourtesy:"listingDetailCourtesy",listingDetailFooter:"listingDetailFooter"};var F={};F=s("ikl6F");let B=new class{constructor(e){this.isBuilder=!1,this.companyId=null,this.websiteId=null,this.pageId=null,this.shareId=null,this.pageMeta=null,this.websiteApiGatewayUrl=null,this.buyerSellerServiceUrl=null,this.leadIngesterUrl=null,this.divolteServiceUrl=null,this.eventBus=null,this.templateId=null,this.myhomeDashboardEnabled=!1,this.mlsEnabled=!1,this.hstValuationRedirectEnabled=!1,this.hvStepTwoCaptureEnabled=!1,this.googleMapsAPIKey=null,this.currencyConversionEnabled=!1,this.enabledCurrencies=[]}get valuationApiBase(){return this.isBuilder?this.websiteApiGatewayUrl:""}destroy(){}setPage(e,t={}){this.pageId=e,this.shareId=t.shareId||null,this.pageMeta={sourceResource:t.sourceResource,pageElementId:t.pageElementId,pageQueryVariables:t.pageQueryVariables||{}}}setIsBuilder(e){this.isBuilder=e}setCompany(e,t={}){this.companyId=e}setWebsite(e,t={}){this.websiteId=e,t.myhomeDashboardEnabled&&(this.myhomeDashboardEnabled=t.myhomeDashboardEnabled),t.mlsEnabled&&(this.mlsEnabled=t.mlsEnabled),t.hstValuationRedirectEnabled&&(this.hstValuationRedirectEnabled=t.hstValuationRedirectEnabled),t.hvStepTwoCaptureEnabled&&(this.hvStepTwoCaptureEnabled=t.hvStepTwoCaptureEnabled)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setCurrencyConversion({enabled:e,enabledCurrencies:t}={}){this.currencyConversionEnabled=!0===e,this.enabledCurrencies=Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}setEventBus({enabled:e,apiKey:t,url:r}){this.eventBus={enabled:e,apiKey:t,url:r}}}({}),q=new class extends m{constructor(e,t,r){super(e,t,r),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:r}=this;this.pageId=t.pageId,this.modals=r.querySelectorAll("body > #modals >
1548 .modal"),e.modals.forEach(e=>{this._attachModalHandler(e)})}catch(e){console.log(e)}}destroy(){let{document:e}=this;this.exitModalEventListeners.forEach(t=>{e.removeEventListener("mouseout",t)}),this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}setModalWithExpiry(e){let{window:t}=this,r=new Date().getTime()+864e5,i=`modal-controller-${e}`;try{t.localStorage.setItem(i,JSON.stringify(r))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,r=t.localStorage,i=r.getItem(`modal-controller-${e}`);if(!i)return!1;let s=JSON.parse(i);return!(new Date().getTime()>s)||(r.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:r}=this,i=this.getModalWithExpiry(e);(e&&!i||!0===t.forced)&&(r.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:r,pageSpecific:i}=e;(!i||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===r?this._exitModalHandler(e):"TIMER"===r?this._timerModalHandler(e):"FORCED"===r&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:r,exitModalTriggered:i}=this,{modalId:s}=e;function o(e){!i[s]&&(e.toElement||e.relatedTarget||(t.show(s),i[s]=!0))}r.addEventListener("mouseout",o),this.exitModalEventListeners.push(o)}_timerModalHandler(e){let{modalId:t,timerDelay:r}=e;setTimeout(()=>{this.show(t)},r)}_forcedModalHandler(e){let{modalId:t}=e,{window:r,document:i}=this;if("true"!==r.localStorage.getItem("isSignedUp")){let e=i.querySelector(`#modal-${t}`),s=e?.querySelector("form"),o=s?.dataset.delay||2e3;s.addEventListener("formsubmitted",()=>{this.setLoginState()}),r.addEventListener("oauthSuccess",()=>{this.setLoginState(),s.classList.add("success"),setTimeout(()=>{r.lpUI.hideModal(`modal-${t}`),s.reset(),s.classList.remove("success")},o)}),this.show(t,{forced:!0})}}}(B,window,document),V=new class extends m{constructor(e,t,r){super(e,t,r),this._boundClickHandler=this._buttonClickHandler.bind(this)}initialize(e={}){try{let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler),e.body.addEventListener("click",this._boundClickHandler)}catch(e){console.error(e)}}destroy(){let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler)}_buttonClickHandler(e){this._handleButtonClick(e).catch(e=>console.error(e))}async _handleButtonClick(e){let{window:t,document:r}=this,i=e.target.closest("button, a");if(!i)return;let s=i.dataset.type||"",o=i.href||i.dataset.href||"",n=i.target||"",{submit:a}=i.dataset;if(a){try{await this._handleSubmit(i)}catch(e){console.error(e)}((e,t=!1)=>{if(e){if(t)return window.open(e);window.location.assign(e)}})(o,"_blank"===n)}if(this._trackConversion(i),"VIDEO"===s)return void this._handleVideoButton(i);if("CONTACT_US"===s)return void this._handleContactUsButton(i);if("SUBSCRIBE"===s)return void t.lpUI.showModal("modal-global-subscribe");if("MY_ACCOUNT"===s)return void t.lpUI.showModal("modal-global-my-account");if("SHARE_POPUP"===s){let t=i.querySelector(".share-popup");t&&(t.style.display="flex"),e.stopPropagation();return}if("MODAL_"===s.substring(0,6)){let e=s.substring(6);t.lpUI.showModal(`modal-${e}`);return}if(o?.startsWith("mailto:")){let e=o.substring(7);r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(o?.startsWith("tel:")){let e=o.substring(4);r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:r}=this;return t?await r.luxuryPresence.contactForms.submitForm(t):null}_getVimeoSrc(e){if(!e||!e.includes("vimeo.com")||e.length>2e3)return null;let t=e.match(/(?:(?:www\.)?vimeo\.com\/(?:showcase\/\d+(?:\/video\/|\?video[=/])|channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player\.vimeo\.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);if(!t)return null;let[,r,i]=t,s=`https://player.vimeo.com/video/${r}?`;return i&&(s+=`h=${i}&`),s+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,r=e.closest("section"),{src:i}=e.dataset,s="";if(i&&(i.includes("youtube.com")||i.includes("youtu.be"))&&!i.includes("youtube.com/embed")){let e=i.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
1548)|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(s=e[1])}let o=this._getVimeoSrc(i);if(s?i=`https://youtube.com/embed/${s}?autoplay=1&controls=0`:o&&(i=o),!i||!r)return;let n=i.endsWith(".mp4")||i.endsWith(".webm")||i.includes("cloudinary.com"),a=`
1549      <div id="modal-${r.id}" class="modal visible">
1550        <div class="modal-content">
1551          <div class="lightbox-video">
1552            <div class="video-player">
1553              <div class="embed-container">
1554                ${n?`<video controls autoplay src="${i}"></video>`:`<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${i}"></iframe>`}
1555              </div>
1556            </div>
1557          </div>
1558        </div>
1559        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
1560      </div>
1561    `;t.body.insertAdjacentHTML("beforeend",a);let l=t.getElementById(`modal-${r.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:r}=this;r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:r}=this,{gtagConversionId:i,gtagConversionLabel:s,fbEventName:o}=e.dataset;if(i&&s){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===i)||r.sendGoogleTagManagerEvent("config",i));let e=`${i}/${s}`;r.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&o&&t.fbq("track",o,{})}}(B,window,document),j=new class extends m{constructor(e,t,r){super(e,t,r),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:r}=this,{selector:i}=e,s=[];if(s=i?r.querySelectorAll(`${i} form[data-type="contact-form"]`):r.querySelectorAll('form[data-type="contact-form"]'),r.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:r}=t.luxuryPresence.libs,{libphonenumber:i}=r;e(i.jsSrc,this.attachValidation.bind(this,s))}else this.attachValidation(s);this.validatedForms=this.validatedForms.concat(s)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}attachValidation(e){e.forEach(e=>{e.querySelectorAll("input, select, textarea").forEach(e=>{this.applyFieldValidation(e)})})}applyFieldValidation(e){"tel"===e.getAttribute("type")&&this._applyPhoneValidation(e)}_applyPhoneValidation(e){let{window:t}=this;if(t.libphonenumber){let r=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;r(e,"US")?this.setCustomValidity(""):this.setCustomValidity("Please enter a valid phone number.")}catch(e){this.setCustomValidity("Please enter a valid phone number.")}else this.setCustomValidity("")})}}}(B,window,document),H=new class extends m{constructor(e,t,r){super(e,t,r),this.forms=[],this.homeValuationService=new v(e,t,r)}initialize(e={}){try{let{document:t}=this,{selector:r}=e,i=[];(i=r?t.querySelectorAll(`${r} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(i)}catch(e){console.log(e)}}destroy(){this.forms=[]}submitForm(e){this._handleSubmit(null,e).catch(e=>console.error(e))}_attachValidation(e){let{window:t}=this;e.querySelectorAll("input, select, textarea").forEach(e=>{t.luxuryPresence.validation.applyFieldValidation(e)})}_attachSubmitHandler(e){e.addEventListener("submit",t=>this._handleSubmit(t,e))}_extractFormValues(e){let t=new FormData(e),r={},i=[],s=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let o=e.trim();s.test(t)&&o&&i.push(o);let n=r[t];r[t]=n?`${n} ${o}`:o}else r[t]=e}),i.length?r.name=i.join(" ").trim():!r.name&&r.firstName&&(r.name=r.firstName,r.lastName&&(r.name+=` ${r.lastName}`)),this._deriveNameParts(r)}_deriveNameParts(e){if(e.firstName||!e.name)return e;let t=e.name.indexOf(" ");return -1===t?{...e,firstName:e.name}:{...e,firstName:e.name.slice(0,t),lastName:e.lastName||e.name.slice(t+1).trim()}}_buildSubmissionData(e,t,r){let{window:i,config:s}=this,o=Object.keys(e).filter(e=>!_.includes(e)).reduce((t,r)=>(t[r]=e[r],t),{}),{pageId:n,companyId:a,websiteId:l,pageMeta:d}=s,c=i.localStorage.getItem("utm_vars")||"{}",u=i.localStorage.getItem("referrer")||"",h=this._getFormId(r);return{activity:{author_email:e.email,author_name:e.name,firstName:e.firstName||void 0,lastName:e.lastName||void 0,author_phone:e.phone||e.phoneNumber,activity_source:e.source||"CONTACT_INQUIRY",comments_attributes:[{text:e.message||void 0}],source_url:i.location.href,content:{...o,...JSON.parse(c)}},page:{pageId:n,companyId:a,websiteId:l,pageMeta:{...d,formId:h}},companyId:a,referrer:u,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,r=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
1561=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},r)}async _handleSubmit(e,t){if(e&&e.preventDefault(),!t.classList.contains("loading")){this._hideSubmissionError(t),t.classList.remove("error"),t.classList.add("loading");try{let e=this._extractFormValues(t);if(e.middleName)return void t.classList.remove("loading");let r=this._getFields(t),i=this._buildSubmissionData(e,r,t);y(this.window,this.document);let s=await this._waitForLeadSubmit(e=>this._submitLeadRequest(i,e));if(this._sendGAEvent(i),s?.redirected)return void this._showRedirectPending(t);this._handleSubmissionSuccess(t)}catch(e){console.error("Form submission failed:",e),t.dispatchEvent(new Event("formsubmiterror")),t.classList.remove("loading"),t.classList.add("error"),e.userMessage?this._showSubmissionError(t,e.userMessage):this._showSubmissionError(t,"Something went wrong. Please try again.")}}}async _waitForLeadSubmit(e){let t,r={expired:!1,expiresAt:Date.now()+6e3},i=new Promise(e=>{t=setTimeout(()=>{r.expired=!0,e(null)},6e3)}),s=e(r).catch(e=>{if(f(r))return null;throw e});try{return await Promise.race([s,i])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(E),e.querySelector(`.${E}__indicator`))return;let t=this.document.createElement("div");t.className=`${E}__indicator`,t.setAttribute("role","status"),t.setAttribute("aria-label","Loading"),t.innerHTML='<span class="lp-i lp-i--spinner lp-i--pulse" aria-hidden="true"></span>',e.appendChild(t)}_aliasUserWithEventBus(e){try{if(!this.window.eventBusProvider?.alias||!this.window.eventBusProvider?.isIdentified||!this.window.eventBusProvider?.getDistinctId||!this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail)return;if(this.window.eventBusProvider.isIdentified())return void console.log("[EventBus] User already identified, skipping alias");let t=e.activity?.author_email,{companyId:r}=this.config;if(!t||!r)return void console.warn("[EventBus] Missing required data for user alias");let i=this.window.eventBusProvider.getDistinctId();if(!i)return void console.warn("[EventBus] No anonymous ID available for alias");let s=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(r,t);this.window.eventBusProvider.alias({anonId:i,canonicalId:s}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}async _submitLeadRequest(e,t){let{config:r}=this;return(this._aliasUserWithEventBus(e),r.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${r.leadIngesterUrl}/api/v1/leads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw e}))}_sendGAEvent(e){let{document:t}=this,r={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":r.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":r.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":r.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":r.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:r={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(r)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),r={};return t.forEach(t=>{let{id:i,name:s,type:o}=t;if(s===w)return!0;let n="";if(i){let r=e.querySelector(`label[for='${i}']`);r?n=r.textContent.trim():t.placeholder&&(n=t.placeholder.trim())}r[s]={label:n,type:t.tagName,inputType:"INPUT"===t.tagName?o:"text"}}),r}_getFormId(e){let t=e.closest("section[id^='section-'], footer[id], .modal[id^='modal-']");return t?.id?this._cleanFormId(t.id):""}_cleanFormId(e){for(let t of["section-","modal-"])if(e.startsWith(t))return e.substring(t.length);return e}_showSubmissionError(e,t){let r=e.querySelector(".submission-error-message");r||((r=this.document.createElement("div")).className="submission-error-message",r.setAttribute("role","alert"),e.appendChild(r)),r.textContent=t||"Something went wrong. Please try again.",r.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(B,window,document),G=new class extends m{constructor(e,t,r){super(e,t,r),this.retries=3,this.callbacks=[],this.id=`__googleMapsScriptId${Date.now()}`,this._apiKey="",this.reset()}set apiKey(e){this._apiKey=e,this.config.setGoogleMapsAPIKey(e)}get apiKey(){return this._apiKey}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.failed=!1,this.errors=[],this.onerrorEvent=null}destroy(){this.reset()}async getMapApiKey(){if(this.apiKey)return this.apiKey;let e=this._hadPreviousFailure(),t=!1;for(let r=1;r<=3;r+=1){let i=e&&!t;try{let e=await fetch(this._getMapKeyUrl(r,i));if(t=t||i,this._setFailureFlag(!1),!e.ok)throw Error(`Failed to fetch API key: ${e.status}`);let s=await e.text();if(!s)return"";return this.apiKey=s,this.apiKey}catch(e){console.error(e),r<3&&await this._delay(300*2**(r-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let r=[];e>1&&r.push(`attempt=${e}`),t&&r.push("recovered_after_failure=1");let i=r.length?`?${r.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${i}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(S)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(S,"1"):this.window.sessionStorage.removeItem(S)}catch(e){}}_delay(e){return new Promise(t=>{this.window.setTimeout(t,e)})}async createUrl(){let e=await this.getMapApiKey();if(!e)throw Error("Refusing to load Google Maps without an API key");
1561let t="https://maps.googleapis.com/maps/api/js";return t+`?callback=__googleMapsCallback&key=${e}&libraries=places`}async setScript(){let e;if(this.document.getElementById(this.id))return void this.callback();try{e=await this.createUrl()}catch(e){console.error(e),this.failed=!0,this.loading=!1,this.onerrorEvent=e,this.callback();return}let t=this.document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.document.head.appendChild(t)}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){let e=this.errors.length*2**this.errors.length;console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript().catch(e=>console.error(e))},e)}else this.failed=!0,this.onerrorEvent=e,this.callback()}deleteScript(){let e=this.document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(r=>{r?t(r):e()})})}loadCallback(e){this.callbacks.push(e),this.execute()}setCallback(){this.window.__googleMapsCallback=this.callback.bind(this)}resetIfRetryingFailed(){this.failed&&this.reset()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.window.google&&this.window.google.maps&&this.window.google.maps.version&&this.callback(),this.resetIfRetryingFailed(),this.done?this.callback():this.loading||(this.loading=!0,this.setCallback(),this.setScript().catch(e=>console.error(e)))}_getBaseUrl(){let{isBuilder:e,websiteApiGatewayUrl:t}=this.config;return e?t:""}resizeStaticMapDimensions(e,t){if(e<=1024&&t<=1024)return{width:e,height:t};let r=Math.min(1024/e,1024/t);return{width:parseInt(e*r),height:parseInt(t*r)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let r=t.visibility?`visibility:${t.visibility}`:"",i=t.color?`color:${t.color.replace("#","0x")}`:"",s=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${r}${i}${s}`},""),r=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${r}${t}`})}async getMapApiSignedUrl(e){try{let t=await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${e}`);if(!t.ok)throw Error("Failed to fetch signed URL");let{url:r}=await t.json();return r}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,r,i,s,o){let{width:n,height:a}=this.resizeStaticMapDimensions(s,o),l={center:`${e},${t}`,zoom:r,scale:2,size:`${n}x${a}`,key:this.apiKey};i&&(l.style=this.convertThemeToStaticApiUrl(i));let d=new URLSearchParams;return Object.entries(l).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>d.append(e,t.toString())):d.append(e,t.toString())}),`https://maps.googleapis.com/maps/api/staticmap?${d.toString()}`}async generateDigitallySignedStaticMapUrl({srcWidth:e,srcHeight:t,theme:r,...i}){let{width:s,height:o}=this.resizeStaticMapDimensions(e,t),n={...i,size:`${s}x${o}`};r&&(n.style=this.convertThemeToStaticApiUrl(r));let a=new URLSearchParams;Object.entries(n).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>a.append(e,t.toString())):a.append(e,t.toString())});let l=a.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(B,window,document),K=new class extends m{destroy(){}updateQueryString(e,t,r){r||(r=this.window.location.href);let i=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),s="";null!=t&&(Array.isArray(t)?t.length&&(s=this.serializeArray(e,t)):"object"==typeof t?(i=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),s=this.serializeObj(t,"",e)):s=`${e}=${encodeURIComponent(t)}`);let o=r.split("#"),n=o[0];if(i.test(r)){let e=n;for(s=s?`$1${s}$2`:"$1";i.test(e);)n=e.replace(i,s),e=e.replace(i,"$1");n=n.replace(/(&|\?)$/,"")}else if(s){let e=-1!==n.indexOf("?")?"&":"?";n+=`${e}${s}`}return void 0!==o[1]&&null!==o[1]&&(n+=`#${o[1]}`),n}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let r=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),i=Array.from(RegExp.prototype[Symbol.matchAll].call(r,t)).flat();if(!i.length){let r=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return i=Array.from(RegExp.prototype[Symbol.matchAll].call(r,t)).flat(),this._parseParamToObject(i,"advancedFilters"===e)}return i.length>3?i.reduce((e,t,r)=>((r+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):i[2]?decode
1561URIComponent(i[2].replace(/\+/g," ")):""}makePageKey(e){return e.replace("section-","").replace(/-/g,"")}makeParamKey(e,t){return e.global?e.urlKey:`${t}-${e.urlKey}`}deserializeParams(e,t){let r={},i=this.makePageKey(t),s=this.getParameterByName(i);return s&&(r.page=parseInt(s)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,i),s=this.getParameterByName(t);if("int"===e.type)isFinite(s=parseInt(s))||(s=null);else if("bool"===e.type||"boolean"===e.type)s="true"===s||"false"!==s&&null;else if("json"===e.type)try{s=JSON.parse(s)}catch(e){}r[e.formKey||e.param]=s}),r}serializeParams(e,t,r){let i=this.window.location.href,s=this.makePageKey(t);return i=this.updateQueryString(s,r.page,i),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),o=r[e.formKey||e.param];"json"===e.type&&null!=o&&(o=JSON.stringify(o)),i=this.updateQueryString(t,o,i)}),i}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",r=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${r}K`:`${this.formatSliderAtom(e/1e6,t)}${r}M`}formatSliderPriceRange(e,t,r,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e,r," ")}`:t.max===e?`${this.formatSliderValue(e,r," ")}${i.highSuffix}`:`${this.formatSliderValue(e,r," ")}`}formatSliderAreaRange(e,t,r,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e)} ${r}`:t.max===e?`${this.formatSliderValue(e)}${i.highSuffix} ${r}`:`${this.formatSliderValue(e)} ${r}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:r,areaSliderElement:i,neighborhoodSelect:s}=e,o={};if(t&&(o.search=t.value||null),r){let e=r.value.split(";"),t=parseInt(r.dataset.min),i=parseInt(r.dataset.max),s=parseInt(e[0]),n=parseInt(e[1]);o.priceMin=s!==t?s:null,o.priceMax=n!==i?n:null}if(i){let e=i.value.split(";"),t=parseInt(i.dataset.min),r=parseInt(i.dataset.max),s=parseInt(e[0]),n=parseInt(e[1]);o.areaMin=s!==t?s:null,o.areaMax=n!==r?n:null}return s&&(o.neighborhoodId=s.value||null),o}serializeObj(e,t="",r=""){let i=[];for(let s in e)if(e.hasOwnProperty(s)){let o,n=e[s];if(r){let e=t?`[${t}][${s}]`:`[${s}]`;o=`${r}${e}`}else o=t?`${t}[${s}]`:s;null!==n&&Array.isArray(n)?n.length&&i.push(this.serializeArray(o,n)):null!==n&&"object"==typeof n?i.push(this.serializeObj(n,o)):i.push(`${o}=${encodeURIComponent(n)}`)}return i.join("&")}serializeArray(e,t,r=""){let i=[];return t.forEach(t=>{let s=r?`${r}${e}`:e;i.push(`${s}=${encodeURIComponent(t)}`)}),i.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let r={};for(let i=0;i<e.length;i++)if((i+1)%3==0){let s=decodeURIComponent(e[i].replace(/\+/g," ")),o=e[i-1];Object.assign(r,this._setObjectPath(o,s,r,t))}return r}_setObjectPath(e,t,r,i=!1){let s=e.split(/[\[\]]/).filter(Boolean),o=["in","nin","btw","ciin","cinin"],n={},a=n,l=((e,t,r)=>{if(!t)return;let i=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===i?r:i})(r,s.join("."));return s.forEach((e,n)=>{n===s.length-1?l?a[e]=Array.isArray(l)?[...l,t]:[l,t]:a[e]=i&&o.includes(e)?[t]:t:(a[e]=r[e]?r[e]:{},a=a[e])}),n}}(B,window,document),Y=new class extends m{constructor(e,t,r){super(e,t,r),this._createLightbox=this._createLightbox.bind(this),this.expandSliders=[]}initialize(e={}){try{let{document:e}=this,t=e.querySelectorAll(".has-mobile-expand");t.forEach(e=>{this._addExpandButton(e)}),this.expandSliders=this.expandSliders.concat(t)}catch(e){console.log(e)}}destroy(){let{document:e}=this;e.querySelectorAll(".lp-expand-btn, .lp-expand-btn-wrapper").forEach(e=>e.remove()),this.expandSliders=[]}_addExpandButton(e){let{document:t}=this,r=e.closest("section[id]"),i=e.dataset.append,s=r.querySelector(".lp-expand-btn");if(!s)if((s=t.createElement("button")).className="lp-expand-btn",s.setAttribute("aria-label","Open a lightbox"),s.innerHTML='<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>',i){let e=r.querySelector(i);e&&e.appendChild(s)}else{let r=t.createElement("div");r.className="lp-expand-btn-wrapper",r.style.position="relative",r.appendChild(s),e.parentNode.insertBefore(r,e.nextSibling)}s.addEventListener("click",()=>{this._createLightbox({slider:e,section:r})})}_createLightbox({slider:e,section:t,initialIndex:r}){let{window:i,document:s}=this,o=`lightbox-for-${t?.id}`,n=i.$&&i.$.fn.slick,a=n&&e.slick,l="function"==typeof i.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=s.createElement("div");t.id=o,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=`
1562      <button class="lp-lightbox__close" aria-label="close modal"></button>
1563      <div class="lp-lightbox__content">
1564        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
1565          <div class="splide__arrows">
1566            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
1567            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
1568          </div>
1569          <div class="splide__track">
1570            <ul class="splide__list"></ul>
1571          </div>
1572        </div>
1573      </div>
1574    `,"function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(o):s.body.style.overflow="hidden",s.body.appendChild(t);let n=t.querySelector(".lp-lightbox__carousel"),a=n.querySelector(".splide__list");t.classList.add("show"),(d?e.querySelectorAll(".splide__slide:not(.splide__slide--clone) img"):e.querySelectorAll("img")).forEac
1574h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let r=s.createElement("li");r.className="lp-lightbox__slide splide__slide",r.appendChild(t),a.appendChild(r)});let l=new i.Splide(n,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==r&&r>=0&&l.go(r),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let r=t.querySelector(".splide__arrow--prev"),i=t.querySelector(".splide__arrow--next"),s=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&r?(e.preventDefault(),r.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&s&&(e.preventDefault(),s.click())};s.addEventListener("keydown",c),t.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",c),t.classList.remove("show"),l&&l.destroy(),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(o):s.body.style.overflow="",t.remove()})}if("function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(o):s.body.style.overflow="hidden",n&&!d){let t,r,n,l,d;r={arrows:!0,dots:!1,infinite:!0,draggable:!0,prevArrow:'<button type="button" class="lp-lightbox-arrow--prev lp-lightbox-arrow" aria-label="Previous"></button>',nextArrow:'<button type="button" class="lp-lightbox-arrow--next lp-lightbox-arrow" aria-label="Next"></button>'},(n=s.createElement("div")).id=o,n.className="lp-lightbox",n.setAttribute("tabindex","-1"),n.setAttribute("role","dialog"),n.setAttribute("aria-modal","true"),n.innerHTML=`
1575        <button class="lp-lightbox__close" aria-label="close modal"></button>
1576        <div class="lp-lightbox__content">
1577          <div class="lp-lightbox__carousel"></div>
1578        </div>
1579      `,s.body.appendChild(n),l=n.querySelector(".lp-lightbox__carousel"),n.classList.add("show"),a?(t=e.slick.$slides.find("img"),r.initialSlide=e.slick?.currentSlide||0,t.each(function(){i.$(".lp-lightbox__carousel").append(i.$(this).clone(!1).removeAttr("style").wrap('<div class="lp-lightbox__slide"></div>').parent())})):(t=e.querySelectorAll("img")).forEach(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let r=s.createElement("div");r.className="lp-lightbox__slide",r.appendChild(t),l.appendChild(r)}),i.$(l).slick(r),setTimeout(()=>{n.focus()},100),d=e=>{if(!n.classList.contains("show"))return;let t=n.querySelector(".lp-lightbox-arrow--prev"),r=n.querySelector(".lp-lightbox-arrow--next"),i=n.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&r?(e.preventDefault(),r.click()):"Escape"===e.key&&i&&(e.preventDefault(),i.click())},s.addEventListener("keydown",d),n.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",d),n.classList.remove("show");let t=l?.slick?i.$(l).slick("slickCurrentSlide"):0;l?.slick&&i.$(l).slick("unslick"),a&&i.$(e).slick("slickGoTo",t),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(o):s.body.style.overflow="",n.remove()})}else l?c():(i.luxuryPresence.libs.loadCss(i.luxuryPresence.libs.jsLibsMap.splide.cssSrc),i.luxuryPresence.libs.loadJs(i.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),i.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(B,window,document),z=new class extends m{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId:r,templateId:i,websiteId:s,pageId:o,shareId:n,pageMeta:a}=this.config;this.window.divolte.signal(e,Object.assign({companyId:r,templateId:i,websiteId:s,pageId:o,shareId:n,pageMeta:a},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(B,window,document),W=new class extends m{constructor(e,t,r){super(e,t,r)}initialize(e={}){(void 0!==e.enabled?e.enabled:this.config.eventBus?.enabled)&&this.config.eventBus?.apiKey&&this.config.eventBus?.url&&this.loadScript()}loadScript(){let{eventBusUrl:e}=this.config,t=this.document.createElement("script");t.id="posthog-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/v2.8.0/event-bus-js.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){this.window.LuxuryPresenceEventBus&&(this.window.eventBusProvider=this.window.LuxuryPresenceEventBus.createEventBusProvider({apiKey:this.config.eventBus.apiKey,host:this.config.eventBus.url,defaultSource:"frontend://website-render-engine"}
1579)),(this.window.eventBusLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.eventBusLp=this.eventBusLp.bind(this)}destroy(){if(!this.window.eventBusProvider){this.window.eventBusLp=function(){(this.window.eventBusLp.q=this.window.eventBusLp.q||[]).push(arguments)};return}this.window.eventBusProvider.shutdown()}sendLpEvent(e,t){if("user.activity.page.viewed"!==e)return void console.log(`${e} IS NOT SUPPORTED`);if(!this.window.eventBusProvider)return;let{companyId:r}=this.config;try{this.window.eventBusProvider.capture(e,{company:r,data:{}})}catch(e){console.log("EventBus capture error:",e)}}eventBusLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpPageView(){this.sendLpEvent("user.activity.page.viewed",{})}}(B,window,document),Q=new class extends m{constructor(e,t,r){super(e,t,r),this.successListeners=[],this._listenToMessages=this._listenToMessages.bind(this),this._listenToOneTapMessage=this._listenToOneTapMessage.bind(this)}initialize(e={}){try{e.googleSignOnEnabled&&!e.iframe&&this._renderGoogleOneTap(),this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach(e=>this._convertGoogleSignIn(e)),this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach(e=>this._convertFacebookSignIn(e))}catch(e){console.log(e)}}destroy(){this.successListeners.forEach(e=>{this.window.removeEventListener("message",this._listenToMessages),this.window.removeEventListener("message",this._listenToOneTapMessage),this.window.removeEventListener(C,this.window[e])})}_renderGoogleOneTap(){if(!this._isGoogleOneTapOnCooldown()){let e=this.document.createElement("div");google.accounts.id.initializeIntermediate({src:this._buildUrlAndCopyAttributes(e,e,"googleOneTap")}),this.window.localStorage.removeItem("googleOneTapExpiration"),this.window.addEventListener("message",this._listenToOneTapMessage)}}_listenToOneTapMessage(e){let t="show_intermediate_iframe",{buyerSellerServiceUrl:r}=this.config,{data:i,origin:s}=e,{type:o,height:n,event:a,source:l,token:d}=i;if(o===t||"hide_intermediate_iframe"===o){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=n,e.style.display=o===t?"unset":"none")}s===r&&"GOOGLE_SIGN_ON"===l&&("success"===a?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===a&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let r=this.document.createElement("iframe");r.src=this._buildUrlAndCopyAttributes(t,r,e),r.dataset.isSocialOauthButton=!0,t.replaceWith(r)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(C);this.window.dispatchEvent(e),y(this.window,this.document),this.successListeners.forEach(t=>{this.window[t]?this.window[t](e):console.error(`Callback function ${t} not found on window object`)}),this.document.documentElement.classList.add("is-login-success")}}_attachSuccessCallback(e){this.window.addEventListener("message",this._listenToMessages);let t=e.dataset.onSuccessFunctionName;t&&this.successListeners.push(t)}_buildUrlAndCopyAttributes(e,t,r){let{buyerSellerServiceUrl:i,companyId:s,websiteId:o,pageId:n,pageMeta:a}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${i}/buttons/${r}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",s),c.searchParams.append("websiteId",o),c.searchParams.append("pageId",n),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(a)),u&&c.searchParams.append("utm",u),h&&c.searchParams.append("referrer",h);let p=["data-size","data-width","data-text","data-button-type","data-shape","data-layout","data-max-rows","data-use-continue-as","data-type","data-theme","data-logo_alignment","data-locale"];
1579return Array.from(e.attributes).forEach(e=>{p.includes(e.nodeName)?c.searchParams.append(e.nodeName,e.nodeValue):t.setAttribute("id"===e.nodeName?"data-id":e.nodeName,e.nodeValue)}),c.toString()}_decodeToken(e){try{let t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=4-t.length%4,i=4===r?t:t+"=".repeat(r);return JSON.parse(atob(i))}catch(e){return null}}_handleQualifyingQuestionsModal(e){if(e&&this.window.luxuryPresence&&this.window.luxuryPresence.qualifyingQuestionsModal){let t=this._decodeToken(e);t&&t.email&&this.window.luxuryPresence.qualifyingQuestionsModal.showModal(t.email,"Google Sign On")}}}(B,window,document),J=new class extends m{constructor(e,t,r){super(e,t,r),this.showModal=this.showModal.bind(this),this.hasModalBeenSubmitted=this.hasModalBeenSubmitted.bind(this),this.modalId="qualifying-questions-modal",this.cookieKey="qualifyingQuestionsModalSubmitted",this.qualifyingQuestionsModalEnabled=!0,this.eventListeners=[],this.timeouts=[]}initialize(e={}){this.qualifyingQuestionsModalEnabled=e.qualifyingQuestionsModalEnabled??this.qualifyingQuestionsModalEnabled,this.qualifyingQuestionsModalEnabled&&this.attachModalCloseListeners()}destroy(){this.eventListeners.forEach(({element:e,event:t,handler:r})=>{e&&e.removeEventListener&&e.removeEventListener(t,r)}),this.timeouts.forEach(e=>{clearTimeout(e)}),this.restoreBodyScroll(),this.eventListeners=[],this.timeouts=[]}hasModalBeenSubmitted(){return"true"===this.getCookie(this.cookieKey)}setModalSubmittedCookie(){this.setCookie(this.cookieKey,"true",365)}showModal(e,t){!this.qualifyingQuestionsModalEnabled||this.hasModalBeenSubmitted()||(this.updateEmailValue(e),this.updateTriggerSourceValue(t),this.showModalElement())}getModalElement(){let e=this.document.getElementById(this.modalId);return e||console.error("Modal element not found:",this.modalId),e}updateEmailValue(e){let t=this.getModalElement();if(!t)return;let r=t.querySelector('input[name="email"]');r&&"string"==typeof e&&(r.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let r=t.querySelector(`#${this.modalId}-triggerSource`);r&&"string"==typeof e&&(r.value=e)}showModalElement(){let e=this.getModalElement();e&&(e.style.display="flex",this.blockBodyScroll())}getCookie(e){let t=`; ${this.document.cookie}`.split(`; ${e}=`);return 2===t.length?decodeURIComponent(t.pop().split(";").shift()):null}setCookie(e,t,r){let i="";if(r){let e=new Date;e.setTime(e.getTime()+864e5*r),i=`; expires=${e.toUTCString()}`}let s="; path=/; SameSite=Lax";this.window&&this.window.location&&"https:"===this.window.location.protocol&&(s+="; Secure"),this.document.cookie=`${e}=${encodeURIComponent(t||"")}${i}${s}`}blockBodyScroll(){this._prevOverflow=this.document.body.style.overflow,this.document.body.style.overflow="hidden"}restoreBodyScroll(){this.document.body.style.overflow=this._prevOverflow||"",this._prevOverflow=null}attachModalCloseListeners(){let e=this.getModalElement();if(!e)return;let t=this.document.getElementById(`${this.modalId}-form`);if(t){let r=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",r),this.eventListeners.push({element:t,event:"formsubmitted",handler:r})}let r=e.querySelector('[data-dismiss="modal"]');if(r){let t=()=>{e.style.display="none",this.restoreBodyScroll()};r.addEventListener("click",t),this.eventListeners.push({element:r,event:"click",handler:t})}let i=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",i),this.eventListeners.push({element:e,event:"click",handler:i})}}(B,window,document),X=new class extends m{constructor(e,t,r){super(e,t,r),this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null,this.validationCacheDuration=3e5}destroy(){this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null}async validateSession(e={}){let{useCache:t=!0}=e;if(t&&null!==this.lastValidationResult&&this.lastValidationTime&&Date.now()-this.lastValidationTime<this.validationCacheDuration)return this.lastValidationResult;if(this.isValidating)return null!==this.lastValidationResult&&this.lastValidationResult;this.isValidating=!0;let r=`
1580      query {
1581        validSession {
1582          success
1583        }
1584      }
1585    `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:r})});if(!e.ok)return console.error("SessionController: HTTP error during session validation",e.status),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let t=await e.json();if(t.errors)return this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let i=t.data?.validSession?.success===!0;return this.lastValidationResult=i,this.lastValidationTime=Date.now(),i}catch(e){return console.error("SessionController: Error validating session",e),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1}finally{this.isValidating=!1}}clearCache(){this.lastValidationResult=null,this.lastValidationTime=null}}(B,window,document),Z=new class extends m{constructor(e,t,r){super(e,t,r),this.consentListener=null,this.eventName=null}destroy(){this.consentListener&&this.eventName&&(this.document.removeEventListener(this.eventName,this.consentListener),this.consentListener=null)}loadScript(){this.document.getElementById("posthog-script")||this.window.luxuryPresence.eventBus.initialize({enabled:this.config.eventBus?.enabled}),this.document.getElementById("divolte-script")||this.window.luxuryPresence.divolte.initialize({})}removeScripts(){this.window.luxuryPresence?.eventBus?.destroy?.(),this.window.luxuryPresence?.divolte?.destroy?.(),this.document.getElementById("posthog-script")?.remove(),this.document.getElementById("divolte-script")?.remove()}async initialize(e={}){let t=I[e.provider];if(!t)return;this.eventName=t.eventName;let r=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||r)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(B,window,document),ee=new class extends m{destroy(){}transformVariables(e,t){let r;return x(r={...t},["testimonialId"]),R(r,["testimonialId"],"testimonialIds"),0===r.limit&&delete r.limit,(void 0===r.limit||null===r.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(r.limit=50),("agents"===e||"agentsCount"===e||"developments"===e||"developmentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(r.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(r),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":x(e,["testimonialIds"]);break;case"agents":case"agentsCount":x(e,["officeId","teamId","developmentId","agentIds","tags"]),R(e,["officeId"],"officeIds"),R(e,["teamId"],"teamIds"),R(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":x(e,["neighborhoodIds","neighborhoodId"]),R(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":x(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),R(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds"),R(e,["developmentIds","developmentId"],"developmentIds");break;case"properties":case"propertiesCount":x(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1585spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>R(e,[t],t)),R(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),R(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),R(e,["networkId"],"networkId"),R(e,["propertyId"],"propertyIds"),["salesPriceGTE","salesPriceLTE","leasePriceGTE","leasePriceLTE","livingSpaceSizeGTE","livingSpaceSizeLTE"].forEach(t=>{null!=e[t]&&(e[t]=Math.trunc(Number(e[t])))});break;case"posts":case"postsCount":x(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),R(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":x(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),R(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":x(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),R(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":x(e,["officeId","officeIds","tags"]),R(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":x(e,["teamId","teamIds"]),R(e,["teamId"],"teamIds");break;case"pois":x(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(r,e),r}transformResponse(e,t){return"agent"===e?P(t,T):"agents"===e||"agentsCount"===e?O(t,L):"neighborhood"===e?P(t,k):"neighborhoods"===e||"neighborhoodsCount"===e?O(t,M):"development"===e?P(t,$):"developments"===e||"developmentsCount"===e?O(t,U):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}applyPropertyDisclaimers(t,r){if(!Array.isArray(t)||!t.length||!r||!r.length)return Promise.resolve(t);let i=t.filter(e=>e&&e.vendorId&&e.mlsId).map(e=>({feedId:e.vendorId,listingId:e.mlsId,officeName:e.officeName??null,agentMlsId:e.mlsAgentId??null,officeMlsId:e.mlsOfficeId??null,attributionContact:e.attributionContact??null,status:e.status??null,syncedAt:e.syncedAt??null})),s=e=>{let i={};return(e||[]).forEach(e=>{i[`${e.feedId}:${e.listingId}`]=e}),t.map(e=>{let t=e&&i[`${e.vendorId}:${e.mlsId}`],s={};return r.forEach(e=>{let r=t?t[D[e]]:void 0;s[e]=r??null}),{...e,...s}})};if(!i.length)return Promise.resolve(s([]));let{websiteId:o}=this.config;return this.window.superagent?this.window.superagent.post(`${this.window.luxuryPresence.defaults.routerUrl}/graphql`).withCredentials().send({query:e(N),variables:{input:{websiteId:"string"==typeof o?o:void 0,properties:i}}}).then(e=>s(e.body&&e.body.data&&e.body.data.propertyDisclaimers),e=>(console.warn("[RouterApiController] propertyDisclaimers lookup failed:",e),s([]))):Promise.resolve(s([]))}}(B,window,document),et=new class extends m{constructor(e,t,r){super(e,t,r),this.natives=new WeakMap,this.rates=new Map,this.pending=new Map,this.target=void 0,this.generation=0,this.initialized=!1,this.observer=null,this.abortController=null}get currentCurrency(){return this.target}get cookieOptions(){return{document:this.document,location:this.window.location}}get enabledCurrencies(){return(this.config.enabledCurrencies??[]).map(F.toSupportedToCurrency).filter(Boolean)}initialize(){return this.initialized||!this.config.currencyConversionEnabled?Promise.resolve():(this.initialized=!0,this.generation=0,this.abortController=new this.window.AbortController,this.target=(0,F.readValidCurrencyCookie)(this.cookieOptions,{enabled:!0,enabledCurrencies:this.enabledCurrencies}),this.observer=new this.window.MutationObserver(()=>this.ensureRates(this.apply())),this.observer.observe(this.document.body,{childList:!0,subtree:!0}),this.ensureRates(this.apply()))}setCurrency(e){if(!this.config.currencyConversionEnabled)return!1;let t=(0,F.toSupportedToCurrency)(e);return!!t&&!!this.enabledCurrencies.includes(t)&&(this.target=t,this.generation+=1,(0,F.writeCurrencyCookie)(this.cookieOptions,t)||console.warn("[CurrencyConversionController] could not persist currency preference:",t),this.apply(),!0)}reset(){this.config.currencyConversionEnabled&&(this.target=void 0,this.generation+=1,(0,F.clearCurrencyCookie)(this.cookieOptions),this.apply())}destroy(){this.observer?.disconnect(),this.observer=null,this.abortController?.abort(),this.abortController=null,this.pending.clear(),this.rates.clear(),this.generation=null,this.initialized=!1}apply(){let e=new Set;return this.document.querySelectorAll("[data-lp-price]").forEach(t=>{let r=this.natives.get(t);if(!r){if(!(r=(e=>{let t=e.getAttribute("data-lp-native-amount"),r=null===t||""===t.trim()?NaN:Number(t),i=(0,F.toSupportedFromCurrency)(e.getAttribute("data-lp-native-currency"));if(!Number.isFinite(r)||r<0||!i)return;let s=Number(e.getAttribute("data-lp-precision"));return{amount:r,currency:i,precision:Number.isInteger(s)&&s>=0?s:0,originalHTML:e.innerHTML}})(t)))return;this.natives.set(t,r)}this.rates.has(r.currency)||e.add(r.currency),this.render(t,r)}),[...e]}render(e,t){let r=this.convertedText(t);if(void 0===r){e.innerHTML!==t.originalHTML&&(e.innerHTML=t.originalHTML);return}e.textContent!==r&&(e.textContent=r)}convertedText(e){if(!this.target||this.target===e.currency)return;let t=this.rates.get(e.currency)?.[this.target];
1585if("number"!=typeof t||!Number.isFinite(t))return;let r=(0,F.convertAmount)(e.amount,t);if(void 0!==r)return(0,F.formatMoney)(r,this.target,{precision:e.precision})}ensureRates(e){return e.length?Promise.all(e.map(e=>this.requestRates(e))).then(()=>{null!==this.generation&&this.apply()}):Promise.resolve()}requestRates(e){let t=this.pending.get(e);if(t)return t;let r=this.abortController?.signal,i=(0,F.fetchExchangeRates)(e,{baseUrl:this.config.valuationApiBase,signal:r,onError:t=>console.warn(`[CurrencyConversionController] exchange rate fetch failed for ${e}:`,t)}).then(t=>{r?.aborted||this.rates.set(e,t??{})});return this.pending.set(e,i),i}}(B,window,document);function er(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}er("config",B),er("modals",q),er("buttons",V),er("validation",j),er("contactForms",H),er("mapApiLoader",G),er("pagination",K),er("expandSliders",Y),er("divolte",z),er("eventBus",W),er("oauth",Q),er("qualifyingQuestionsModal",J),er("session",X),er("consent",Z),er("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!t.hvStepTwoCaptureEnabled&&!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),er("routerApi",ee),er("currencyConversion",et),window.luxuryPresence.formatSliderPriceRange=K.formatSliderPriceRange.bind(K),window.luxuryPresence.formatSliderAreaRange=K.formatSliderAreaRange.bind(K),window.luxuryPresence.getSearchFormValues=K.getSearchFormValues.bind(K),window.luxuryPresence.handlebarsHelpersFactory=function(t){return e(n)(t,{isEqual:(e,t)=>e==t})}})();
1586//# sourceMappingURL=lp-sdk.js.map
1587
1588    </script>
1588
1589
1590    
1590<script>
1591        var lpGlobalInitialized = false;
1592
1593        function lpGlobalInit () {
1594          if (lpGlobalInitialized) {
1595            return;
1596          }
1597            lpGlobalInitialized = true;
1598            // Initialize wow animation plugin only according to turbolinks
1599            var wow;
1600            if (window.WOW) {
1601                wow = new WOW({
1602                    animateClass: 'animated',
1603                    offset: wowOffset,
1604                    live: false,
1605                    callback: function(box) {}
1606                });
1607            }
1608            // Initialize handlebar helpers only once
1609            function handlebarsInit() {
1610              if (!window.Handlebars) {
1611                return;
1612              }
1613              HandlebarsIntl.registerWith(Handlebars);
1614              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
1615            }
1616
1617            handlebarsInit();
1618
1619            /* Initialize Luxury Presence SDK */
1620            try {
1621                window.luxuryPresence.config.setCompany("be9e662d-d28f-4f3b-9f8d-cb20d3c0b372", {});
1622                window.luxuryPresence.config.setWebsite("0de14d64-da82-4bec-9862-7f827d40ab3f", {
1623                    myhomeDashboardEnabled: false,
1624                    mlsEnabled: true,
1625                    hstValuationRedirectEnabled: true,
1626                    hvStepTwoCaptureEnabled: false
1627                });
1628                const url = new URL(window.location.href);
1629                const shareId = url.searchParams.get('shareId');
1630                window.luxuryPresence.config.setPage("d0aade00-c2a6-4c27-9d08-2580a55cc3d0", {
1631                    sourceResource: "",
1632                    pageElementId: "",
1633                    pageQueryVariables: {},
1634                    shareId: "",
1635                });
1636                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
1637                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
1638                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
1639                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
1640                  window.luxuryPresence.config.setEventBus({
1641                    enabled: true,
1642                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
1643                    url: "https://p.luxurypresence.com",
1644                  });
1645                window.luxuryPresence.config.setTemplateId("1d3967df-14f2-449d-87b7-bd68bf93906f", {});
1646                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
1647                window.luxuryPresence.buttons.initialize({});
1648                    window.luxuryPresence.consent.initialize({ provider: 'lp-consent' });
1649                window.luxuryPresence.contactForms.initialize({});
1650                window.luxuryPresence.validation.initialize({});
1651                window.luxuryPresence.expandSliders.initialize({});
1652                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
1653                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
1654                /* Optional: cached pages / older SDKs may not carry this controller */
1655                window.luxuryPresence.currencyConversion?.initialize();
1656            } catch (e) {
1657                console.log(e);
1658            }
1659
1660            /* Inject Section Specific Javascript */
1661                try {
1662(function init(sectionDomId) {
1663  const section = document.getElementById(sectionDomId);
1664  const contactTitle = section.querySelector('.js-contact-title');
1665  const emailInput = section.querySelector('.js-email-input');
1666  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
1667  emailInput.addEventListener('input', function () {
1668    if (emailRegex.test(this.value)) {
1669      this.setCustomValidity('');
1670    } else {
1671      this.setCustomValidity('Please enter a valid email address.');
1672    }
1673    this.reportValidity();
1674  });
1675  const inputName = section.querySelector('.js-input-name');
1676  inputName.addEventListener('keyup', function () {
1677    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
1678      this.setCustomValidity("Please input your first name and last name.");
1679    } else {
1680      this.setCustomValidity("");
1681    }
1682  });
1683  function setHttp(link) {
1684    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
1685      link = 'https://' + link;
1686    }
1687    return link;
1688  }
1689  const socialLinks = section.querySelectorAll('.lp-socials__link, .contact-form-modal-details__socials-l
1689ink');
1690  socialLinks.forEach(linkElement => {
1691    const href = linkElement.getAttribute('href');
1692    if (href) {
1693      linkElement.setAttribute('href', setHttp(href));
1694    }
1695  });
1696  if (contactTitle.length < 1) return;
1697  let words = contactTitle.textContent.split(" ");
1698  if (words.length > 1) {
1699    contactTitle.innerHTML = `<span class="contact__title-top">${words[0]} </span><span class="contact__title-bottom">${words.splice(1).join(" ")}</span>`;
1700  }
1701  const addRedirectToForm = () => {
1702    const redirectLink = document.getElementById(`${sectionDomId}`).querySelector('.js-redirect-link');
1703    const form = document.getElementById(`${sectionDomId}`).querySelector('.js-form');
1704    function redirectPage(link) {
1705      if (link) {
1706        const rawHref = link.getAttribute('href');
1707        link.setAttribute('href', setHttp(rawHref));
1708        link.click();
1709      }
1710    }
1711    function setHttp(link) {
1712      if (link.search(/^http[s]?\:\/\/|\//) == -1) {
1713        link = 'http://' + link;
1714      }
1715      return link;
1716    }
1717    form.addEventListener("reset", function () {
1718      redirectPage(redirectLink);
1719    });
1720  };
1721  addRedirectToForm();
1722})('modal-global-contact-us');
1723} catch(e) {
1724console.log(e);
1725}
1726                
1727                try {
1728(function init(sectionDomId) {
1729  (function () {
1730    const observer = new IntersectionObserver(entries => {
1731      entries.forEach(entry => {
1732        if (entry.isIntersecting) entry.target.classList.add('is-in-viewport');
1733      });
1734    }, {
1735      threshold: 0.5
1736    });
1737    const initialElements = document.querySelectorAll('[data-animate="true"]');
1738    initialElements.forEach(element => observer.observe(element));
1739    const container = document.querySelector('.data-container');
1740    if (container) {
1741      const mutationObserver = new MutationObserver(mutations => {
1742        mutations.forEach(mutation => {
1743          if (mutation.type === 'childList') {
1744            mutation.addedNodes.forEach(node => {
1745              if (node.nodeType === 1 && node.getAttribute('data-animate') === 'true') observer.observe(node);
1746            });
1747          }
1748        });
1749      });
1750      mutationObserver.observe(container, {
1751        childList: true,
1752        subtree: true
1753      });
1754    }
1755  })();
1756  const sectionSelector = document.getElementById(sectionDomId);
1757  const searchToggleSelector = sectionSelector.querySelector('.js-search-toggle-btn');
1758  const searchWrapperSelector = sectionSelector.querySelector('.js-header-search');
1759  const header = sectionSelector.querySelector('.js-header');
1760  let lastScrollTop = 0;
1761  (function (stickyAnchorRoot) {
1762    if (!stickyAnchorRoot) return;
1763    function getInFlowTop(target) {
1764      var inlineValue = target.style.getPropertyValue('position');
1765      var inlinePriority = target.style.getPropertyPriority('position');
1766      target.style.setProperty('position', 'relative', 'important');
1767      var top = target.getBoundingClientRect().top + window.pageYOffset;
1768      if (inlineValue) target.style.setProperty('position', inlineValue, inlinePriority);else target.style.removeProperty('position');
1769      var scrollMarginTop = parseFloat(window.getComputedStyle(target).scrollMarginTop) || 0;
1770      return Math.max(0, top - scrollMarginTop);
1771    }
1772    stickyAnchorRoot.addEventListener('click', function (event) {
1773      if (event.defaultPrevented || event.button !== 0) return;
1774      if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
1775      if (document.body.hasAttribute('data-scroll-container')) return;
1776      var link = event.target.closest('a[href]');
1777      if (!link || !stickyAnchorRoot.contains(link) || link.target === '_blank') return;
1778      var href = link.getAttribute('href');
1779      if (!/^#[^#]/.test(href)) return;
1780      var targetId;
1781      try {
1782        targetId = decodeURIComponent(href.slice(1));
1783      } catch (e) {
1784        return;
1785      }
1786      var target = document.getElementById(targetId);
1787      if (!target || window.getComputedStyle(target).position !== 'sticky') return;
1788      event.preventDefault();
1789      if (window.location.hash !== href) window.history.pushState(null, '', href);
1790      window.requestAnimationFrame(function () {
1791        window.scrollTo({
1792          top: getInFlowTop(target)
1793        });
1794      });
1795    });
1796  })(document.getElementById(sectionDomId));
1797  const subNavOpeners = sectionSelector.querySelectorAll('.js-subnav-opener');
1798  subNavOpeners.forEach(opener => {
1799    opener.addEventListener('click', function (e) {
1800      e.preventDefault();
1801      e.stopPropagation();
1802      const parent = opener.parentElement;
1803      subNavOpeners.forEach(otherOpener => {
1804        if (otherOpener !== opener) {
1805          otherOpener.parentElement.classList.remove('header-navigation__item--sub-nav--opened');
1806        }
1807      });
1808      parent.classList.toggle('header-navigation__item--sub-nav--opened');
1809    });
1810  });
1811  document.addEventListener('click', function (e) {
1812    if (!e.target.closest('.js-subnav-opener') && !e.target.closest('.header-navigation__item--sub-nav--opened')) {
1813      subNavOpeners.forEach(opener => {
1814        opener.parentElement.classList.remove('header-navigation__item--sub-nav--opened');
1815      });
1816    }
1817  });
1818  function initHeaderColors() {
1819    try {
1820      var colorStr = window.getComputedStyle(header).getPropertyValue("--backgroundColor");
1821      var bgColor = makeColor(colorStr);
1822      var isDark = (bgColor.rgba.r * 299 + bgColor.rgba.g * 587 + bgColor.rgba.b * 114) / 1000 < 128;
1823      sectionSelector.classList.add('is-background-color-' + (isDark ? 'dark' : 'light'));
1824    } catch (e) {}
1825  }
1826  function makeColor(str) {
1827    var color = {
1828      rgba: {
1829        r: 0,
1830        g: 0,
1831        b: 0,
1832        a: 0
1833      }
1834    };
1835    if (str && str.match) {
1836      var m = str.match(/rgba?\s*\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*([\.0-9]+))?\)/);
1837      if (m) {
1838        color.rgba.r = parseInt(m[1]);
1839        color.rgba.g = parseInt(m[2]);
1840        color.rgba.b = parseInt(m[3]);
1841        color.rgba.a = parseFloat(m[4]);
1842        if (isNaN(color.rgba.a)) {
1843          color.rgba.a = 1;
1844        }
1845      }
1846    }
1847    return color;
1848  }
1849  initHeaderColors();
1850  var navEl = document.querySelector('nav > header') || document.querySelector('nav');
1851  var navbarHeight = navEl ? navEl.offsetHeight : 0;
1852  if (navEl) {
1853    if (window.ResizeObserver) {
1854      new ResizeObserver(function (entries) {
1855        if (!entries.length) return;
1856        navbarHeight = entries[0].target.offsetHeight;
1857      }).observe(navEl);
1858    } else {
1859      window.addEventListener('resize', function () {
1860        navbarHeight = navEl.offsetHeight;
1861      });
1862    }
1863  }
1864  function isLocomotiveActive() {
1865    return document.body.hasAttribute('data-scroll-container');
1866  }
1867  function updateHeaderVisibility(currentScrollTop) {
1868    if (!searchWrapperSelector || searchWrapperSelector.style.display !== 'block') {
1869      if (currentScrollTop === 0) header.classList.remove('header--hide');else if (currentScrollTop > lastScrollTop) header.classList.add('header--hide');else header.classList.remove('header--hide');
1870    }
1871    lastScrollTop = currentScrollTop;
1872  }
1873  function customHeaderHideShow(currentScrollTop) {
1874    if (!navEl) return;
1875    if (currentScrollTop > 0) {
1876      navEl.classList.add('scroll');
1877    } else {
1878      navEl.classList.remove('scroll');
1879    }
1880    if (currentScrollTop > lastScrollTop && currentScrollTop > navbarHeight) {
1881      document.documentElement.style.setProperty('--global-header-height', '0px');
1882    } else {
1883      document.documentElement.style.setProperty('--global-header-height', navbarHeight + 'px');
1884    }
1885  }
1886  window.addEventListener('scroll', function () {
1887    if (isLocomotiveActive()) return;
1888    var currentScrollTop = window.scrollY || document.documentElement.scrollTop;
1889    updateHeaderVisibility(currentScrollTop);
1890  });
1891  var isTicking = false;
1892  var latestLocoScrollY = 0;
1893  window.addEventListener('locomotive-scroll', function (e) {
1894    latestLocoScrollY = e.detail.scrollY;
1895    if (!isTicking) {
1896      window.requestAnimationFrame(function () {
1897        customHeaderHideShow(latestLocoScrollY);
1898        updateHeaderVisibility(latestLocoScrollY);
1899        isTicking = false;
1900      });
1901      isTicking = true;
1902    }
1903  });
1904  if (searchToggleSelector !== null) {
1905    searchToggleSelector.addEventListener('click', function () {
1906      if (searchWrapperSelector.style.display === 'block') {
1907        searchWrapperSelector.style.display = 'none';
1908      } else {
1909        searchWrapperSelector.style.display = 'block';
1910        header.classList.remove('header--hide');
1911      }
1912    });
1913    document.addEventListener('click', function (evt) {
1914      if (!searchToggleSelector.contains(evt.target) && !searchWrapperSelector.contains(evt.target)) searchWrapperSelector.style.display = 'none';
1915    });
1916  }
1917  window.luxuryPresence.mapApiLoader.load().then(() => {
1918    if (!searchWrapperSelector) return;
1919    const templateHTML = sectionSelector.querySelector('.js-card-template')?.innerHTML;
1920    const itemTemplate = templateHTML && Handlebars.compile(templateHTML);
1921    const searchMls = searchWrapperSelector.dataset.searchMls === 'true';
1922    const searchProperties = searchWrapperSelector.dataset.searchProperties === 'true';
1923    const selectedCountries = searchWrapperSelector.dataset.locations;
1924    const searchInputSelector = sectionSelector.querySelector('.js-header-search-input');
1925    const searchIconSelector = sectionSelector.querySelector('.js-header-btn-search');
1926    const closeIconSelector = sectionSelector.querySelector('.js-header-btn-close');
1927    const searchResultsSelector = sectionSelector.querySelector('.js-header-search-results-holder');
1928    const resultsContainerSelector = sectionSelector.querySelector('.js-header-results-container');
1929    const loaderSelector = sectionSelector.querySelector('.js-header-spinner');
1930    const predefinedSelector = sectionSelector.querySelector('.js-header-search-results-predefined');
1931    const nothingFoundSelector = sectionSelector.querySelector('.js-header-spinner-nothing-found');
1932    const service = new google.maps.places.AutocompleteService();
1933    const geocoder = new google.maps.Geocoder();
1934    var keyword;
1935    var leasePropertyState = false;
1936    var leasePropertySearched;
1937    var isLoading = false;
1938    var newSearchTimer;
1939    var placesResult = {};
1940    function updateSearchDisplay() {
1941      var hasResults = !!resultsContainerSelector.innerHTML;
1942      var hasPredefined = predefinedSelector.querySelectorAll('a:not(.not-processed)').length > 0;
1943      nothingFoundSelector.style.display = 'none';
1944      if (hasResults) {
1945        predefinedSelector.style.display = 'none';
1946        loaderSelector.style.display = 'none';
1947        resultsContainerSelector.style.display = 'block';
1948      } else if (isLoading) {
1949        resultsContainerSelector.style.display = 'none';
1950        predefinedSelector.style.display = 'none';
1951        loaderSelector.style.display = 'block';
1952      } else if (hasPredefined) {
1953        resultsContainerSelector.style.display = 'none';
1954        loaderSelector.style.display = 'none';
1955        predefinedSelector.style.display = 'block';
1956      } else {
1957        resultsContainerSelector.style.display = 'none';
1958        loaderSelector.style.display = 'none';
1959        predefinedSelector.style.display = 'none';
1960        if (keyword) nothingFoundSelector.style.display = 'block';
1961      }
1962    }
1963    function moveSelection(up) {
1964      var count = resultsContainerSelector.innerHTML ? resultsContainerSelector : predefinedSelector;
1965      var links = count.querySelectorAll('.results-link');
1966      if (!links.length) return;
1967      var idx = -1;
1968      links.forEach((link, i) => {
1969        if (idx === -1 && link.classList.contains('header-search-results__link--selected')) idx = i;
1970      });
1971      var newIdx;
1972      if (up) {
1973        newIdx = idx - 1;
1974        if (newIdx < 0) newIdx = links.length - 1;
1975      } else {
1976        newIdx = idx + 1;
1977        if (newIdx > links.length - 1) newIdx = 0;
1978      }
1979      if (newIdx !== idx) {
1980        searchResultsSelector.querySelector('.header-search-results__link--selected')?.classList.remove('header-search-results__link--selected');
1981        links[newIdx].classList.add('header-search-results__link--selected');
1982      }
1983    }
1984    function startSearch() {
1985      const term = searchInputSelector.value;
1986      if (term === keyword && leasePropertySearched === leasePropertyState) return;
1987      leasePropertySearched = leasePropertyState;
1988      keyword = term;
1989      if (term) doSearch(term, leasePropertySearched);else setResults(null);
1990    }
1991    function mlsSearch(term) {
1992      var query = {
1993        omnibox: term,
1994        limit: 5
1995      };
1996      return superagent.get(window.location.protocol + '//' + window.location.host + '/home-search/listings.json').query(query).then(function (res) {
1997        if (!Array.isArray(res.body)) return [];
1998        return res.body.map(function (item) {
1999          return {
2000            id: item.id,
2001            display_address: [item.address_1, item.city, [item.state, item.postal_code].filter(function (i) {
2002              return i;
2003            }).join(' ')].filter(function (i) {
2004              return i;
2005            }).join(', ')
2006          };
2007        });
2008      }, function (e) {
2009        console.log(e);
2010        return [];
2011      });
2012    }
2013    function resolveGeoBounds(placeId, description) {
2014      return new Promise(function (resolve, reject) {
2015        geocoder.geocode({
2016          'placeId': placeId
2017        }, function (results, status) {
2018          if (status != 'OK') return resolve(null);
2019          var result = results[0];
2020          var bounds = new google.maps.LatLngBounds();
2021          bounds.extend(result.geometry.viewport.getSouthWest());
2022          bounds.extend(result.geometry.viewport.getNorthEast());
2023          result.geometry.bounds = bounds.toJSON();
2024          var placeUrl = window.luxuryPresence.makeMlsLink(result);
2025          return resolve({
2026            placeUrl: placeUrl,
2027            description: description
2028          });
2029        });
2030      });
2031    }
2032    function addRestrictions(request) {
2033      switch (selectedCountries) {
2034        case 'Worldwide':
2035          return request;
2036        case 'US & Canada':
2037          request.componentRestrictions = {
2038            country: ['us', 'ca']
2039          };
2040          return request;
2041        default:
2042          request.componentRestrictions = {
2043            country: 'us'
2044          };
2045          return request;
2046      }
2047    }
2048    function resolveAutocomplete(term, deeper) {
2049      var request = addRestrictions({
2050        input: term,
2051        types: deeper ? ['geocode'] : ['(regions)'],
2052        limit: 1
2053      });
2054      return new Promise(function (resolve, reject) {
2055        service.getPlacePredictions(request, function (results, status) {
2056          if (status !== google.maps.places.PlacesServiceStatus.OK) {
2057            resolve(null);
2058            return;
2059          }
2060          if (!Array.isArray(results)) {
2061            resolve(null);
2062            return;
2063          }
2064          if (deeper) {
2065            var allowedTypes = {
2066              'neighborhood': true,
2067              'administrative_area_level_3': true,
2068              'administrative_area_level_4': true,
2069              'administrative_area_level_5': true,
2070              'sublocality_level_1': true,
2071              'sublocality_level_2': true,
2072              'sublocality_level_3': true
2073            };
2074            results = results.filter(function (res) {
2075              return res.types.find(t => allowedTypes[t]);
2076            });
2077          }
2078          if (!results.length) {
2079            resolve(null);
2080            return;
2081          }
2082          resolve(results);
2083        });
2084      });
2085    }
2086    function placesSearch(term, ignoreInput) {
2087      if (placesResult.term !== term) {
2088        placesResult = {
2089          term: term,
2090          result: resolveAutocomplete(term).then(function (results) {
2091            if (!ignoreInput && term !== keyword) return null;
2092            if (ignoreInput && !results) return resolveAutocomplete(term, true);
2093            return results;
2094          }).then(function (results) {
2095            if (!ignoreInput && term !== keyword || !results) return [];
2096            var geoResultPromises = results.map(function (result) {
2097              return resolveGeoBounds(result.place_id, result.description);
2098            });
2099            return Promise.all(geoResultPromises).then(function (geoLinks) {
2100              return geoLinks.filter(function (i) {
2101                return i;
2102              }).slice(0, 3);
2103            });
2104          })
2105        };
2106      }
2107      return placesResult.result;
2108    }
2109    function propertiesSearch(term) {
2110      var payload = {
2111        companyId: window.luxuryPresence.defaults.companyId,
2112        search: term,
2113        offset: 0,
2114        limit: 4,
2115        statusIds: ["5f528253-abb7-484e-95c3-330269ac1105", "959c11cf-8655-4f91-874c-292b0ab7ea6b", "a0012964-4f51-4430-abf8-6547c5ab6441", "df04ccbe-4621-4140-a504-ee1a17430bb7", "88b4ace6-f39b-4b25-a051-8f6dba976833", "96031d77-bbe5-4de3-90d8-1e4e70de8ca8"]
2116      };
2117      var gqlQuery = 'query ($companyId: String, $search: String, $offset: Int, $limit: Int, $propertyStatusId: [String!]) {properties (companyId: $companyId, search: $search, offset: $offset, limit: $limit, propertyStatusId: $propertyStatusId) {items {id name slug fullAddress privateAddress status isPasswordProtected priceUponRequest salesPrice reducedPrice leasePrice currency media {smallUrl mediumUrl largeUrl xLargeUrl xxLargeUrl height width altTagText}}}}';
2118      return superagent.post(window.luxuryPresence.defaults.routerUrl + '/graphql').send({
2119        query: gqlQuery,
2120        variables: window.luxuryPresence.routerApi.transformVariables('properties', payload)
2121      }).then(function (res) {
2122        var page = (res.body.data || {}).properties;
2123        return page && page.items || [];
2124      }, function (err) {
2125        return [];
2126      });
2127    }
2128    function doSearch(term, leaseProperty) {
2129      isLoading = true;
2130      updateSearchDisplay();
2131      Promise.all([searchMls ? mlsSearch(term, leaseProperty) : [], searchMls ? placesSearch(term) : [], searchProperties ? propertiesSearch(term, leaseProperty) : []]).then(function (res) {
2132        if (term !== keyword) return;
2133        setResults(res[0], res[1], res[2], leaseProperty);
2134      });
2135    }
2136    function makeResultsBlockHtml(title, elementClass, links) {
2137      if (!links || !links.length) return '';else return '<div class="header-search-results__block"><div class="header-search-results__title">' + title + '</div><div class="' + elementClass + '">' + links.join('') + '</div></div>';
2138    }
2139    function setResults(mlsResults, placesResults, propertiesResults, leaseProperty) {
2140      searchResultsSelector.querySelector('.header-search-results__link--selected')?.classList.remove('header-search-results__link--selected');
2141      isLoading = false;
2142      updateSearchDisplay();
2143      if (!mlsResults) {
2144        resultsContainerSelector.innerHTML = '';
2145        updateSearchDisplay();
2146        return;
2147      }
2148      if (!mlsResults.length && !placesResults.length && !propertiesResults.length) {
2149        updateSearchDisplay();
2150        return;
2151      }
2152      var propertiesHtml = makeResultsBlockHtml('Featured Properties', 'header-properties', propertiesResults.map(function (result) {
2153        return itemTemplate(result);
2154      }));
2155      var placesHtml = makeResultsBlockHtml('Locations', '', placesResults.map(function (result) {
2156        return `<a class="header-search-results__link lp-icon" href="${result.placeUrl}${leaseProperty ? '&lease_property=true' : ''}">${result.description}</a>`;
2157      }));
2158      var mlsHtml = makeResultsBlockHtml('Address', '', mlsResults.map(function (result) {
2159        return `<a href="/home-search/listings/${result.id}" class="header-search-results__link lp-icon">${result.display_address}</a>`;
2160      }));
2161      resultsContainerSelector.innerHTML = propertiesHtml + placesHtml + mlsHtml;
2162      updateSearchDisplay();
2163    }
2164    var neighborhoods = null;
2165    function fetchNeighborhoods() {
2166      var url = window.luxuryPresence.defaults.routerUrl;
2167      var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {neighborhoods (companyId: $companyId, offset: $offset, limit: $limit) {items {id, name, mlsLink, googlePlaceData}}}';
2168      var payload = {};
2169      payload.offset = 0;
2170      payload.limit = 100;
2171      payload.companyId = window.luxuryPresence.defaults.companyId;
2172      return superagent.post(url + '/graphql').withCredentials().send({
2173        query: gqlQuery,
2174        variables: payload
2175      }).then(function (res) {
2176        var data = res.body.data && res.body.data.neighborhoods;
2177        neighborhoods = data && data.items || null;
2178        if (neighborhoods && !neighborhoods.length) {
2179          neighborhoods = null;
2180        }
2181      });
2182    }
2183    function setPredefinedNeighborhoods() {
2184      return fetchNeighborhoods().then(function () {
2185        if (!neighborhoods) return;
2186        var placesHtml = makeResultsBlockHtml('Locations', neighborhoods.map(function (item) {
2187          return `<a class="header-search-results__link lp-icon" href="${item.mlsLink}${leasePropertyState ? '&lease_property=true' : ''}">${item.googlePlaceData && item.googlePlaceData.formatted_address || item.name}</a>`;
2188        }));
2189        predefinedSelector.innerHTML = placesHtml;
2190        updateSearchDisplay();
2191      });
2192    }
2193    if (searchMls) setPredefinedNeighborhoods();
2194    closeIconSelector.style.opacity = '0';
2195    closeIconSelector.style.pointerEvents = 'none';
2196    searchInputSelector.setAttribute('inputmode', 'search');
2197    searchInputSelector.addEventListener('input', function () {
2198      if (this.value === '') {
2199        closeIconSelector.style.opacity = '0';
2200        closeIconSelector.style.pointerEvents = 'none';
2201        searchIconSelector.style.opacity = '1';
2202        searchIconSelector.style.pointerEvents = 'auto';
2203      } else {
2204        closeIconSelector.style.opacity = '1';
2205        closeIconSelector.style.pointerEvents = 'auto';
2206        searchIconSelector.style.opacity = '0';
2207        searchIconSelector.style.pointerEvents = 'none';
2208      }
2209      window.clearTimeout(newSearchTimer);
2210      newSearchTimer = window.setTimeout(startSearch, 300);
2211    });
2212    searchInputSelector.addEventListener('keydown', function (ev) {
2213      if (ev.which === 38) {
2214        ev.preventDefault();
2215        moveSelection(true);
2216        return false;
2217      }
2218      if (ev.which === 40) {
2219        ev.preventDefault();
2220        moveSelection();
2221        return false;
2222      }
2223      if (ev.which === 13) {
2224        let $lnk = searchResultsSelector.querySelector('.header-search-results__link--selected');
2225        if ($lnk) {
2226          $lnk.click();
2227          searchActive = false;
2228          updateSearchDisplay();
2229        } else {
2230          $searchBtn.click();
2231        }
2232      }
2233    });
2234    closeIconSelector.addEventListener('click', function () {
2235      searchInputSelector.value = '';
2236      searchInputSelector.dispatchEvent(new Event('input'));
2237      searchActive = false;
2238      updateSearchDisplay();
2239    });
2240    searchResultsSelector.addEventListener('mouseenter', function (ev) {
2241      searchResultsSelector.querySelector('.header-search-results__link--selected')?.classList.remove('header-search-results__link--selected');
2242    });
2243    function outsideClickHandler(e) {
2244      if (searchWrapperSelector.contains(e.target)) return;
2245      searchActive = false;
2246      updateSearchDisplay();
2247    }
2248    document.addEventListener('click', outsideClickHandler);
2249  });
2250})('global-navbar');
2251} catch(e) {
2252console.log(e);
2253}
2254                try {
2255(function init(sectionDomId, options) {
2256  var elementSelector = options.elementSelector || 'nav';
2257  var element = document.querySelector(elementSelector);
2258  var sections = document.querySelectorAll('body > section');
2259  var subNavContainers = element.querySelectorAll('.sub-nav');
2260  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
2261  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
2262  var fontColor = options.fontColor || '#fff';
2263  var fontColorScroll = options.fontColorScroll || '#000';
2264  var didScroll = false;
2265  var lastScrollTop = 0;
2266  var delta = 5;
2267
2268  // eslint-disable-next-line sonarjs/no-collapsible-if
2269  if (wow) {
2270    // Wowjs might not trigger for position fixed elements
2271    if (window.scrollY > 0) {
2272      element.querySelectorAll('.wow').forEach(el => wow.show(el));
2273    }
2274  }
2275  function adjustNavPinState() {
2276    // Remove 'visible' class from all subNavContainers
2277    for (let i = 0; i < subNavContainers.length; i++) {
2278      subNavContainers[i].classList.remove('visible');
2279    }
2280    if (window.scrollY > 0) {
2281      element.style.backgroundColor = backgroundColorScroll;
2282      element.style.color = fontColorScroll;
2283      element.classList.add('scroll');
2284    } else {
2285      element.style.backgroundColor = initialBackgroundColor;
2286      element.style.color = fontColor;
2287      element.classList.remove('scroll');
2288    }
2289  }
2290  adjustNavPinState();
2291  function onScroll() {
2292    didScroll = true;
2293  }
2294  window.addEventListener('scroll', onScroll);
2295
2296  // eslint-disable-next-line
2297  var debounceInterval = setInterval(() => {
2298    if (didScroll) {
2299      // eslint-disable-next-line
2300      hasScrolled();
2301      didScroll = false;
2302    }
2303  }, 250);
2304  function hasScrolled() {
2305    adjustNavPinState();
2306    // eslint-disable-next-line
2307    var navbarHeight = element.offsetHeight;
2308    // eslint-disable-next-line
2309    var st = window.scrollY;
2310
2311    // Make sure they scroll more than delta
2312    if (Math.abs(lastScrollTop - st) <= delta) {
2313      return;
2314    }
2315    if (st > lastScrollTop && st > navbarHeight) {
2316      // Scroll Down
2317      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
2318      document.documentElement.style.setProperty('--global-header-height', '0px');
2319
2320      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
2321      sections.forEach(section => {
2322        if (section.classList.contains('sticky')) {
2323          section.style.top = '0px';
2324        }
2325      });
2326    } else {
2327      // Scroll Up
2328      // eslint-disable-next-line
2329      if (st + window.innerHeight < document.documentElement.scrollHeight) {
2330        element.style.transform = `translateY(0) scaleY(1)`;
2331        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
2332        sections.forEach(section => {
2333          if (section.classList.contains('sticky')) {
2334            section.style.top = `${navbarHeight}px`;
2335          }
2336        });
2337      }
2338    }
2339    lastScrollTop = st;
2340  }
2341})('NAVBAR', JSON.parse("{\"fontColor\":\"#161515\",\"elementSelector\":\".header\",\"fontColorScroll\":\"#fff\",\"backgroundColorScroll\":\"rgba(26,26,26, .8)\",\"initialBackgroundColor\":\"#fff\"}"));
2342} catch(e) {
2343console.log(e);
2344}
2345                try {
2346(function init(sectionDomId) {
2347  if (sectionDomId === "main-section") sectionDomId = "global-sidemenu";
2348  (function (stickyAnchorRoot) {
2349    if (!stickyAnchorRoot) return;
2350    function getInFlowTop(target) {
2351      var inlineValue = target.style.getPropertyValue('position');
2352      var inlinePriority = target.style.getPropertyPriority('position');
2353      target.style.setProperty('position', 'relative', 'important');
2354      var top = target.getBoundingClientRect().top + window.pageYOffset;
2355      if (inlineValue) target.style.setProperty('position', inlineValue, inlinePriority);else target.style.removeProperty('position');
2356      var scrollMarginTop = parseFloat(window.getComputedStyle(target).scrollMarginTop) || 0;
2357      return Math.max(0, top - scrollMarginTop);
2358    }
2359    stickyAnchorRoot.addEventListener('click', function (event) {
2360      if (event.defaultPrevented || event.button !== 0) return;
2361      if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
2362      if (document.body.hasAttribute('data-scroll-container')) return;
2363      var link = event.target.closest('a[href]');
2364      if (!link || !stickyAnchorRoot.contains(link) || link.target === '_blank') return;
2365      var href = link.getAttribute('href');
2366      if (!/^#[^#]/.test(href)) return;
2367      var targetId;
2368      try {
2369        targetId = decodeURIComponent(href.slice(1));
2370      } catch (e) {
2371        return;
2372      }
2373      var target = document.getElementById(targetId);
2374      if (!target || window.getComputedStyle(target).position !== 'sticky') return;
2375      event.preventDefault();
2376      if (window.location.hash !== href) window.history.pushState(null, '', href);
2377      window.requestAnimationFrame(function () {
2378        window.scrollTo({
2379          top: getInFlowTop(target)
2380        });
2381      });
2382    });
2383  })(document.getElementById(sectionDomId));
2384  var sidemenu = document.getElementById(sectionDomId);
2385  var openers = sidemenu.querySelectorAll('.js-sub-nav-opener');
2386  var items = sidemenu.querySelectorAll('.js-idemenu-navigation-item');
2387  var watermark = document.querySelector('.js-sidemenu-watermark');
2388  var onShow = function () {
2389    window.lpUI.requestScrollLock(sectionDomId);
2390  };
2391  var onHide = function () {
2392    window.lpUI.releaseScrollLock(sectionDomId);
2393  };
2394  sidemenu.addEventListener('lpui-show', onShow);
2395  sidemenu.addEventListener('lpui-hide', onHide);
2396  openers.forEach(function (opener) {
2397    opener.addEventListener('click', function (event) {
2398      event.preventDefault();
2399      this.classList.toggle('sidemenu-navigation__link--active');
2400      this.classList.toggle('sidemenu-navigation__link--sub-nav-active');
2401    });
2402  });
2403  document.body.addEventListener('click', function (evt) {
2404    if (!evt.target.closest('.sidemenu') && !evt.target.closest('.js-sidemenu-opener')) {
2405      window.lpUI.sideMenuHide();
2406    }
2407  });
2408  const handleLinkClick = function (href) {
2409    if (href && href.match(/^#[^#].*$/)) {
2410      window.lpUI.sideMenuHide();
2411    }
2412  };
2413  const mainNavLinks = sidemenu.querySelectorAll('.sidemenu-navigation__link');
2414  mainNavLinks.forEach(function (link) {
2415    link.addEventListener('click', function (event) {
2416      const href = this.getAttribute('href');
2417      handleLinkClick(href);
2418    });
2419  });
2420  const subNavLinks = sidemenu.querySelectorAll('.sidemenu-navigation-sub-nav__link');
2421  subNavLinks.forEach(function (link) {
2422    link.addEventListener('click', function (event) {
2423      const href = this.getAttribute('href');
2424      handleLinkClick(href);
2425    });
2426  });
2427  if (watermark) {
2428    items.forEach(function (item, index) {
2429      item.setAttribute("data-id", index <= 9 ? "0" + (index + 1) : index + 1);
2430    });
2431    items.forEach(function (item) {
2432      item.addEventListener('mouseenter', function () {
2433        watermark.setAttribute("data-id", item.getAttribute("data-id"));
2434        watermark.style.opacity = 1;
2435      });
2436      item.addEventListener('mouseleave', function () {
2437        watermark.style.opacity = 0;
2438      });
2439    });
2440  }
2441})('global-sidemenu');
2442} catch(e) {
2443console.log(e);
2444}
2445                
2446                try {
2447(function init(sectionDomId) {
2448  const sectionDom = document.getElementById(sectionDomId);
2449  const backToTopBtn = sectionDom.querySelector('.js-back-to-top');
2450  backToTopBtn?.addEventListener('click', () => {
2451    window.scrollTo({
2452      top: 0,
2453      behavior: 'smooth'
2454    });
2455  });
2456})('global-footer');
2457} catch(e) {
2458console.log(e);
2459}
2460                
2461                try {
2462(function init(sectionDomId) {
2463  const customDropdownHTML = `
2464  <div class="custom-select" role="presentation">
2465    <button class="custom-select-toggle" type="button" aria-haspopup="true" aria-expanded="false" role="combobox"></button>
2466    <div class="custom-select-menu"><div class="custom-select-content"></div></div>
2467  </div>`;
2468  const hideOriginalSelect = originalSelect => {
2469    originalSelect.classList.remove(...originalSelect.classList);
2470    originalSelect.classList.add("sr-only");
2471  };
2472  const openCustomSelect = customSelectToggle => {
2473    let customSelectMenu = customSelectToggle.nextElementSibling;
2474    customSelectMenu.classList.add("open");
2475    customSelectToggle.classList.add("open");
2476    customSelectToggle.ariaExpanded = true;
2477  };
2478  const closeCustomSelect = customSelectToggle => {
2479    let customSelectMenu = customSelectToggle.nextElementSibling;
2480    customSelectMenu.classList.remove("open");
2481    customSelectToggle.classList.remove("open");
2482    customSelectToggle.ariaExpanded = false;
2483  };
2484  const inheritAttributes = (originalSelect, customSelectToggle, customSelectMenu) => {
2485    customSelectToggle.className = customSelectToggle.className.concat(' ', originalSelect.className);
2486    customSelectToggle.id = originalSelect.getAttribute("id") + "custom";
2487    customSelectToggle.dataset.name = originalSelect.getAttribute("name");
2488    customSelectMenu.setAttribute("aria-labelledby", customSelectToggle.id);
2489  };
2490  const initiateQuerySelectors = customSelect => {
2491    let customSelectToggle = customSelect.querySelector('.custom-select-toggle'),
2492      customSelectMenu = customSelect.querySelector('.custom-select-menu'),
2493      customSelectContent = customSelect.querySelector('.custom-select-content');
2494    return {
2495      customSelectToggle,
2496      customSelectMenu,
2497      customSelectContent
2498    };
2499  };
2500  const initiateToggleText = (originalSelect, customSelectToggle) => {
2501    const dataLabelOption = originalSelect.querySelector("[data-label]");
2502    const isMultiple = originalSelect?.multiple;
2503    if (!isMultiple) {
2504      const toggleText = dataLabelOption && dataLabelOption.dataset.label || originalSelect.querySelector(":checked")?.textContent || originalSelect.querySelector("option")?.textContent;
2505      customSelectToggle.classList.add("is-placeholder");
2506      customSelectToggle.innerHTML = toggleText;
2507    } else {
2508      const placeholderText = dataLabelOption && dataLabelOption.dataset.label || originalSelect.querySelector("option")?.textContent || "Select";
2509      const selectedOptions = Array.from(originalSelect.querySelectorAll("option:checked")).filter(opt => opt.value !== "");
2510      if (selectedOptions.length === 0) {
2511        customSelectToggle.innerHTML = placeholderText;
2512        customSelectToggle.classList.add("is-placeholder");
2513      } else if (selectedOptions.length === 1) {
2514        customSelectToggle.innerHTML = selectedOptions[0].textContent;
2515        customSelectToggle.classList.remove("is-placeholder");
2516      } else {
2517        customSelectToggle.innerHTML = `${selectedOptions[0].textContent} +${selectedOptions.length - 1}`;
2518        customSelectToggle.classList.remove("is-placeholder");
2519      }
2520    }
2521  };
2522  const convertOptionsToButtons = (originalSelect, customSelectContent) => {
2523    originalSelect.querySelectorAll('option').forEach(option => {
2524      const button = createButtonFromOption(option);
2525      customSelectContent.appendChild(button);
2526    });
2527  };
2528  const createButtonFromOption = option => {
2529    let button = document.createElement('button');
2530    button.className = "custom-select-item";
2531    button.setAttribute("role", "option");
2532    button.setAttribute("type", "button");
2533    button.textContent = option.textContent;
2534    button.setAttribute('value', option.value);
2535    if (option.disabled) {
2536      button.setAttribute("disabled", "true");
2537    }
2538    if (option.selected && option.value !== "") {
2539      button.classList.add("is-selected");
2540      button.setAttribute("aria-selected", "true");
2541    }
2542    return button;
2543  };
2544  const initiateEventListeners = (originalSelect, customSelectToggle, customSelectMenu) => {
2545    const isMultiple = originalSelect?.multiple;
2546    originalSelect.addEventListener("focus", function () {
2547      openCustomSelect(customSelectToggle);
2548      customSelectToggle.focus();
2549    });
2550    customSelectToggle.addEventListener("click", function () {
2551      if (customSelectToggle.getAttribute("aria-expanded") === "true") {
2552        closeCustomSelect(customSelectToggle);
2553      } else {
2554        openCustomSelect(customSelectToggle);
2555      }
2556    });
2557    customSelectMenu.addEventListener("click", function (event) {
2558      if (event.target.classList.contains('custom-select-item')) {
2559        const clickedValue = event.target.value;
2560        const clickedOption = originalSelect.querySelector(`option[value="${clickedValue}"]`);
2561        const placeholderOption = originalSelect.querySelector("[data-label]");
2562        const placeholderText = placeholderOption?.dataset.label || originalSelect.querySelector("option")?.textContent || "Select";
2563        if (!isMultiple) {
2564          let opts = customSelectMenu.querySelectorAll(".is-selected");
2565          [].forEach.call(opts, function (el) {
2566            el.classList.remove("is-selected");
2567          });
2568          event.target.classList.add("is-selected");
2569          clickedOption.selected = true;
2570          customSelectToggle.innerHTML = clickedOption.textContent;
2571          if (clickedValue === "" || event.target.classList.contains("is-placeholder")) {
2572            customSelectToggle.classList.add("is-placeholder");
2573          } else {
2574            customSelectToggle.classList.remove("is-placeholder");
2575          }
2576          let changeEvent = new Event('change', {
2577            bubbles: true
2578          });
2579          originalSelect.dispatchEvent(changeEvent);
2580          closeCustomSelect(customSelectToggle);
2581        } else {
2582          if (clickedValue === "") {
2583            customSelectMenu.querySelectorAll(".is-selected").forEach(el => {
2584              el.classList.remove("is-selected");
2585              el.setAttribute("aria-selected", "false");
2586            });
2587            originalSelect.querySelectorAll("option").forEach(opt => opt.selected = false);
2588            customSelectToggle.innerHTML = placeholderText;
2589            customSelectToggle.classList.add("is-placeholder");
2590          } else {
2591            const isCurrentlySelected = event.target.classList.contains("is-selected");
2592            event.target.classList.toggle("is-selected");
2593            event.target.setAttribute("aria-selected", (!isCurrentlySelected).toString());
2594            clickedOption.selected = !isCurrentlySelected;
2595            const allItem = customSelectMenu.querySelector('.custom-select-item[value=""]');
2596            if (allItem) {
2597              allItem.classList.remove("is-selected");
2598              allItem.setAttribute("aria-selected", "false");
2599            }
2600            const allOption = originalSelect.querySelector('option[value=""]');
2601            if (allOption) allOption.selected = false;
2602            const selectedItems = customSelectMenu.querySelectorAll(".custom-select-item.is-selected");
2603            if (selectedItems.length === 0) {
2604              customSelectToggle.innerHTML = placeholderText;
2605              customSelectToggle.classList.add("is-placeholder");
2606            } else if (selectedItems.length === 1) {
2607              customSelectToggle.innerHTML = selectedItems[0].textContent;
2608              customSelectToggle.classList.remove("is-placeholder");
2609            } else {
2610              customSelectToggle.innerHTML = `${selectedItems[0].textContent} +${selectedItems.length - 1}`;
2611              customSelectToggle.classList.remove("is-placeholder");
2612            }
2613          }
2614          let changeEvent = new Event('change', {
2615            bubbles: true
2616          });
2617          originalSelect.dispatchEvent(changeEvent);
2618        }
2619      }
2620    });
2621    document.addEventListener("click", function (event) {
2622      if (!customSelectMenu.contains(event.target) && !customSelectToggle.contains(event.target)) {
2623        closeCustomSelect(customSelectToggle);
2624      }
2625    });
2626  };
2627  const createCustomSelect = originalSelect => {
2628    const customSelect = document.createElement('div');
2629    customSelect.innerHTML = customDropdownHTML;
2630    const {
2631      customSelectToggle,
2632      customSelectMenu,
2633      customSelectContent
2634    } = initiateQuerySelectors(customSelect);
2635    inheritAttributes(originalSelect, customSelectToggle, customSelectMenu);
2636    hideOriginalSelect(originalSelect);
2637    initiateToggleText(originalSelect, customSelectToggle);
2638    convertOptionsToButtons(originalSelect, customSelectContent);
2639    initiateEventListeners(originalSelect, customSelectToggle, customSelectMenu);
2640    return customSelect;
2641  };
2642  const setCustomSelectValue = (originalSelect, value) => {
2643    let customSelect = originalSelect.nextElementSibling;
2644    let customSelectToggle = customSelect.querySelector(".custom-select-toggle");
2645    let customSelectContent = customSelect.querySelector(".custom-select-content");
2646    if (!customSelectContent) return;
2647    let selectedOption = value ? Array.from(customSelectContent.children).find(function (b) {
2648      return b.value === value;
2649    }) : customSelectContent.firstChild;
2650    if (!selectedOption) {
2651      return;
2652    }
2653    if (selectedOption.classList.contains("is-disabled")) return;
2654    let elementNumber = Array.from(selectedOption.parentNode.children).indexOf(selectedOption);
2655    let linkedOption = originalSelect.querySelectorAll("option")[elementNumber];
2656    linkedOption.selected = true;
2657    selectedOption.classList.add("is-selected");
2658    selectedOption.parentNode.querySelectorAll(".custom-select-item").forEach(el => {
2659      if (el !== selectedOption) {
2660        el.classList.remove("is-selected");
2661      }
2662    });
2663    closeCustomSelect(customSelectToggle);
2664    customSelectToggle.innerHTML = linkedOption.innerHTML;
2665    if (linkedOption.value) {
2666      customSelectToggle.classList.remove("is-placeholder");
2667      if (linkedOption.value !== "") {
2668        customSelect.classList.add("has-selection");
2669      } else {
2670        customSelect.classList.remove("has-selection");
2671      }
2672    } else {
2673      customSelect.classList.remove("has-selection");
2674      customSelectToggle.classList.add("is-placeholder");
2675    }
2676  };
2677  const customSelect = originalSelect => {
2678    const customSelect = createCustomSelect(originalSelect);
2679    originalSelect.insertAdjacentElement('afterend', customSelect);
2680    return customSelect;
2681  };
2682  const resetCustomSelect = originalSelect => {
2683    const customSelectEl = originalSelect.nextElementSibling;
2684    const customSelectToggle = customSelectEl?.querySelector('.custom-select-toggle');
2685    const customSelectContent = customSelectEl?.querySelector('.custom-select-content');
2686    if (!customSelectToggle || !customSelectContent) return;
2687    const placeholderOption = originalSelect.querySelector("[data-label]");
2688    const placeholderText = placeholderOption?.dataset.label || originalSelect.querySelector("option")?.textContent || "Select";
2689    customSelectContent.querySelectorAll('.custom-select-item').forEach(item => {
2690      item.classList.remove('is-selected');
2691      item.setAttribute('aria-selected', 'false');
2692    });
2693    originalSelect.querySelectorAll('option').forEach(opt => opt.selected = false);
2694    customSelectToggle.innerHTML = placeholderText;
2695    customSelectToggle.classList.add('is-placeholder');
2696    const customSelectWrapper = customSelectEl.querySelector('.custom-select');
2697    if (customSelectWrapper) {
2698      customSelectWrapper.classList.remove('has-selection');
2699    }
2700  };
2701  const section = document.getElementById(sectionDomId);
2702  const closeBtn = section.querySelector(".js-close-btn");
2703  const connectBtn = section.querySelector(".js-btn-connect");
2704  const popUp = section.querySelector(".js-pop-up");
2705  const btnHolder = section.querySelector(".js-btn-holder");
2706  const form = section.querySelector(".js-form");
2707  const successMessage = section.querySelector(".js-success");
2708  const redirectLink = section.querySelector(".js-redirect-link");
2709  function setHttp(link) {
2710    if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) {
2711      link = "https://" + link;
2712    }
2713    return link;
2714  }
2715  function redirectPage(link) {
2716    if (link) {
2717      window.location.href = setHttp(link.getAttribute("href"));
2718    }
2719  }
2720  const selects = document.querySelectorAll(".floating-contact-button select.js-select");
2721  selects.forEach(function (el) {
2722    customSelect(el);
2723  });
2724  const inputName = form.querySelector('.js-input-name');
2725  inputName.addEventListener('keyup', function () {
2726    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
2727      this.setCustomValidity("Please input your first name and last name.");
2728    } else {
2729      this.setCustomValidity("");
2730    }
2731  });
2732  function showSuccessMessage() {
2733    successMessage.style.display = "block";
2734    form.style.display = "none";
2735  }
2736  form.addEventListener("formsubmitted", showSuccessMessage);
2737  form.addEventListener("reset", function () {
2738    showSuccessMessage();
2739    redirectPage(redirectLink);
2740  });
2741  window.addEventListener("scroll", function () {
2742    if (window.scrollY >= 150 && window.getComputedStyle(popUp).display !== "block") btnHolder.classList.add("floating-contact-button__btn-holder--visible");else btnHolder.classList.remove("floating-contact-button__btn-holder--visible");
2743  });
2744  closeBtn.addEventListener("click", function () {
2745    popUp.style.display = "none";
2746    btnHolder.classList.add("floating-contact-button__btn-holder--visible");
2747  });
2748  connectBtn.addEventListener("click", function () {
2749    popUp.style.display = "block";
2750    btnHolder.classList.remove("floating-contact-button__btn-holder--visible");
2751  });
2752})('global-mobile-contact');
2753} catch(e) {
2754console.log(e);
2755}
2756                
2757                try {
2758(function init(sectionDomId) {
2759  const section = document.getElementById(sectionDomId);
2760  const emailInput = section.querySelector('.js-email-input');
2761  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
2762  emailInput.addEventListener('input', function () {
2763    if (emailRegex.test(this.value)) {
2764      this.setCustomValidity('');
2765    } else {
2766      this.setCustomValidity('Please enter a valid email address.');
2767    }
2768    this.reportValidity();
2769  });
2770  const inputName = section.querySelector('.js-input-name');
2771  inputName.addEventListener('keyup', function () {
2772    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
2773      this.setCustomValidity("Please input your first name and last name.");
2774    } else {
2775      this.setCustomValidity("");
2776    }
2777  });
2778  const addRedirectToForm = () => {
2779    const redirectLink = document.getElementById(`${sectionDomId}`).querySelector('.js-redirect-link');
2780    const form = document.getElementById(`${sectionDomId}`).querySelector('.js-form');
2781    function redirectPage(link) {
2782      if (link) {
2783        const rawHref = link.getAttribute('href');
2784        link.setAttribute('href', setHttp(rawHref));
2785        link.click();
2786      }
2787    }
2788    function setHttp(link) {
2789      if (link.search(/^http[s]?\:\/\/|\//) == -1) {
2790        link = 'http://' + link;
2791      }
2792      return link;
2793    }
2794    form.addEventListener("reset", function () {
2795      redirectPage(redirectLink);
2796    });
2797  };
2798  addRedirectToForm();
2799})('section-8fc9291e-f19e-4157-8d83-15e819748bc8', JSON.parse("{\"resource\":\"NONE\",\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true},\"companyId\":\"be9e662d-d28f-4f3b-9f8d-cb20d3c0b372\",\"usePageResource\":false,\"sectionIndex\":1}"));
2800} catch(e) {
2801console.log(e);
2802}
2803                try {
2804(function init(sectionDomId, options) {
2805  let section = null;
2806  switch (sectionDomId) {
2807    case 'NAVBAR':
2808      section = document.querySelector('body > nav, #global-navbar');
2809      break;
2810    case 'FOOTER':
2811      section = document.querySelector('body > footer, #global-footer');
2812      break;
2813    case 'SIDEMENU':
2814      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
2815      break;
2816    case 'CONTACT':
2817      section = document.querySelector('#modal-global-contact-us');
2818      break;
2819    case 'MOBILE_CONTACT':
2820      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
2821      break;
2822    case 'SUBSCRIBE':
2823      // Subscribe Not Implemented
2824      section = null;
2825      break;
2826    case 'ACCOUNT':
2827      // Account Not Implemented
2828      section = null;
2829      break;
2830    default:
2831      section = document.querySelector('#' + sectionDomId);
2832  }
2833  if (!section) {
2834    return;
2835  }
2836  var url = window.luxuryPresence.defaults.routerUrl;
2837  var companyId = window.luxuryPresence.defaults.companyId;
2838  var limit = options.limit || 8;
2839  if (typeof limit === 'string') {
2840    limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected
2841  }
2842  var templateSelector = options.templateSelector || '.jsIGTemplate';
2843  var containerSelector = options.containerSelector || '.jsIGContainer';
2844  var hasDataClass = options.hasDataClass || 'has-data';
2845  var hideActivateMessage = options.hasDataClass || false;
2846  var payload = {
2847    companyId: companyId,
2848    limit: limit
2849  };
2850  if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) {
2851    payload.resourceId = options.resourceId;
2852    // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase
2853    payload.resource = String(options.resource || 'agent').toUpperCase();
2854    payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true;
2855  }
2856  var query = 'query InstagramFeed (\n' + '  $companyId: ID!\n' + '  $instagramAuthorizationId: ID\n' + '  $username: String\n' + (payload.resourceId ? '$resource: InstagramContentAuthResourceEnum\n $resourceId: ID\n $fallbackToNoResource: Boolean' : '') + '  $limit: Int\n' + ') {\n' + '  instagramContentFeed (\n' + '  companyId: $companyId\n' + '  instagramAuthorizationId: $instagramAuthorizationId\n' + '  username: $username\n' + (payload.resourceId ? 'resource: $resource\n resourceId: $resourceId\n fallbackToNoResource: $fallbackToNoResource' : '') + '  limit: $limit\n' + '  ) {\n' + '    active\n' + '    feedUrl\n' + '    username\n' + '    items {\n' + '      id\n' + '      caption\n' + '      commentsCount\n' + '      likeCount\n' + '      mediaType\n' + '      mediaUrl\n' + '      permalink\n' + '      shortcode\n' + '      thumbnailUrl\n' + '      timestamp\n' + '      username\n' + '    }\n' + '  }\n' + '}\n';
2857  var templateHTML = section.querySelector(templateSelector)?.innerHTML || '';
2858  var template = Handlebars.compile(templateHTML);
2859  var container = section.querySelector(containerSelector);
2860  if (options.variables) {
2861    Object.keys(options.variables).forEach(function (key) {
2862      if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) {
2863        payload[key] = options.variables[key];
2864      }
2865    });
2866  }
2867  function getData() {
2868    var feed = {
2869      error: true
2870    };
2871    if (payload.companyId == null || payload.companyId === '') {
2872      // instagramContentFeed requires companyId (ID!) — nothing to fetch without it.
2873      // Checked after the options.variables merge, which may override the default.
2874      // Deferred so element listeners (attached after this template runs) still receive it.
2875      setTimeout(function () {
2876        section.dispatchEvent(new CustomEvent('ig-data', {
2877          detail: feed
2878        }));
2879      }, 0);
2880      return;
2881    }
2882    superagent.post(url + '/graphql').send({
2883      query: query,
2884      variables: payload
2885    }).then(res => {
2886      try {
2887        if (!res.body.errors) {
2888          feed = res.body.data.instagramContentFeed;
2889          if (!feed.active) {
2890            if (!hideActivateMessage && sectionDomId === 'section-temp' && container) {
2891              if (payload.resourceId) {
2892                container.innerHTML = '<div style="text-align: center">Instagram account is not connected to selected ' + payload.resource + '.<br /> Connect it on the ' + payload.resource + ' page</div>';
2893              } else {
2894                container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>';
2895              }
2896            }
2897          } else {
2898            if (feed.items.length) {
2899              if (hasDataClass) {
2900                section.classList.add(hasDataClass);
2901              }
2902              const feedName = feed.username;
2903              section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl));
2904              section.querySelectorAll('.jsIGName').forEach(name => {
2905                name.textContent = '@' + feedName;
2906                name.setAttribute('title', '@' + feedName);
2907              });
2908              if (container && template) {
2909                container.innerHTML = template(feed);
2910              }
2911            }
2912          }
2913        }
2914      } catch (e) {}
2915      section.dispatchEvent(new CustomEvent('ig-data', {
2916        detail: feed
2917      }));
2918    }).catch(e => {
2919      console.log('err', e);
2920      section.dispatchEvent(new CustomEvent('ig-data', {
2921        detail: feed
2922      }));
2923    });
2924  }
2925  getData();
2926})('section-99576cd8-bea1-4c71-8729-1626de58e72f', JSON.parse("{\"limit\":11,\"resource\":\"agent\",\"resourceId\":\"{{id}}\",\"fallbackToNoResource\":\"{{{fallbackToNoResource}}}\",\"companyId\":\"be9e662d-d28f-4f3b-9f8d-cb20d3c0b372\",\"usePageResource\":false,\"sectionIndex\":2,\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
2927} catch(e) {
2928console.log(e);
2929}
2930                try {
2931(function init(sectionDomId) {
2932  const section = document.getElementById(sectionDomId);
2933  const slider = section.querySelector(".js-slider");
2934  section.addEventListener("ig-data", function () {
2935    var splide = new Splide(slider, {
2936      rewind: true,
2937      arrows: false,
2938      type: 'loop',
2939      padding: '20%',
2940      gap: '16px',
2941      pagination: false,
2942      clones: 1,
2943      perPage: 1,
2944      perMove: 1,
2945      destroy: true,
2946      breakpoints: {
2947        768: {
2948          destroy: false
2949        }
2950      }
2951    });
2952    splide.mount();
2953  });
2954})('section-99576cd8-bea1-4c71-8729-1626de58e72f', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true},\"companyId\":\"be9e662d-d28f-4f3b-9f8d-cb20d3c0b372\",\"usePageResource\":false,\"sectionIndex\":2}"));
2955} catch(e) {
2956console.log(e);
2957}
2958
2959            var { body } = document;
2960            var globalNav = body.querySelector(':scope > nav');
2961            var globalSideMenu = body.querySelector(':scope > div.sidemenu');
2962
2963            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
2964                modalCloseBtn.addEventListener('click', function() {
2965                window.lpUI.hideClosestModal(modalCloseBtn);
2966              });
2967            });
2968
2969            window.addEventListener('click', function() {
2970                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
2971                    sharedPopup.style.display = 'none' ;
2972                });
2973            });
2974
2975            /* Misc Partials / Addons */
2976            function initWOW() {
2977                if (wow) {
2978                    wow.init();
2979                    wow.scrollHandler();
2980                    setTimeout(function () {
2981                        const wowHideStyle = document.getElementById('wow-hide-elements');
2982                        if(wowHideStyle) {
2983                            wowHideStyle.disabled = true;
2984                        }
2985                    }, 1);
2986                }
2987            }
2988
2989            const wowHideElements =  document.getElementById('wow-hide-elements');
2990            if (wowHideElements) {
2991               wowHideElements.disabled = false;
2992            }
2993
2994                initWOW();
2995
2996            /* Generic Navbar Handling */
2997            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
2998                hamburgerComponent.addEventListener('click', function() {
2999                window.lpUI.sideMenuToggle();
3000              });
3001            });
3002            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
3003                toggleEl.addEventListener('click', function() {
3004                window.lpUI.sideMenuToggle();
3005              });
3006            });
3007
3008            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
3009                linkEl.addEventListener('click', function(e) {
3010                  e.preventDefault();
3011                  e.stopPropagation();
3012                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
3013                  if (subNav && subNav.classList.contains('visible')){
3014                    subNav.classList.remove('visible');
3015                  } else {
3016                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
3017                      globalSubNav.classList.remove('visible');
3018                    });
3019                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
3020                        sideMenuSubNav.classList.remove('visible');
3021                    });
3022                    subNav?.classList.add('visible');
3023                  }
3024                });
3025            });
3026            window.addEventListener('click', function() {
3027                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
3028                    subNavEl.classList.remove('visible');
3029                });
3030            });
3031
3032        }
3033
3034        document.addEventListener('DOMContentLoaded', lpGlobalInit);
3035
3036    </script>
3036
3037
3038    
3038<script type="module">
3039    function selectorExists(selector) {
3040        return document.querySelector(selector) !== null;
3041    }
3042
3043    // Function to initialize the third-party library
3044    function initParoller(selector = '.my-paroller') {
3045        var $parollerElements = $(selector);
3046        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
3047            $parollerElements.paroller();
3048        }
3049    }
3050
3051    const parollerSelector = '.my-paroller';
3052
3053    if (selectorExists(parollerSelector)) {
3054        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
3055            initParoller(parollerSelector);
3056            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
3057        });
3058    }
3059    </script>
3059
3060
3061            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 3061-3062
3061
3062            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3062GTM-M589QHP
vendor: 107 bytes, lines 3062-3064
3062"
3063            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3064            
3064<!-- End Google Tag Manager -->
3065            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 3065-3066
3065
3066            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3066GTM-T9SFQGHZ
vendor: 107 bytes, lines 3066-3068
3066"
3067            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3068            
3068<!-- End Google Tag Manager -->
3069        
3069<script>
3070// custom stats carrousell
3071    (function() {
3072  function initStatsSlider() {
3073    const track = document.getElementById('stats-track');
3074    if (!track) return;
3075
3076    track.innerHTML += track.innerHTML;
3077
3078    track.style.animation = 'none';
3079    track.offsetHeight; 
3080    track.style.animation = 'scrollMarquee 100s linear infinite';
3081  }
3082
3083  if (document.readyState === 'complete') {
3084    initStatsSlider();
3085  } else {
3086    window.addEventListener('load', initStatsSlider);
3087  }
3088})();
3089</script>
3089
3090
3091<script>
3092// team slider names
3093const styleAgentsScalable = () => {
3094    const slides = document.querySelectorAll('.auto-scroll-agents-slider__slider-slide');
3095    if (!slides.length) return;
3096
3097    const uniqueAgentNames = [];
3098    slides.forEach(slide => {
3099        const name = slide.querySelector('.auto-scroll-agents-slider__name-vertical')?.textContent.trim();
3100        if (name && !uniqueAgentNames.includes(name)) {
3101            uniqueAgentNames.push(name);
3102        }
3103    });
3104
3105    slides.forEach(slide => {
3106        const name = slide.querySelector('.auto-scroll-agents-slider__name-vertical')?.textContent.trim();
3107        const originalIndex = uniqueAgentNames.indexOf(name);
3108
3109        if (originalIndex !== -1) {
3110            const patternPos = (originalIndex % 6) + 1;
3111
3112            if ([1, 2, 4].includes(patternPos)) {
3113                slide.setAttribute('data-style', 'caps');
3114            } else {
3115                slide.setAttribute('data-style', 'cursive');
3116            }
3117        }
3118    });
3119};
3120
3121styleAgentsScalable();
3122</script>
3122
3123
3124<script>
3125// press slider
3126(function() {
3127    const updatePressLayout = (items, currentPage, itemsPerPage) => {
3128        const start = currentPage * itemsPerPage;
3129        const end = start + itemsPerPage;
3130
3131        items.forEach((item, index) => {
3132            const isVisible = index >= start && index < end;
3133            
3134            if (isVisible) {
3135                item.style.setProperty('display', 'flex', 'important');
3136                if (index === start) {
3137                    item.classList.add('is-featured');
3138                } else {
3139                    item.classList.remove('is-featured');
3140                }
3141            } else {
3142                item.style.setProperty('display', 'none', 'important');
3143                item.classList.remove('is-featured');
3144            }
3145        });
3146    };
3147
3148    const init = () => {
3149        const container = document.querySelector('.press-list__collection');
3150        const items = document.querySelectorAll('.press-list-item');
3151        
3152        if (!container || items.length === 0 || document.querySelector('.pagination-controls')) return;
3153
3154        let currentPage = 0;
3155        const itemsPerPage = 4;
3156        const totalPages = Math.ceil(items.length / itemsPerPage);
3157
3158        const controls = document.createElement('div');
3159        controls.className = 'pagination-controls';
3160        controls.innerHTML = `
3161            <div style="display:flex; justify-content:space-between; align-items:center; padding:20px 0; margin-top:30px;">
3162                <div class="nav-arrows" style="font-size:24px; cursor:pointer; user-select:none;">
3163                    <span id="prevPress" style="margin-right:20px;">←</span>
3164                    <span id="nextPress">→</span>
3165                </div>
3166                <a class="lp-btn button-style-1" href="../press">Learn More</a>
3167            </div>
3168        `;
3169        container.after(controls);
3170
3171        document.getElementById('nextPress').addEventListener('click', () => {
3172            if (currentPage < totalPages - 1) {
3173                currentPage++;
3174                updatePressLayout(items, currentPage, itemsPerPage);
3175                container.scrollIntoView({ behavior: 'smooth', block: 'start' });
3176            }
3177        });
3178
3179        document.getElementById('prevPress').addEventListener('click', () => {
3180            if (currentPage > 0) {
3181                currentPage--;
3182                updatePressLayout(items, currentPage, itemsPerPage);
3183                container.scrollIntoView({ behavior: 'smooth', block: 'start' });
3184            }
3185        });
3186
3187        updatePressLayout(items, currentPage, itemsPerPage);
3188    };
3189
3190    setTimeout(init, 2000);
3191})();
3192</script>
3192
3193
3194<script>
3195// gsm interactive hover
3196document.querySelectorAll('.item-container').forEach(item => {
3197  const container = document.querySelector('.custom-interactive-gsm');
3198  
3199  item.addEventListener('mouseenter', () => {
3200    container.setAttribute('data-active', item.dataset.target);
3201  });
3202  
3203  item.addEventListener('mouseleave', () => {
3204    container.removeAttribute('data-active');
3205  });
3206});
3207</script>
3207
3208
3209<script>
3210// team grid
3211    (function() {
3212    const transformAgents = () => {
3213        const agentItems = document.querySelectorAll('.agents-list__item:not(.is-processed)');
3214        
3215        if (agentItems.length === 0) return;
3216
3217        agentItems.forEach(item => {
3218            const firstNameElem = item.querySelector('.agents-list__first-name');
3219            const lastNameElem = item.querySelector('.agents-list__last-name');
3220
3221            if (firstNameElem && lastNameElem) {
3222                const fullName = `${firstNameElem.innerText.trim()} ${lastNameElem.innerText.trim()}`;
3223
3224                const normalDiv = document.createElement('div');
3225                normalDiv.className = 'normal';
3226                normalDiv.innerHTML = `<p class="agents-list__full-name">${fullName}</p>`;
3227
3228                const signatureDiv = document.createElement('div');
3229                signatureDiv.className = 'signature';
3230                signatureDiv.innerHTML = `<p class="agents-list__full-name">${fullName}</p>`;
3231
3232                firstNameElem.parentNode.insertBefore(normalDiv, firstNameElem);
3233                firstNameElem.parentNode.insertBefore(signatureDiv, firstNameElem);
3234
3235                firstNameElem.remove();
3236                lastNameElem.remove();
3237                
3238                item.classList.add('is-processed');
3239            }
3240        });
3241    };
3242
3243    const agentInterval = setInterval(() => {
3244        transformAgents();
3245    }, 500);
3246
3247    transformAgents();
3248})();
3249</script>
3249
3250
3251<script>
3252// markets support pages nav sticky
3253const customNav = document.querySelector('.custom-container-nav');
3254
3255const stickySection = customNav ? customNav.closest('.solid-section') : null;
3256const navItems = document.querySelectorAll('.nav-items');
3257
3258if (stickySection && customNav) {
3259  let stickyOrigin = stickySection.offsetTop;
3260  let lastScrollTop = 0;
3261
3262  navItems.forEach(item => {
3263    item.addEventListener('click', function() {
3264      navItems.forEach(i => i.style.opacity = '1');
3265      this.style.opacity = '0.4';
3266    });
3267  });
3268
3269  const getMainNavHeight = () => {
3270    return window.innerWidth >= 769 ? 82 : 92;
3271  };
3272
3273  const handleStickyNav = () => {
3274    const width = window.innerWidth;
3275    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
3276    
3277    if (width <= 560) {
3278      stickySection.style.position = 'static';
3279      stickySection.classList.remove('custom-scroll');
3280      return;
3281    }
3282
3283    const mainNavHeight = getMainNavHeight();
3284
3285    if (scrollTop >= stickyOrigin) {
3286      stickySection.classList.add('custom-scroll');
3287      
3288      stickySection.style.position = 'fixed';
3289      stickySection.style.width = '100%';
3290      stickySection.style.zIndex = '990';
3291      stickySection.style.left = '0';
3292
3293      if (scrollTop < lastScrollTop) {
3294        stickySection.style.top = `${mainNavHeight}px`;
3295      } else {
3296        stickySection.style.top = '0px';
3297      }
3298    } else {
3299      stickySection.classList.remove('custom-scroll');
3300      stickySection.style.position = 'static';
3301      stickySection.style.top = 'auto';
3302    }
3303
3304    lastScrollTop = scrollTop <= 0 ? 0 : scrollTop;
3305  };
3306
3307  window.addEventListener('scroll', handleStickyNav, { passive: true });
3308
3309  window.addEventListener('resize', () => {
3310    if (stickySection.style.position !== 'fixed') {
3311      stickyOrigin = stickySection.offsetTop;
3312    }
3313    handleStickyNav();
3314  });
3315  
3316  handleStickyNav();
3317}
3318</script>
3318
3319
3320<script>
3321// blogs sticky nav
3322window.lastScroll = window.scrollY;
3323
3324document.addEventListener('scroll', () => {
3325    const nav = document.querySelector('.blog-posts-list__search-container');
3326    const wrapper = document.querySelector('.blog-posts-list');
3327    const width = window.innerWidth;
3328    const currentScroll = window.scrollY;
3329
3330    if (width < 560) {
3331        nav.classList.remove('is-sticky-fixed');
3332        nav.style.top = 'auto';
3333        window.lastScroll = currentScroll;
3334        return;
3335    }
3336
3337    const parentRect = wrapper.getBoundingClientRect();
3338    const isPastTop = parentRect.top <= 0;
3339
3340    if (isPastTop) {
3341        nav.classList.add('is-sticky-fixed');
3342        const scrollUp = currentScroll < window.lastScroll;
3343        
3344        if (scrollUp) {
3345            nav.style.top = (width >= 769) ? '92px' : '82px';
3346        } else {
3347            nav.style.top = '0px';
3348        }
3349    } else {
3350        nav.classList.remove('is-sticky-fixed');
3351        nav.style.top = 'auto';
3352    }
3353
3354    window.lastScroll = currentScroll;
3355}, { passive: true });
3356</script>
3356
3357
3358<script>
3359// adding arrows to blog nav
3360(function() {
3361    const injectArrows = () => {
3362        const container = document.querySelector('.blog-posts-list__search-container');
3363        
3364        if (container && !document.querySelector('.nav-arrow-custom')) {
3365            
3366            const wrapper = document.createElement('div');
3367            wrapper.className = 'search-container-wrapper';
3368            container.parentNode.insertBefore(wrapper, container);
3369            wrapper.appendChild(container);
3370
3371            const btnLeft = document.createElement('button');
3372            const btnRight = document.createElement('button');
3373            
3374            btnLeft.className = 'nav-arrow-custom arrow-left-custom';
3375            btnRight.className = 'nav-arrow-custom arrow-right-custom';
3376            
3377            btnLeft.innerHTML = '&#10094;';
3378            btnRight.innerHTML = '&#10095;';
3379
3380            wrapper.appendChild(btnLeft);
3381            wrapper.appendChild(btnRight);
3382
3383            btnLeft.onclick = () => container.scrollBy({ left: -250, behavior: 'smooth' });
3384            btnRight.onclick = () => container.scrollBy({ left: 250, behavior: 'smooth' });
3385            
3386            console.log("Flechas inyectadas con éxito");
3387        }
3388    };
3389    
3390    let attempts = 0;
3391    const interval = setInterval(() => {
3392        injectArrows();
3393        attempts++;
3394        if (attempts > 10) clearInterval(interval);
3395    }, 1000);
3396})();
3397</script>
3397
3398
3399<script>
3400// duplicate devs link for easy click
3401const processDevelopmentItem = (originalLink) => {
3402    const parentItem = originalLink.closest('.developments-list-item');
3403    
3404    if (!parentItem || parentItem.querySelector(':scope > .custom-duplicated-link')) {
3405        return;
3406    }
3407
3408    const newLink = document.createElement('a');
3409    newLink.className = 'custom-duplicated-link';
3410    newLink.href = originalLink.getAttribute('href');
3411    newLink.textContent = '.';
3412    newLink.setAttribute('aria-hidden', 'true');
3413    
3414    parentItem.prepend(newLink);
3415};
3416
3417const initDevelopmentsObserver = () => {
3418    const targetNode = document.querySelector('.developments-list');
3419
3420    if (!targetNode) return;
3421
3422    const observer = new MutationObserver((mutationsList) => {
3423        for (const mutation of mutationsList) {
3424            if (mutation.type === 'childList') {
3425                mutation.addedNodes.forEach(node => {
3426                    if (node.nodeType === 1) {
3427                        const links = node.querySelectorAll('.developments-list-item__title');
3428                        links.forEach(link => processDevelopmentItem(link));
3429                    }
3430                });
3431            }
3432        }
3433    });
3434
3435    observer.observe(targetNode, { childList: true, subtree: true });
3436    
3437    document.querySelectorAll('.developments-list-item__title').forEach(link => {
3438        processDevelopmentItem(link);
3439    });
3440};
3441
3442initDevelopmentsObserver();
3443</script>
3443
3444
3445
3446<script>
3447// Neighborhod grid clone name 
3448const processNeighborhoodItem = (originalTitle) => {
3449    const parentText = originalTitle.closest('.neighborhoods-list__text');
3450    
3451    if (!parentText || parentText.querySelector('.vertical')) {
3452        return;
3453    }
3454
3455    const verticalTitle = originalTitle.cloneNode(true);
3456    verticalTitle.classList.add('vertical');
3457    
3458    parentText.insertBefore(verticalTitle, originalTitle);
3459};
3460
3461const initNeighborhoodsObserver = () => {
3462    const targetNode = document.querySelector('.neighborhoods-list');
3463
3464    if (!targetNode) return;
3465
3466    const observer = new MutationObserver((mutationsList) => {
3467        for (const mutation of mutationsList) {
3468            if (mutation.type === 'childList') {
3469                mutation.addedNodes.forEach(node => {
3470                    if (node.nodeType === 1) {
3471                        const titles = node.querySelectorAll('.neighborhoods-list__title');
3472                        titles.forEach(title => processNeighborhoodItem(title));
3473                    }
3474                });
3475            }
3476        }
3477    });
3478
3479    observer.observe(targetNode, { childList: true, subtree: true });
3480    
3481    document.querySelectorAll('.neighborhoods-list__title').forEach(title => {
3482        processNeighborhoodItem(title);
3483    });
3484};
3485
3486initNeighborhoodsObserver();
3487</script>
3487
3488
3489
3490
3491
3492<script>
3493// Video on mobile
3494  window.addEventListener('load', function() {
3495    var videos = document.querySelectorAll('#video-iphone-fix, .full-screen-video-component video');
3496
3497    videos.forEach(function(video) {
3498      if (video) {
3499        video.setAttribute('muted', '');
3500        video.setAttribute('playsinline', '');
3501        video.setAttribute('webkit-playsinline', '');
3502        video.setAttribute('autoplay', 'autoplay');
3503        
3504        video.muted = true;
3505        
3506        var promise = video.play();
3507        
3508        if (promise !== undefined) {
3509          promise.catch(error => {
3510            console.log("Autoplay prevent: ", error);
3511          });
3512        }
3513      }
3514    });
3515  });
3516</script>
3516
3517
3518<script>
3519if (window.location.pathname === '/properties/one-dalton') {
3520    
3521    const features = document.querySelectorAll('.property-intro-gallery__feature-name');
3522    
3523    features.forEach(feature => {
3524        if (feature.textContent.trim() === 'Bathrooms') {
3525            const valueElement = feature.nextElementSibling;
3526            if (valueElement && valueElement.classList.contains('property-intro-gallery__feature-value')) {
3527                valueElement.classList.add('custom-bath-style');
3528            }
3529        }
3530    });
3531}
3532</script>
3532
3533
3534<script>
3535// contact btn on properties lead to /contact
3536    document.addEventListener('click', function (e) {
3537    const btn = e.target.closest('.property-details-tabs__btn');
3538    if (btn) {
3539        e.preventDefault();
3540        e.stopImmediatePropagation();
3541        
3542        window.location.href = '/contact';
3543    }
3544}, true);
3545</script>
3545
3546            
3546<script
3547                src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js"
3548                data-website-id="0de14d64-da82-4bec-9862-7f827d40ab3f"
3549                
3550                defer></script>
vendor: 1 bytes, line 3550
3550
3551<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4823ae9c9d31aeb',t:'MTc5MTU5OTcwOQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
3551<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"d2a8f4b3d65944edb8fcd6ffce49ee5e","spa":2}' crossorigin="anonymous"></script>
3551
3552</body>
3553</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.