PageSourceSearch

https://drefirm.com/blogs

html drefirm.com collected 2026-10-05 20:45:37 UTC 357,918 bytes, 4,376 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>North Carolina Real Estate Blog | Corcoran DeRonja Real Estate</title>
10        <meta property="og:title" content="North Carolina Real Estate Blog | Corcoran DeRonja Real Estate">
11        <meta name="twitter:title" content="North Carolina Real Estate Blog | Corcoran DeRonja Real Estate">
12        <meta name="description" content="Seeking expert insights on NC real estate? Check out Corcoran DeRonja Real Estate&#x27;s blog for essential tips, trends, and insights from local experts.">
13        <meta property="og:description" content="Seeking expert insights on NC real estate? Check out Corcoran DeRonja Real Estate&#x27;s blog for essential tips, trends, and insights from local experts.">
14        <meta name="twitter:description" content="Seeking expert insights on NC real estate? Check out Corcoran DeRonja Real Estate&#x27;s blog for essential tips, trends, and insights from local experts.">
15        <meta property="og:image" content="https://media-production.lp-cdn.com/media/34d0a319-f3e4-4733-be68-4a3074aa3ea2">
16        <meta name="twitter:image" content="https://media-production.lp-cdn.com/media/34d0a319-f3e4-4733-be68-4a3074aa3ea2">
17        <meta property="og:url" content="https://drefirm.com/blogs">
18        <link rel="canonical" href="https://drefirm.com/blogs">
19    
19<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
19
20    <link rel="preconnect" href="https://fonts.googleapis.com">
21    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
22    <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=Libre%20Franklin:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i">
23    <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'">
24    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
25    <link rel="icon" type="image/x-icon" href="/favicon.ico">
26    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
27    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
28    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
29    <style id="global-css">:root{--global-primary-font-family:'Playfair Display',serif;--global-primary-font-family-short:Playfair Display;--global-secondary-font-family:'Libre Franklin',sans-serif;--global-secondary-font-family-short:Libre Franklin;--global-body-padding:25px;--global-background-color:#fff;--global-body-font-size:15px;--global-h1-font-size:62px;--global-h2-font-size:36px;--global-h3-font-size:32px;--global-h4-font-size:28px;--global-h5-font-size:26px;--global-h6-font-size:26px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:'Libre Franklin',sans-serif;font-size:15px;}@media (min-width: 768px){body{padding:25px 25px 0px 25px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Playfair Display',serif;}h1{font-size:62px;}h2{font-size:36px;}h3{font-size:32px;}h4{font-size:28px;}h5{font-size:26px;}h6{font-size:26px;}</style>
30        <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/corcoran-agent-1/index.css" />
31    <style id="website-css">.lp-h1,h1,h1 span{font-family:var(--global-primary-font-family)!important;}.lp-h1,h1,h1 span,.lp-h2,h2,.lp-h3,h3,.lp-h4,h4,.lp-h5{text-transform:initial;letter-spacing:3px;}@media only screen and (max-width: 768px){h2{font-size:28px!important;}}.lp-btn,.btn{letter-spacing:1px;font-weight:400;text-transform:uppercase;}div#global-mobile-contact .buttons-holder a{background:#231F20;border:1px solid #231F20;}div#global-mobile-contact .buttons-holder svg{fill:#fff;}div.lp-container{max-width:1400px;}@media(min-width:550px){div#global-sidemenu .sidemenu-container{width:550px;}}div#global-sidemenu .sidemenu-container .background-close-sidemenu{background-color:#231F20;}div#global-sidemenu .sidemenu-container .flex-sidemenu-container{background-color:#fff;}div#global-sidemenu .sidemenu-container .flex-sidemenu-container a{color:#231F20;}div#global-sidemenu .sidemenu-container .flex-sidemenu-container .sidemenu-link{text-transform:initial;letter-spacing:3px;}div#global-sidemenu .sidemenu-container .flex-sidemenu-container .sidemenu-link::after{width:0%;background-color:#231F20;height:1px;border:0;}div#global-sidemenu .sidemenu-container .flex-sidemenu-container .sidemenu-link:hover::after{width:100%;background-color:#231F20!important;}div#global-sidemenu .sidemenu-container .socialbar-label{display:none;}div#global-sidemenu .sidemenu-container .socialbar{margin-top:0;}div#global-sidemenu .sidemenu-container .lp-socials li{padding:0;margin-right:10px;}div#global-sidemenu .sidemenu-container .lp-socials li a{min-height:45px;min-width:45px;padding:0;text-align:center;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:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}div#global-sidemenu .sidemenu-container .lp-socials li a:hover{color:#231F20;}nav#global-navbar .navbar .top-menu>ul>li button:hover{border:none;}nav#global-navbar .navbar .goog-te-gadget-simple{border:none;color:#231F20;}nav#global-navbar .top-menu a,nav#global-navbar .contact-button a{letter-spacing:2px;border-width:1px;}nav#global-navbar .top-menu .sub-nav-container .sub-nav li{border:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}nav#global-navbar .top-menu .sub-nav-container .sub-nav li a{white-space:nowrap;}nav#global-navbar .hamburger-component{background-color:#231F20;}nav#global-navbar .hamburger-icon{height:1px;}nav#global-navbar .hamburger-icon::before,nav#global-navbar .hamburger-icon::after{height:1px;}nav div.contact-button ul{padding-right:18px;}#global-footer div.footer-container>div.footer-col2>h2{text-transform:uppercase;}footer#global-footer .footer-col1 img:not(#iivu-2){height:60px;}footer#global-footer .footer-col1 #idug{font-size:12px;}
31footer#global-footer .footer-col1 #idug #iivu-2{margin-top:10px;}footer#global-footer .footer-col1 .footer-col1-contact a{position:relative;}footer#global-footer .footer-col1 .footer-col1-contact a::after{content:"";display:block;position:absolute;width:0%;height:1px;left:0;bottom:0;background:currentColor;-webkit-transition:.2s all linear;-webkit-transition:.2s all linear;transition:.2s all linear;}footer#global-footer .footer-col1 .footer-col1-contact a:hover::after{width:100%;}footer#global-footer .footer-col1 .footer-col1-title{font-weight:normal;}footer#global-footer .footer-col2-title{letter-spacing:3px;font-size:26px;font-weight:300!important;}footer#global-footer .footer-socialbar-text{display:none;}footer#global-footer #ixzd p{font-size:12px;}footer#global-footer div.footer-container div.footer-col1>img:nth-child(5){height:auto!important;width:100px;}footer#global-footer .footer-socialbar-content{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin:0;}footer#global-footer .footer-socialbar-content .lp-socials li{margin:0;margin-left:10px;}footer#global-footer .footer-socialbar-content .lp-socials li a{min-height:0px;min-width:40px;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;}footer#global-footer .footer-socialbar-content .lp-socials li a:hover{color:#231F20;}footer#global-footer .footer-row .link{position:relative;}footer#global-footer .footer-row .link::after{content:"";display:block;position:absolute;width:0%;height:1px;left:0;bottom:0;background:currentColor;-webkit-transition:.2s all linear;-webkit-transition:.2s all linear;transition:.2s all linear;}footer#global-footer .footer-row .link:hover::after{width:100%;}footer#global-footer div.footer-menu a.footer-row-link{padding-right:0;margin-right:20px;}footer#global-footer .footer-col1-contact a,footer#global-footer .footer-row .link,footer#global-footer .lp-disclaimer a{position:relative!important;color:#231F20!important;-webkit-text-decoration:none!important;text-decoration:none!important;}footer#global-footer .footer-col1-contact a::before,footer#global-footer .footer-row .link::before,footer#global-footer .lp-disclaimer a::before{content:"";position:absolute;display:block;width:100%!important;height:.5px;-webkit-transition:0.3s linear;transition:0.3s linear;background:#999!important;bottom:0;left:0;}footer#global-footer .footer-col1-contact a::after,footer#global-footer .footer-row .link::after,footer#global-footer .lp-disclaimer a::after{content:"";position:absolute;display:block;width:0;height:.5px;-webkit-transition:0.3s linear;transition:0.3s linear;background:#231F20!important;bottom:0;left:0;}footer#global-footer .footer-col1-contact a:hover,footer#global-footer .footer-row .link:hover,footer#global-footer .lp-disclaimer a:hover{color:#231F20!important;}footer#global-footer .footer-col1-contact a:hover::after,footer#global-footer .footer-row .link:hover::after,footer#global-footer .lp-disclaimer a:hover::after{width:100%;}footer#global-footer .footer-row-link:hover{color:#231F20!important;}footer#global-footer div.footer-menu a.footer-row-link{-webkit-text-decoration:underline;text-decoration:underline;}@font-face{font-family:'Avenir LT Std 55 Roman';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Roman.woff') format('woff');}@font-face{font-family:'Avenir LT Std 55 Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Oblique.woff') format('woff');}@font-face{font-family:'Avenir LT Std 35 Light';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Light.woff') format('woff');}@font-face{font-family:'Avenir LT Std 35 Light Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-LightOblique.woff') format('woff');}@font-face{font-family:'Avenir LT Std 45 Book';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Book.woff') format('woff');}@font-face{font-family:'Avenir LT Std 45 Book Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-BookOblique.woff') format('woff');}@font-face{font-family:'Avenir LT Std 65 Medium';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Medium.woff') format('woff');}@font-face{font-family:'Avenir LT Std 65 Medium Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-MediumOblique.woff') format('woff');}@font-face{font-family:'Avenir LT Std 85 Heavy';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Heavy.woff') format('woff');}@font-face{font-family:'Avenir LT Std 85 Heavy Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-HeavyOblique.woff') format('woff');}@font-face{font-family:'Avenir LT Std 95 Black';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-Black.woff') format('woff');}@font-face{font-family:'Avenir LT Std 95 Black Oblique';font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/AvenirLTStd/AvenirLTStd-BlackOblique.woff') format('woff');}@font-face{font-family:ChronicleDisplay-Roman;font-style:normal;font-weight:normal;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplayRoman.otf') format('opentype'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Roman.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Roman.woff') format('woff'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Roman.svg#ChronicleDisplay-Roman') format('svg');}@font-face{font-family:ChronicleDisplay-Roman;font-style:normal;font-weight:bold;src:url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Bold.otf') format('opentype'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Bold.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Bold.woff') format('woff'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/ChronicleDisplayRoman/ChronicleDisplay-Bold.svg#ChronicleDisplay-Bold') format('svg');}</style>
32    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
33        <style id="page-css">
34            #section-2f1a6577-1ccd-43a3-ad06-85544d73063d{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;
34--bgColor:#1a1a1a;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:10%;--bgColor_A:1;--bgColor_darkenDir:1;background-color:#1a1a1a;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.3));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('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/ahlwfutcgbkha6ahk36w');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening{height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening__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:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;text-align:center;}#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening__content__title{display:block;margin:0 8% 26px;font-family:var(--global-secondary-font-family);}@media (max-width: 576px){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening__content__title{font-size:32px;}}#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening__content__description{max-width:420px;font-size:15px;line-height:1.6;}@media (max-width: 576px){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d .custom-opening__content{font-size:14px;}}@media (min-width: 960px) and (orientation: landscape){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('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/ahlwfutcgbkha6ahk36w');}}@media (min-width: 1280px) and (orientation: landscape){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ahlwfutcgbkha6ahk36w');}}@media (min-width: 1920px) and (orientation: landscape){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ahlwfutcgbkha6ahk36w');}}@media (min-width: 2560px) and (orientation: landscape){#section-2f1a6577-1ccd-43a3-ad06-85544d73063d{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ahlwfutcgbkha6ahk36w');}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b{color:#231F20;--fontColor:#231F20;--fontColor_H:345;--fontColor_S:6%;--fontColor_L:13%;--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));background-color:#ffffff;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.active a{color:#fff!important;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li a:hover{color:#fff!important;background-color:#231F20!important;border-color:#231F20!important;-webkit-transition:0.1s;transition:0.1s;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a:hover:before{border-bottom:2px solid #fff!important;border-left:2px solid #fff!important;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a:hover:before{border-bottom:2px solid #fff!important;border-left:2px solid #fff!important;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section{padding-top:65px;padding-bottom:35px;}@media (min-width: 960px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section{padding-top:76px;padding-bottom:50px;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-container{width:100%;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto;}@media (min-width: 1200px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-container{max-width:1340px;padding-left:18px;padding-right:18px;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-row{margin-left:-6.5px;margin-right:-6.5px;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;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-col{width:100%;padding-left:6.5px;padding-right:6.5px;}@media (min-width: 640px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 960px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .item-card{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container .paginationjs{box-sizing:border-box;font-family:inherit;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container ul{float:none;margin:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-weight:600;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li{float:none!important;margin:0 7px;border:none!important;}@media (max-width: 575px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li{margin:0 4px;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li a{position:relative;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;min-width:44px!important;height:44px!important;border-radius:44px!important;color:#3f3f3e!important;font-size:15px!important;line-height:20px!important;font-weight:400!important;text-align:center;vertical-align:middle;padding:5px;border:solid 1px #1a1a19;cursor:pointer;-webkit-transition:all 0.3s;transition:all 0.3s;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li a:hover{background-color:#eaeaea;color:#000;}@media (max-width: 575px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li a{min-width:32px!important;height:32px!important;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li:first-of-type a,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li:last-of-type a{display:block;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.active a{border-color:transparent;background:#eaeaea;color:#000;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-ellipsis a{border-color:transparent;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a{border-color:transparent;font-size:0!important;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a:before,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a:before{content:"";position:absolute;left:50%;top:50%;display:block;width:17px;height:17px;border-bottom:2px solid #1a1a19;border-left:2px solid #1a1a19;}@media (max-width: 575px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a:before,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a:before{width:13px;height:13px;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a:hover,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a:hover{background-color:transparent;border-color:transparent;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev.disabled a,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next.disabled a{text-indent:-9999px;pointer-events:none;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev.disabled a:before,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next.disabled a:before{border-color:#afafaf;}@media (max-width: 767px){#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev.disabled a:after,#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next.disabled a:after{background:#afafaf;}}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-prev a:before{-webkit-transform:translate(-20%, -50%) rotate(45deg);-moz-transform:translate(-20%, -50%) rotate(45deg);-ms-transform:translate(-20%, -50%) rotate(45deg);transform:translate(-20%, -50%) rotate(45deg);}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .pagination-container li.paginationjs-next a:before{-webkit-transform:translate(-70%, -50%) rotate(225deg);-moz-transform:translate(-70%, -50%) rotate(225deg);-ms-transform:translate(-70%, -50%) rotate(225deg);transform:translate(-70%, -50%) rotate(225deg);}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .layout-col{margin-bottom:50px;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .img{display:block;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-top:25px;margin-bottom:25px;width:100%;z-index:9;-webkit-background-size:cover;background-size:cover;background-repeat:no-repeat;-webkit-background-position:center center;background-position:center center;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .img:after{content:"";display:block;padding-bottom:62.9108%;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card h4{margin:4px 0;padding:5px 0;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .subt
34itle{margin:0;padding:5px 0;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .description{padding-bottom:0;margin:0;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .date{font-size:12px;margin-bottom:17px;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .read-wrapper{padding:25px 0 0;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .read-wrapper a{color:#989897;-webkit-text-decoration:none;text-decoration:none;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b .layout-section .item-card .read-wrapper a::after{content:"→";padding-left:10px;}#section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b>div:last-child{padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-3527620a-4185-4671-963a-8f09a3e74222{color:#231F20;--fontColor:#231F20;--fontColor_H:345;--fontColor_S:6%;--fontColor_L:13%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.6));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('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/txmcytkghgbumcm1gh9c');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}@media(min-width:769px){#section-3527620a-4185-4671-963a-8f09a3e74222{background-attachment:fixed;}}@media(min-width:769px){#section-3527620a-4185-4671-963a-8f09a3e74222{background-attachment:fixed;}}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings{padding:0;}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container{max-width:unset;min-height:80vh;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-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs{background-color:rgba(255,255,255,.8);max-width:950px;padding:90px;text-align:center;position:relative;}@media(max-width:769px){#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs{padding:30px;}}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs::after{content:'';display:block;width:100%;height:140px;position:absolute;bottom:0;left:0;-webkit-filter:invert(1);filter:invert(1);-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs .lp-btn{z-index:99;}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs .customTitle .pretitle{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;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs .customTitle .pretitle p{text-transform:uppercase;font-weight:300;font-family:var(--global-primary-font-family);letter-spacing:3px;font-size:18px;margin-bottom:0;padding-left:20px;padding-right:20px;text-align:center;}#section-3527620a-4185-4671-963a-8f09a3e74222 div.redesign.custom-content.lp-vertical-paddings .lp-container .customWorkWithUs .customTitle h2{text-align:center;}#section-3527620a-4185-4671-963a-8f09a3e74222 h2:before{content:"⸻ Get in Touch ⸻";font-family:var(--global-secondary-font-family);
34display:block;font-size:14px;text-transform:uppercase;letter-spacing:6px;color:#231F20;margin-bottom:10px;font-weight:300;}#section-3527620a-4185-4671-963a-8f09a3e74222 .video-wrapper{z-index:1;}#section-3527620a-4185-4671-963a-8f09a3e74222 .overlay-component{z-index:2;}#section-3527620a-4185-4671-963a-8f09a3e74222 .custom-content{z-index:3;position:relative;}#section-3527620a-4185-4671-963a-8f09a3e74222 h1,#section-3527620a-4185-4671-963a-8f09a3e74222 h2,#section-3527620a-4185-4671-963a-8f09a3e74222 h3,#section-3527620a-4185-4671-963a-8f09a3e74222 h4,#section-3527620a-4185-4671-963a-8f09a3e74222 h5,#section-3527620a-4185-4671-963a-8f09a3e74222 h6,#section-3527620a-4185-4671-963a-8f09a3e74222 p{margin-bottom:1.6666rem;}#section-3527620a-4185-4671-963a-8f09a3e74222 .lp-container *:last-child{margin-bottom:0;}@media (min-width: 960px) and (orientation: landscape){#section-3527620a-4185-4671-963a-8f09a3e74222{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('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/txmcytkghgbumcm1gh9c');}}@media (min-width: 1280px) and (orientation: landscape){#section-3527620a-4185-4671-963a-8f09a3e74222{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),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/txmcytkghgbumcm1gh9c');}}@media (min-width: 1920px) and (orientation: landscape){#section-3527620a-4185-4671-963a-8f09a3e74222{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/txmcytkghgbumcm1gh9c');}}@media (min-width: 2560px) and (orientation: landscape){#section-3527620a-4185-4671-963a-8f09a3e74222{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/txmcytkghgbumcm1gh9c');}}nav{height:0;}nav .navbar{-webkit-transition:all 0.5s cubic-bezier(0.23, 1, 0.32, 1);transition:all 0.5s cubic-bezier(0.23, 1, 0.32, 1);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;background-color:white;position:relative;z-index:101;max-width:1920px;margin:0 auto;}nav .navbar.transparent:not(.scroll){background-color:transparent;box-shadow:none;}nav .navbar.transparent:not(.scroll) .top-menu>ul>li>a,nav .navbar.transparent:not(.scroll) .top-menu>ul>li>button{color:white;}nav .navbar.transparent:not(.scroll) .logo .logo-light{display:block;}nav .navbar.transparent:not(.scroll) .logo .logo-dark{display:none;}@media only screen and (min-width: 990px){nav .navbar{height:90px;}}@media only screen and (max-width: 990px){nav .navbar{height:70px;}}nav .navbar .logo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;padding-left:16px;line-height:0;width:210px;height:52px;}@media only screen and (min-width: 1025px){nav .navbar .logo{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding-left:30px;}}nav .navbar .logo img{height:100%;width:100%;object-fit:contain;margin-bottom:0;}nav .navbar .logo .logo-light{display:none;}nav .navbar a{cursor:pointer;}nav .navbar .top-menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media only screen and (max-width: 1025px){nav .navbar .top-menu{padding-left:18px;}}@media only screen and (min-width: 990px){nav .navbar .top-menu>ul{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;
34-webkit-justify-content:flex-start;justify-content:flex-start;margin:0;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media only screen and (max-width: 1024px){nav .navbar .top-menu>ul{display:none;}}nav .navbar .top-menu>ul>li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:0 16px;}nav .navbar .top-menu>ul>li.sub-nav-container{position:relative;}nav .navbar .top-menu>ul>li>a,nav .navbar .top-menu>ul>li>button{position:relative;z-index:5;}nav .navbar .top-menu>ul>li a,nav .navbar .top-menu>ul>li button{cursor:pointer;font-family:var(--global-secondary-font-family);background:transparent;outline:none;border:none;padding:6px 0 1px 0;-webkit-text-decoration:none;text-decoration:none;font-size:14px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:0.5px;text-align:left;color:#1a1a19;border-bottom:solid 2px transparent;-webkit-transition:all 0.2s;transition:all 0.2s;text-transform:uppercase;}@media (max-width: 1200px){nav .navbar .top-menu>ul>li a,nav .navbar .top-menu>ul>li button{font-size:13px;}}nav .navbar .top-menu>ul>li a:hover,nav .navbar .top-menu>ul>li button:hover{border-bottom:solid 2px #000000;}nav .navbar .top-menu>ul>li a.active,nav .navbar .top-menu>ul>li button.active{border-bottom:solid 2px #000000;}nav .contact-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:fixed;width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;z-index:-1;}nav .contact-button ul{margin:0 0 0 auto;box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;height:75px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:white;-webkit-backface-visibility:hidden;backface-visibility:hidden;}@media only screen and (min-width: 990px){nav .contact-button ul{-webkit-transform:translate(21.5px, 110px) rotate(270deg);-moz-transform:translate(21.5px, 110px) rotate(270deg);-ms-transform:translate(21.5px, 110px) rotate(270deg);transform:translate(21.5px, 110px) rotate(270deg);padding-right:18px;padding-left:18px;}}@media only screen and (max-width: 990px){nav .contact-button ul{-webkit-transform:translate(19px, 88px) rotate(270deg);-moz-transform:translate(19px, 88px) rotate(270deg);-ms-transform:translate(19px, 88px) rotate(270deg);transform:translate(19px, 88px) rotate(270deg);padding-right:16px;padding-left:16px;}}nav .contact-button ul li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;margin-top:8px;}nav .contact-button ul li a,nav .contact-button ul li button{padding-bottom:5px;padding-top:0px;-webkit-text-decoration:none;text-decoration:none;font-size:14px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:2px;text-align:center;color:#1a1a19;border-bottom:solid 2px transparent;-webkit-transition:all 0.2s;transition:all 0.2s;}nav .contact-button ul li a:hover,nav .contact-button ul li button:hover{border-bottom:solid 2px #000000;}nav .contact-button ul li a.active,nav .contact-button ul li button.active{border-bottom:solid 2px #000000;}nav .mobile-menu{background-color:#1a1a19;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media only screen and (min-width: 990px){nav .mobile-menu{height:90px;}}@media only screen and (max-width: 990px){nav .mobile-menu{height:70px;}}nav .mobile-menu .toggle{width:75px;position:relative;}nav .mobile-menu .toggle .hamburger-component{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;position:absolute;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;left:0;right:0;top:0;bottom:0;}nav .mobile-menu .toggle .hamburger-component:hover .hamburger-icon:before{-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);}nav .mobile-menu .toggle .hamburger-component:hover .hamburger-icon:after{-webkit-transform:translateY(2px);-moz-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);}nav .mobile-menu .toggle .hamburger-component .hamburger-icon{width:20px;height:3px;background-color:#fff;position:relative;}nav .mobile-menu .toggle .hamburger-component .hamburger-icon:before,nav .mobile-menu .toggle .hamburger-component .hamburger-icon:after{display:block;content:"";position:absolute;width:20px;height:3px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform;border-radius:4px;background-color:#fff;}nav .mobile-menu .toggle .hamburger-component .hamburger-icon:after{top:6px;}nav .mobile-menu .toggle .hamburger-component .hamburger-icon:before{top:-6px;}nav .sub-nav{position:absolute;
34left:15px;top:26px;background:#ffffff;border:1px solid #e7e7e7;text-align:left;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, 30%);-moz-transform:translate(0, 30%);-ms-transform:translate(0, 30%);transform:translate(0, 30%);z-index:10;box-shadow:2px 4px 9px 0 rgba(0, 0, 0, 0.2);}nav .sub-nav:after{display:block;content:'';position:absolute;left:0;right:0;top:-50px;height:50px;}nav .sub-nav ul{margin:0;}nav .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);}nav .sub-nav li{position:relative;display:block;margin:0;padding:16px 24px;text-align:left;border-bottom:1px solid #e7e7e7;}nav .sub-nav li:last-child{border-bottom:0;}nav .sub-nav li a,nav .sub-nav li button{color:#000;margin:0;white-space:wrap;}body>div.sidemenu{background-color:rgba(255, 255, 255, 1);color:rgba(35, 31, 32, 1);--fontColor:rgba(35, 31, 32, 1);--fontColor_H:345;--fontColor_S:6%;--fontColor_L:13%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}body>div.sidemenu{background-color:transparent;}body>div.sidemenu .sidemenu-container{top:0;right:0;height:100%;width:300px;-webkit-transition:-webkit-transform 0s linear,opacity 0.2s ease-out;transition:transform 0s linear,opacity 0.2s ease-out;-webkit-transform:translate(-300px, 0px);-moz-transform:translate(-300px, 0px);-ms-transform:translate(-300px, 0px);transform:translate(-300px, 0px);margin-right:-300px;display:block;height:100%;top:0;right:0;position:fixed;}body>div.sidemenu .is-hidden{visibility:hidden;}body>div.sidemenu .flex-sidemenu-container.visible{right:0px;}body>div.sidemenu .flex-sidemenu-container{background:hsla(var(--bgColor_H, 60), var(--bgColor_S, 2%), var(--bgColor_L, 10%), var(--bgColor_A, 1));overflow:auto;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:justify;-webkit-justify-content:space-between;justify-content:space-between;padding-left:18px;height:100%;}body>div.sidemenu .flex-sidemenu-container .close-sidemenu{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:5px;}@media only screen and (min-width: 990px){body>div.sidemenu .flex-sidemenu-container .close-sidemenu{height:90px;}}@media only screen and (max-width: 990px){body>div.sidemenu .flex-sidemenu-container .close-sidemenu{height:70px;}}body>div.sidemenu .flex-sidemenu-container .close-sidemenu .background-close-sidemenu{background-color:hsla(var(--bgColor_H, 60), var(--bgColor_S, 2%), calc(var(--bgColor_L, 10%) + 10%), var(--bgColor_A, 1));width:75px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-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;}@media only screen and (min-width: 990px){body>div.sidemenu .flex-sidemenu-container .close-sidemenu .background-close-sidemenu{height:90px;}}@media only screen and (max-width: 990px){body>div.sidemenu .flex-sidemenu-container .close-sidemenu .background-close-sidemenu{height:70px;}}body>div.sidemenu .flex-sidemenu-container .close-sidemenu .background-close-sidemenu .close-sidemenu-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu .flex-sidemenu-container .close-sidemenu .background-close-sidemenu .close-sidemenu-icon img{width:22px;height:22px;cursor:pointer;margin-bottom:0;}body>div.sidemenu .flex-sidemenu-container .sidebar-menu{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;overflow-y:auto;}body>div.sidemenu .flex-sidemenu-container .sidebar-menu ul{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:space-around;-ms-flex-pack:space-around;
34-webkit-justify-content:space-around;justify-content:space-around;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}body>div.sidemenu .flex-sidemenu-container .sidebar-menu ul li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu .flex-sidemenu-container .socialbar{padding-bottom:1.666rem;margin-top:5px;padding-left:1.666rem;}body>div.sidemenu .flex-sidemenu-container .socialbar ul{list-style:none;}body>div.sidemenu .flex-sidemenu-container .socialbar ul li{display:inline-block;padding:0px 32px 0px 0px;}body>div.sidemenu .flex-sidemenu-container .socialbar .socialbar-label{font-size:14px;font-weight:900;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;color:var(--fontColor, #fff);list-style:none;margin-block-start:0em;margin-block-end:1em;}body>div.sidemenu .flex-sidemenu-container .socialbar .socialbar-text li{margin-block-start:1em;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;-webkit-padding-start:0px;padding-inline-start:0px;}body>div.sidemenu .flex-sidemenu-container .socialbar .socialbar-text .socialbar-link{font-size:15px;-webkit-text-decoration:none;text-decoration:none;color:var(--fontColor, #fff);}body>div.sidemenu .sidemenu-item{padding-bottom:10px;}body>div.sidemenu .sidemenu-link{padding-top:0px;-webkit-text-decoration:none;text-decoration:none;font-family:var(--global-primary-font-family);font-size:24px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1.42;letter-spacing:normal;color:var(--fontColor, #fff);margin-bottom:8px;}body>div.sidemenu .sidemenu-link:after{content:'';display:block;width:22px;margin:0 0;border-bottom:2px solid transparent;-webkit-transition:all 0.2s;transition:all 0.2s;}body>div.sidemenu .sidemenu-link:hover:after{border-bottom:2px solid rgb(255, 255, 255);}body>div.sidemenu .sidemenu-link.active:after{border-bottom:2px solid rgb(255, 255, 255);}body>div.sidemenu .sidemenu-sub-link{font-family:var(--global-secondary-font-family);text-transform:uppercase;letter-spacing:2px;font-size:14px;-webkit-transition:all .5s ease;transition:all .5s ease;}body>div.sidemenu .sidemenu-sub-link,body>div.sidemenu .sidemenu-sub-link:active,body>div.sidemenu .sidemenu-sub-link:visited{color:#969696;}body>div.sidemenu .sidemenu-sub-link:hover,body>div.sidemenu .sidemenu-sub-link:hover:active,body>div.sidemenu .sidemenu-sub-link:hover:visited{color:var(--fontColor, #fff);}body>div.sidemenu .sub-nav-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}body>div.sidemenu .sub-nav{opacity:0;visibility:hidden;-webkit-transition:all .5s ease;transition:all .5s ease;max-height:0;}body>div.sidemenu .sub-nav ul{margin:0;}body>div.sidemenu .sub-nav.visible{opacity:1;visibility:visible;max-height:400px;}body>div.sidemenu .sub-nav li{position:relative;display:block;margin:0;padding:3px 3px 3px 23px;}@media only screen and (max-width: 990px){body>div.sidemenu .sidemenu-link{font-size:18px;margin-bottom:5px;}body>div.sidemenu .sidemenu-sub-link{font-size:12px;}body>div.sidemenu .sidemenu-item{padding-bottom:7px;}}footer{background-color:rgba(255, 255, 255, 1);color:rgba(35, 31, 32, 1);--fontColor:rgba(35, 31, 32, 1);--fontColor_H:345;--fontColor_S:6%;--fontColor_L:13%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;line-height:0;font-size:0;position:absolute;}footer .footer{width:100%;background-color:inherit;color:inherit;}footer .footer a{color:currentColor;}footer .footer a svg{color:currentColor;}footer .footer a svg g{fill:currentColor;}footer .footer .lp-i{color:currentColor;}footer .footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .footer-container{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;
34-webkit-justify-content:space-between;justify-content:space-between;padding:100px 60px 0;width:100%;max-width:1440px;margin:0 auto;}@media (max-width: 920px){footer .footer-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:60px 32px 0;}}footer .footer-menu{margin-bottom:20px;font-size:14px;}@media (max-width: 920px){footer .footer-menu a{display:block;margin-bottom:10px;}}footer .footer-col1{width:55%;max-width:100%;color:footer.color;}footer .footer-col1.form-less{width:100%;}@media (max-width: 920px){footer .footer-col1{width:100%;}}footer .footer-col1-logo{height:68px;margin-bottom:24px;-webkit-transition:-webkit-transform 0.1s;transition:transform 0.1s;}@media (max-width: 767px){footer .footer-col1-logo{height:51px;margin-bottom:26px;}}footer .footer-col1-logo:hover{-webkit-transform:scale(1.1, 1.1);-moz-transform:scale(1.1, 1.1);-ms-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1);cursor:pointer;}footer .footer-col1-text{font-family:var(--global-secondary-font-family);font-size:15px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1.67;letter-spacing:normal;color:footer.color;}@media (max-width: 767px){footer .footer-col1-text{font-size:14px;line-height:1.71;padding-bottom:10px;}}footer .footer-col1-contacts{font-family:Avenir;font-size:15px;line-height:1.67;letter-spacing:normal;color:footer.color;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 767px){footer .footer-col1-contacts{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}}footer .footer-col1-contacts .footer-col1-address{padding-right:50px;}@media (max-width: 767px){footer .footer-col1-contacts >div{width:100%;margin-top:15px;}}footer .footer-col1-contacts a:hover{color:gray;}footer .footer-col1-contacts .footer-col1-title{font-family:var(--global-secondary-font-family);text-transform:uppercase;font-size:14px;font-weight:900;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:footer.color;padding-bottom:15px;}footer .footer-col2{max-width:100%;width:39%;padding-top:40px;}@media (max-width: 920px){footer .footer-col2{width:100%;}}footer .footer-col2 .loading:after{position:absolute;margin-top:10px;display:block;content:'Sending...';}footer .footer-col2 .success{color:footer.color;margin-top:10px;}footer .footer-col2 .hide{display:none;}footer .footer-col2-title{font-family:var(--global-secondary-font-family);font-size:32px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;color:footer.color;text-align:left;margin:0 0 30px;padding:0;}@media (max-width: 767px){footer .footer-col2-title{line-height:1.31;margin-bottom:26px;}}footer .footer-col2-text{font-family:var(--global-secondary-font-family);font-size:15px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1.67;letter-spacing:normal;color:footer.color;}@media (max-width: 767px){footer .footer-col2-text{font-size:14px;line-height:1.71;padding-bottom:15px;}}footer .footer-col2-input-text{font-family:var(--global-secondary-font-family);font-size:14px;font-weight:300;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;color:inherit;height:42px;width:100%;border-width:0;background-color:transparent;border-bottom:1px solid;border-bottom-color:inherit;}footer .footer-col2 .lp-disclaimer{margin-bottom:35px;}@media (max-width: 868px){footer .footer-col2 .lp-disclaimer{margin-bottom:26px;}}footer .footer-col2-input-submit{font-family:var(--global-secondary-font-family);font-size:14px;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;color:inherit;padding:12px 32px;background-color:transparent;border:0;border:1px solid #fff;-webkit-transition:all 0.1s;transition:all 0.1s;text-transform:uppercase;}footer .footer-col2-input-submit:hover{color:footer.background-color;background-color:footer.color;cursor:pointer;}@media (max-width: 868px){footer .footer-col2-input-submit{margin-bottom:35px;}}footer .footer-row{color:footer.color;width:100%;margin:0 auto;max-width:1440px;text-align:right;padding:24px 60px 60px;display:block;}
34footer .footer-row.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 920px){footer .footer-row.flex{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}footer .footer-row.flex >span{margin-top:20px;}}@media (max-width: 920px){footer .footer-row{text-align:left;padding:24px 32px 60px;}}@media (max-width: 767px){footer .footer-row{display:none;}}footer .footer-row-link{font-family:var(--global-secondary-font-family);font-size:14px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:2px;color:inherit;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:color 0.2s;transition:color 0.2s;padding-right:27px;text-transform:uppercase;border:none;background:transparent;cursor:pointer;}footer .footer-row-link:last-child{padding-right:0px;}footer .footer-row-link:hover{color:gray;}footer .footer-row .link{-webkit-transition:color 0.2s;transition:color 0.2s;}footer .footer-row .link:hover{color:gray;}footer .footer-socialbar{max-width:1440px;padding:45px 60px 29px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}footer .footer-socialbar p{padding-right:40px;}footer .footer-socialbar.form-less{padding-top:20px;padding-bottom:40px;}@media (max-width: 920px){footer .footer-socialbar.form-less{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}footer .footer-socialbar.form-less .footer-socialbar-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;width:auto;}@media (max-width: 920px){footer .footer-socialbar.form-less .footer-socialbar-content{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (max-width: 920px){footer .footer-socialbar{padding:8px 32px 8px;}footer .footer-socialbar p{display:block;width:100%;}}footer .footer-socialbar-content{width:39%;margin:10px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}@media (max-width: 920px){footer .footer-socialbar-content{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;}}footer .footer-socialbar-text{font-family:var(--global-secondary-font-family);font-size:14px;font-weight:900;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;color:footer.color;display:inline-block;padding:0 28px 0 0;margin:0;text-transform:uppercase;}@media (max-width: 920px){footer .footer-socialbar-text{padding-bottom:16px;}}footer .footer-socialbar-link{-webkit-text-decoration:none;text-decoration:none;font-size:21px;}footer .footer-socialbar-link:last-child{margin-right:0;}footer .footer-socialbar-link:hover{color:darken(#fff, 20%);}footer .footer-socialbar svg{height:20px;margin-top:3px;}footer .footer-socialbar-logo{height:15px;-webkit-transition:-webkit-transform 0.1s;transition:transform 0.1s;}footer .footer-socialbar-logo:hover{-webkit-transform:scale(1.2, 1.2);-moz-transform:scale(1.2, 1.2);-ms-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2);}footer .footer .desktop{display:block;}@media (max-width: 868px){footer .footer .desktop{display:none;}}footer .footer .mobile{display:none;}@media (max-width: 868px){footer .footer .mobile{display:block;}}footer .footer form{margin-bottom:0;}@media (max-width: 920px){footer .footer form{max-width:100%;}}footer .footer .flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:normal;-ms-flex-pack:normal;
34-webkit-justify-content:normal;justify-content:normal;}footer .footer .flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}footer .logo-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:left;width:63%;}@media (max-width: 920px){footer .logo-text{width:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-bottom:15px;}}footer .img-wrap{width:100%;max-width:100px;margin-right:20px;}@media (max-width: 920px){footer .img-wrap{margin:0 0 30px 0;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .luxury-link{position:relative;display:inline-block;}footer .luxury-link:after{content:"";display:block;position:absolute;width:100%;height:1px;left:0;bottom:0;background:currentColor;-webkit-transition:.2s all linear;transition:.2s all linear;}footer .luxury-link:hover:after{width:0;}footer .bottom-lp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px;}@media (max-width: 920px){footer .bottom-lp{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}footer .lp-footer-disclaimers{margin:0 auto;max-width:1440px;padding:0 60px 60px;}body>div.mobile-contact-wrapper .mobile-contact{display:none;position:fixed;width:100%;height:100vh;z-index:5;pointer-events:none;bottom:0;right:0;}body>div.mobile-contact-wrapper .mobile-contact .item{outline:none;width:50px;height:50px;box-shadow:4px 4px 10px 0 rgba(0, 0, 0, 0.1);background-color:#f1f1f1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;border-radius:50%;color:#484b4e;border:none;font-size:20px;}body>div.mobile-contact-wrapper .mobile-contact .item svg{fill:#484b4e;}body>div.mobile-contact-wrapper .mobile-contact .item:nth-child(n + 2){margin-top:15px;}body>div.mobile-contact-wrapper .mobile-contact .buttons-holder{pointer-events:all;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:absolute;right:25px;bottom:70px;}body>div.mobile-contact-wrapper .mobile-contact .search-close-icon{display:none;}body>div.mobile-contact-wrapper .mobile-contact .active .search-show-icon{display:none;}body>div.mobile-contact-wrapper .mobile-contact .active .search-close-icon{display:block;}body>div.mobile-contact-wrapper .mobile-contact .search-wrapper{pointer-events:all;position:absolute;bottom:30px;right:90px;overflow:hidden;width:0;-webkit-transition:width 0.4s ease;transition:width 0.4s ease;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}body>div.mobile-contact-wrapper .mobile-contact .search-wrapper.active{width:calc(100% - 110px);}body>div.mobile-contact-wrapper .mobile-contact .search-inner{width:calc(100vw - 110px);-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;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;-webkit-justify-content:flex-end;justify-content:flex-end;}body>div.mobile-contact-wrapper .mobile-contact .search-input-container{width:100%;border:solid 1px #d8d8d8;height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 12px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;box-shadow:0 0 7px 0 rgba(0, 0, 0, 0.12);}body>div.mobile-contact-wrapper .mobile-contact .search-input-container .search-icon{margin-right:10px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:18px;}body>div.mobile-contact-wrapper .mobile-contact .search-input-container .search-input{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;border:none;border-radius:0;outline:none;color:#000;background:transparent;font-size:16px;}body>div.mobile-contact-wrapper .mobile-contact .search-results{width:100%;background-color:rgba(0, 0, 0, 0.85);border:none;color:#fff;font-size:16px;overflow:hidden;-webkit-transition:height 0.3s ease;transition:height 0.3s ease;height:0;}body>div.mobile-contact-wrapper .mobile-contact .results-container{padding:10px 0;}body>div.mobile-contact-wrapper .mobile-contact .results-container a{-webkit-transition:all 0.5s ease;transition:all 0.5s ease;color:#fff;}body>div.mobile-contact-wrapper .mobile-contact .results-container a:hover{color:inherit;opacity:0.8;}body>div.mobile-contact-wrapper .mobile-contact .results-link{display:block;padding:4px 20px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}body>div.mobile-contact-wrapper .mobile-contact .result-self{position:relative;}body>div.mobile-contact-wrapper .mobile-contact .result-self::before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;border:none;background-color:currentColor;-webkit-transition:all .3s ease;transition:all .3s ease;left:9px;top:calc(50% - 4px);}body>div.mobile-contact-wrapper .mobile-contact .search-in-progress{width:100%;padding:30px;opacity:0.5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:30px;}body>div.mobile-contact-wrapper .mobile-contact .search-in-progress.not-visible{display:none;}body>div.mobile-contact-wrapper .mobile-contact .nothing-found{width:100%;padding:20px;}body>div.mobile-contact-wrapper .mobile-contact.dark .item{background-color:black;color:#f1f1f1;}body>div.mobile-contact-wrapper .mobile-contact.dark .item svg{fill:#f1f1f1;}body>div.mobile-contact-wrapper .mobile-contact.dark .search-input-container{border:none;background-color:#1a1a1a;color:#f1f1f1;}body>div.mobile-contact-wrapper .mobile-contact.dark .search-input-container .search-input{color:#fff;}body>div.mobile-contact-wrapper .mobile-contact.with-search .buttons-holder{bottom:30px;}@media (max-width: 500px){body>div.mobile-contact-wrapper .mobile-contact{display:block;}}
35        </style>
36    <style id="custom-style-css">.social_icons-style-1 a{border-color:rgba(35, 31, 32, 0)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(35, 31, 32, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(35, 31, 32, 0)!important;background-color:rgba(35, 31, 32, 0)!important;color:rgba(35, 31, 32, 0.8)!important;}.social_icons-style-1 a i{color:inherit!important;}
36.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.pagination-style-1 li a{color:rgba(35, 31, 32, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-1 li a:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(35, 31, 32, 1)!important;border-color:rgba(35, 31, 32, 1)!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(35, 31, 32, 1)!important;border-color:rgba(35, 31, 32, 1)!important;}.hyperlink-style-1{color:rgba(35, 31, 32, 1)!important;}.hyperlink-style-1:hover{color:rgba(0, 0, 0, 1)!important;}.button-style-1{color:rgba(35, 31, 32, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(35, 31, 32, 1)!important;}.button-style-1:hover{color:rgba(255,255,255,1)!important;background-color:rgba(35, 31, 32, 1)!important;border-color:rgba(35, 31, 32, 1)!important;}.button-style-2{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-2:hover{color:rgba(35, 31, 32, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 0)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255, 255, 255, 0)!important;background-color:rgba(255, 255, 255, 0)!important;color:rgba(255, 255, 255, 0.8)!important;}.social_icons-style-2 a i{color:inherit!important;}
36.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.pagination-style-2 li a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-2 li a:hover{color:rgba(35, 31, 32, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:#FFFFFF!important;}.pagination-style-2 li.active a{color:rgba(35, 31, 32, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:#FFFFFF!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:#FFFFFF!important;}.button-style-3{color:rgba(255, 255, 255, 1)!important;background-color:rgba(35, 31, 32, 1)!important;border-color:rgba(35, 31, 32, 1)!important;}.button-style-3:hover{color:rgba(35, 31, 32, 1)!important;background-color:rgba(171, 197, 214, 0)!important;border-color:rgba(35, 31, 32, 1)!important;}.button-style-4{color:rgba(35, 31, 32, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-4:hover{color:rgba(255,255,255,1)!important;background-color:rgba(171, 197, 214, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}</style>
37        <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode
38             defaults, and dynamically loads the locale + main (and banner if needed). -->
39        
39<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="7afcf2a6-6e2c-40b1-88ba-038553fc87dc"></script>
39
40
41
42        
42<script>
43            (function utmParse() {
44                const url = new URL(window.location.href);
45                if (url.search) {
46                    const utm = url.search.split(/\?|&/g).reduce((acc, current) => {
47                        const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g);
48                        if (matched) {
49                        acc[matched[0]] = current.replace(`${matched[0]}=`, '');
50                        }
51                        return acc;
52                    }, {});
53                    if (Object.keys(utm).length) {
54                        window.localStorage.setItem('utm_vars', JSON.stringify(utm));
55                    } else {
56                        // Remove old utm vars
57                        window.localStorage.removeItem('utm_vars');
58                    }
59                }
60                // Set referrer in local storage
61                // This is meant to be stored once to avoid self-referrals and to have the first referrer only.
62                if (!window.localStorage.getItem('referrer')) {
63                    // Capture the Referrer URL
64                    const referrer = document.referrer;
65                    if (referrer) {
66                        // Only store the referrer if it comes from outside the current domain (to avoid self-referrals)
67                        const currentDomain = window.location.hostname;
68                        const referrerDomain = new URL(referrer).hostname;
69
70                        if (referrerDomain !== currentDomain) {
71                            // Store it in localStorage
72                            localStorage.setItem('referrer', referrer);
73                        }
74                    }
75                }
76            })();
77        </script>
77
78        
78<script type="text/javascript">
79    document.addEventListener("DOMContentLoaded", function() {
80        var path = window.location.pathname;
81        // Apply RealEstateAgent schema to homepage only
82        if (path === '/') {
83            var realEstateAgentSchema = {
84                "@context": "https://schema.org",
85                "@type": "RealEstateAgent",
86                "name": "Corcoran DeRonja Real Estate",
87                "image": "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/76d27bea-b51e-4fc4-9a7b-34e6cc665e42",
88                "@id": "https://drefirm.com/",
89                "url": "https://drefirm.com/",
90                "telephone": "(919) 669-7993",
91                "priceRange": "$$$",
92                "address": {
93                    "@type": "PostalAddress",
94                    "streetAddress": "911 N West St, Suite 203",
95                    "addressLocality": "Raleigh",
96                    "addressRegion": "NC",
97                    "postalCode": "27603",
98                    "addressCountry": "US"
99                },
100                "geo": {
101                    "@type": "GeoCoordinates",
102                    "latitude": 35.7913720,
103                    "longitude": -78.6442966
104                },
105                "openingHoursSpecification": {
106                    "@type": "OpeningHoursSpecification",
107                    "dayOfWeek": [
108                        "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
109                    ],
110                    "opens": "00:00",
111                    "closes": "23:59"
112                },
113                "sameAs": [
114                    "https://www.facebook.com/drefirm",
115                    "https://www.instagram.com/corcoranderonja/",
116                    "https://www.linkedin.com/company/deronja-real-estate/",
117                    "https://www.tiktok.com/@corcoranderonja",
118                    "https://www.youtube.com/user/drefirm"
119                ]
120            };
121            injectSchema(realEstateAgentSchema);
122        }
123        function injectSchema(schema) {
124            var script = document.createElement('script');
125            script.type = 'application/ld+json';
126            script.text = JSON.stringify(schema);
127            document.head.appendChild(script);
128        }
129    });
130</script>
130
131    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
132</head>
133<body>
134    <div id="google_translate_element" style="display: none"></div>
135
136        <nav id="global-navbar" data-el-id="ad139a7b-7773-46eb-88be-23b0085689ee">
137            <div class="navbar ">
138  <div class="logo">
139    <a href="/">
140      <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/fhragovk6rhb8mbastwr" 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fhragovk6rhb8mbastwr 1956w" alt="Logo" sizes="200px" class="logo-dark">
141      <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/hlrshpe2gqkbstueaiez" 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/hlrshpe2gqkbstueaiez 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/hlrshpe2gqkbstueaiez 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/hlrshpe2gqkbstueaiez 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/hlrshpe2gqkbstueaiez 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/hlrshpe2gqkbstueaiez 1956w" alt="Logo" sizes="200px" class="logo-light">
142    </a>
143  </div>
144
145  <div class="top-menu">
146    <ul>
147          <li class="sub-nav-container">
148          
149            <a href="#" class="link">Who we Are</a>
150            <div class="sub-nav">
151              <ul>
152                    <li><a  href="/team" class="link">Meet the Team</a></li>
153                    <li><a  href="/testimonials" class="link">Success Stories</a></li>
154                    <li><a  href="/blogs" class="link">Our Blog</a></li>
155              </ul>
156            </div>
157          
158          </li>
159          <li class="sub-nav-container">
160          
161            <a href="#" class="link">Properties</a>
162            <div class="sub-nav">
163              <ul>
164                    <li><a  href="/properties/sale" class="link">Featured Properties</a></li>
165                    <li><a  href="/properties/sold" class="link">Past Transactions</a></li>
166              </ul>
167            </div>
168          
169          </li>
170          <li class="sub-nav-container">
171          
172            <a href="#" class="link">Looking to Buy?</a>
173            <div class="sub-nav">
174              <ul>
175                    <li><a  href="/home-search/listings" class="link">Home Search</a></li>
176                    <li><a  href="/buyer-experience" class="link">Buyer Experience</a></li>
177                    <li><a  href="/mortgage-calculator" class="link">Mortgage Calculator</a></li>
178              </ul>
179            </div>
180          
181          </li>
182          <li class="sub-nav-container">
183          
184            <a href="#" class="link">Looking to Sell?</a>
185            <div class="sub-nav">
186              <ul>
187                    <li><a  href="/seller-services" class="link">Seller Service</a></li>
188                    <li><a  href="/home-valuation" class="link">Home Valuation</a></li>
189              </ul>
190            </div>
191          
192          </li>
193          <li><a  href="/buyer-cooperation-information">Buyer Agent Info</a></li>
194          <li><a  href="/careers">Careers</a></li>
195    </ul>
196  </div>
197
198  <div class="mobile-menu">
199    <div class="toggle">
200      <div class="hamburger-component">
201        <div class="hamburger-icon"></div>
202      </div>
203    </div>
204  </div>
205
206  <div class="contact-button">
207    <ul>
208      <li><a href="/contact">CONTACT</a></li>
209    </ul>
210  </div>
211</div>
212        </nav>
213        <div id="global-sidemenu" class="sidemenu" data-el-id="996d9edf-ac66-4911-98c2-95d2a1a481a5">
214            <div class="sidemenu-container">
215  <div class="flex-sidemenu-container">
216    <div class="close-sidemenu toggle">
217      <div class="background-close-sidemenu">
218        <div class="close-sidemenu-icon">
219          <img src="https://d1e1jt2fj4r8r.cloudfront.net/uploads/close.446dd38a.png" border="0" alt="close-icon-x">
220        </div>
221      </div>
222    </div>
223
224    <div class="sidebar-menu">
225      <ul>
226        <li class="sidemenu-item"><a  href="/" class="sidemenu-link">Home</a></li>
227        <li class="sidemenu-item sub-nav-container">
228          <a href="#" class="sidemenu-link">Who We Are</a>
229          <div class="sub-nav">
230            <ul>
231              <li><a  href="/team" class="sidemenu-sub-link">Meet the Team</a></li>
232              <li><a  href="/testimonials" class="sidemenu-sub-link">Success Stories</a></li>
233              <li><a  href="/blogs" class="sidemenu-sub-link">Our Blog</a></li>
234            </ul>
235          </div>
236        </li>
237        <li class="sidemenu-item sub-nav-container">
238          <a href="#" class="sidemenu-link">Properties</a>
239          <div class="sub-nav">
240            <ul>
241              <li><a  href="/properties/sale" class="sidemenu-sub-link">Featured Properties</a></li>
242              <li><a  href="/properties/sold" class="sidemenu-sub-link">Past Transactions</a></li>
243            </ul>
244          </div>
245        </li>
246        <li class="sidemenu-item sub-nav-container">
247          <a href="#" class="sidemenu-link">Neighborhoods</a>
248          <div class="sub-nav">
249            <ul>
250              <li><a  href="/raleigh-neighborhoods" class="sidemenu-sub-link">Raleigh</a></li>
251              <li><a  href="/durham-neighborhoods" class="sidemenu-sub-link">Durham</a></li>
252              <li><a  href="/chapel-hill" class="sidemenu-sub-link">Chapel Hill</a></li>
253              <li><a  href="/cary" class="sidemenu-sub-link">Cary</a></li>
254              <li><a  href="/apex" class="sidemenu-sub-link">Apex</a></li>
255              <li><a  href="/clayton" class="sidemenu-sub-link">Clayton</a></li>
256            </ul>
257          </div>
258        </li>
259        <li class="sidemenu-item sub-nav-container">
260          <a href="#" class="sidemenu-link">Looking to Buy?</a>
261          <div class="sub-nav">
262            <ul>
263              <li><a  href="/home-search/listings" class="sidemenu-sub-link">Home Search</a></li>
264              <li><a  href="/buyer-experience" class="sidemenu-sub-link">Buyer Experience</a></li>
265              <li><a  href="/mortgage-calculator" class="sidemenu-sub-link">Mortgage Calculator</a></li>
266            </ul>
267          </div>
268        </li>
269        <li class="sidemenu-item sub-nav-container">
270          <a href="#" class="sidemenu-link">Looking to Sell?</a>
271          <div class="sub-nav">
272            <ul>
273              <li><a  href="/seller-services" class="sidemenu-sub-link">Seller Services</a></li>
274              <li><a  href="/home-valuation" class="sidemenu-sub-link">Home Valuation</a></li>
275            </ul>
276          </div>
277        </li>
278        <li class="sidemenu-item"><a  href="/buyer-cooperation-information" class="sidemenu-link">Buyer Agent Information</a></li>
279        <li class="sidemenu-item"><a  href="/careers" class="sidemenu-link">Careers</a></li>
280        <li class="sidemenu-item"><a  href="/contact" class="sidemenu-link">Contact Us</a></li>
281        <li class="sidemenu-item"><a  href="/home-search/account" class="sidemenu-link">Client Search Portal</a></li>
282      </ul>
283    </div>
284
285    <div class="socialbar">
286        <div class="socialbar-label">
287          SOCIAL
288        </div>
289        <ul class="lp-socials {{socialStyle}} socialbar-text">
290        
291                <li>
292                  <a
293                    href="https://www.facebook.com/drefirm"
294                    class="lp-socials__link socialbar-link"
295                    data-wow-delay="0s"
296                    target="_blank"
297                    aria-label="FACEBOOK"
298                  >
299                      <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
300                  </a>
301                </li>
302                <li>
303                  <a
304                    href="https://www.instagram.com/deronjarealestate/"
305                    class="lp-socials__link socialbar-link"
306                    data-wow-delay="0.1s"
307                    target="_blank"
308                    aria-label="INSTAGRAM"
309                  >
310                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
311                  </a>
312                </li>
313                <li>
314                  <a
315                    href="https://www.linkedin.com/company/deronja-real-estate/"
316                    class="lp-socials__link socialbar-link"
317                    data-wow-delay="0.2s"
318                    target="_blank"
319                    aria-label="LINKEDIN"
320                  >
321                      <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
322                  </a>
323                </li>
324                <li>
325                  <a
326                    href="https://www.youtube.com/user/drefirm"
327                    class="lp-socials__link socialbar-link"
328                    data-wow-delay="0.3s"
329                    target="_blank"
330                    aria-label="YOUTUBE"
331                  >
332                      <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
333                  </a>
334                </li>
335                <li>
336                  <a
337                    href="https://www.yelp.com/biz/deronja-real-estate-raleigh"
338                    class="lp-socials__link socialbar-link"
339                    data-wow-delay="0.4s"
340                    target="_blank"
341                    aria-label="YELP"
342                  >
343                      <span class="lp-i lp-i--yelp" aria-hidden="true"></span>
344                  </a>
345                </li>
346                <li>
347                  <a
348                    href="https://www.google.com/search?q&#x3D;DeRonja+Real+Estate&amp;oq&#x3D;DeRonja+Real+Estate&amp;gs_lcrp&#x3D;EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg9MgYIAhBFGD0yBggDEEUYPDIGCAQQLhhA0gEHNjY0ajBqOagCALACAQ&amp;sourceid&#x3D;chrome&amp;ie&#x3D;UTF-8#lrd&#x3D;0x89ac58eacc09162f:0xc1d6b763168ed3fa,1,,,,"
349                    class="lp-socials__link socialbar-link"
350                    data-wow-delay="0.5s"
351                    target="_blank"
352                    aria-label="GOOGLE"
353                  >
354                      <span class="lp-i lp-i--google" aria-hidden="true"></span>
355                  </a>
356                </li>
357                <li>
358                  <a
359                    href="https://www.zillow.com/profile/DeRonjaRealEstate"
360                    class="lp-socials__link socialbar-link"
361                    data-wow-delay="0.6s"
362                    target="_blank"
363                    aria-label="ZILLOW"
364                  >
365                      <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
366                  </a>
367                </li>
368          </ul>    </div>
369  </div>
370</div>
371        </div>
372        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="ae1d2620-ed7f-458b-85a6-30bb62650e72">
373            <div class="mobile-contact redesign">
374    <div class="buttons-holder">
375            <a class="item" href="/cdn-cgi/l/email-protection#8fe9fdeee1e4cfebfdeae9e6fde2a1ece0e2">
376                <svg xmlns="http://www.w3.org/2000/svg" width="26" height="18" fill="none" viewBox="0 0 26 18">
377                  <path fill-rule="evenodd" d="M1.273 18l7.734-7.735c.395.352.838.647 1.32.87.592.275 1.233.44 1.885.488.779.055 1.567-.059 2.297-.334.62-.235 1.189-.584 1.684-1.023L23.927 18H1.273zm6.454-9L0 16.727V1.273L7.727 9zM25.2 1.3v15.427l-7.71-7.71c2.603-2.54 5.154-5.13 7.71-7.717zM23.927 0l-8.78 8.78c-.343.339-.744.61-1.192.792-.903.367-1.942.349-2.831-.05-.37-.167-.707-.398-1.003-.675l-.403-.389c-.01-.014-.021-.029-.034-.042-.049-.058-.104-.109-.166-.152-2.8-2.714-5.54-5.49-8.28-8.264h22.69z" clip-rule="evenodd"/>
378                </svg>
379            </a>
380            <a class="item" href="tel:9196697993">
381                <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25">
382                  <path d="M24.1 18.172l-5.109-2.635c-.71-.369-1.606-.185-2.106.448l-1.87 2.397c-1.817-.974-3.213-1.923-4.82-3.53-1.71-1.713-2.633-3.136-3.58-4.9l2.37-1.845c.631-.5.842-1.397.447-2.108L6.8.914C6.325.018 5.192-.272 4.376.28l-3.24 2.16C.374 2.944-.047 3.813.005 4.709.057 5.63.19 6.789.4 7.606c.948 3.636 3.213 7.404 6.4 10.592 3.186 3.188 6.952 5.454 10.586 6.403.816.21 1.975.316 2.923.395.922.053 1.79-.395 2.291-1.16l2.107-3.293c.58-.817.263-1.923-.606-2.371z"/>
383                </svg>
384            </a>
385            </div>
386        
387</div>
388
389        </div>
390        <section  class="image-section is-font-color-light is-background-color-dark" id="section-2f1a6577-1ccd-43a3-ad06-85544d73063d" data-el-id="d231c003-e59b-434c-abfd-4c0985ac93e5">
391    <div class="custom-opening">
392  <div class="custom-opening__content">
393    <h1 class="custom-opening__content__title">
394      Our Blog
395    </h1>
396    <p class="custom-opening__content__description">
397      
398    </p>
399  </div>
400</div>
401
402</section>
403<section id="section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="803fbd3d-60f1-4016-bdea-38d655ac30c8">
vendor: 109 bytes, lines 403-404
403
404<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
404<script type="text/x-handlebars-template" class="blogItem pagination-script"><div class="layout-col">
405  <div class="item-card">
406    <div class="img" style="background-image: url('{{media.0.mediumUrl}}')"></div>
407    <h4>{{title}}</h4>
408      {{#if publishedAt}}
409      <p class="date">
410        {{hbFormatDate publishedAt}}
411      </p>
412      {{/if}}
413    {{#if subtitle}}
414    <p class="sub-title">
415      {{subtitle}}
416    </p>
417    {{/if}}
418    <div class="read-wrapper">
419      <a href="/blogs/{{slug}}" class="hyperlink-style-1">Read</a>
420    </div>
421  </div>
422</div>
423</script>
423
424<div class="layout-section">
425  <div class="layout-container">
426    <div class="layout-row data-container">
427      <div class="layout-col">
428        <div class="item-card">
429          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/904efee7-267e-4cab-876f-41fd84d80252')"></div>
430          <h4>13 Best Neighborhoods to Live in Raleigh NC</h4>
431            <p class="date">
432              October 4, 2026
433            </p>
434          <p class="sub-title">
435            Raleigh has eight historic neighborhoods and plenty of leafy suburbs.
436          </p>
437          <div class="read-wrapper">
438            <a href="/blogs/13-best-neighborhoods-to-live-in-raleigh-nc" class="hyperlink-style-1">Read</a>
439          </div>
440        </div>
441      </div>
442      <div class="layout-col">
443        <div class="item-card">
444          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/ycwoqaoff8jiccumhc9wph6l')"></div>
445          <h4>5 Essential Tips for a Successful June Home Sale</h4>
446            <p class="date">
447              October 3, 2026
448            </p>
449          <p class="sub-title">
450            Here are five essential tips to help you make the most of the season and achieve a smooth, profitable sale.
451          </p>
452          <div class="read-wrapper">
453            <a href="/blogs/tips-for-a-successful-june-home-sale" class="hyperlink-style-1">Read</a>
454          </div>
455        </div>
456      </div>
457      <div class="layout-col">
458        <div class="item-card">
459          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/d9396b9a-d164-4aaf-ab6f-b1c3c23c61c6')"></div>
460          <h4>Simple Ways to Live More Sustainably at Home</h4>
461            <p class="date">
462              September 29, 2026
463            </p>
464          <p class="sub-title">
465            Practical Ways to Bring Sustainable Living Into Your Raleigh Home.
466          </p>
467          <div class="read-wrapper">
468            <a href="/blogs/simple-ways-to-live-more-sustainably-at-home" class="hyperlink-style-1">Read</a>
469          </div>
470        </div>
471      </div>
472      <div class="layout-col">
473        <div class="item-card">
474          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/d844328c-63f1-49b1-9551-65a8f24b2c19')"></div>
475          <h4>Big Dreams, Small Spaces: Creative Storage Solutions for Compact Living</h4>
476            <p class="date">
477              September 17, 2026
478            </p>
479          <p class="sub-title">
480            Small Space Storage Solutions for Raleigh-Area Living.
481          </p>
482          <div class="read-wrapper">
483            <a href="/blogs/big-dreams-small-spaces-creative-storage-solutions-for-compact-living" class="hyperlink-style-1">Read</a>
484          </div>
485        </div>
486      </div>
487      <div class="layout-col">
488        <div class="item-card">
489          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/e1ab4db6-b634-49ce-8a13-013588bf96d7')"></div>
490          <h4>The Best Neighborhoods in Raleigh for Families</h4>
491            <p class="date">
492              September 17, 2026
493            </p>
494          <p class="sub-title">
495            Discover Raleigh’s premier family-friendly communities, from historic charm to modern luxury.
496          </p>
497          <div class="read-wrapper">
498            <a href="/blogs/the-best-neighborhoods-in-raleigh-for-families" class="hyperlink-style-1">Read</a>
499          </div>
500        </div>
501      </div>
502      <div class="layout-col">
503        <div class="item-card">
504          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/3e2c62e2-251d-485c-a6e3-5840526cd3ec')"></div>
505          <h4>The Top Attractions in Raleigh, NC, For Locals or Tourists</h4>
506            <p class="date">
507              September 17, 2026
508            </p>
509          <p class="sub-title">
510            Discover the Best Things to Do in Raleigh.
511          </p>
512          <div class="read-wrapper">
513            <a href="/blogs/the-top-attractions-in-raleigh-nc-for-locals-or-tourists" class="hyperlink-style-1">Read</a>
514          </div>
515        </div>
516      </div>
517      <div class="layout-col">
518        <div class="item-card">
519          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/405bafe4-8a28-4b95-96ff-59f544dd9b05')"></div>
520          <h4>Weekend Trips from Raleigh, NC</h4>
521            <p class="date">
522              September 16, 2026
523            </p>
524          <p class="sub-title">
525            Explore the Best Destinations for a Quick Getaway from Raleigh.
526          </p>
527          <div class="read-wrapper">
528            <a href="/blogs/weekend-trips-from-raleigh-nc" class="hyperlink-style-1">Read</a>
529          </div>
530        </div>
531      </div>
532      <div class="layout-col">
533        <div class="item-card">
534          <div class="img" style="background-image: url('https://images.unsplash.com/photo-1534330207526-8e81f10ec6fc?ixid&#x3D;M3w0MTQ1MnwwfDF8c2VhcmNofDE5fHxwcml2YXRlfGVufDB8fHx8MTc4NjYyOTYwNXww&amp;ixlib&#x3D;rb-4.1.0&amp;q&#x3D;80&amp;w&#x3D;1280')"></div>
535          <h4>Is a Private Exclusive Marketing Strategy Right for You?</h4>
536            <p class="date">
537              August 17, 2026
538            </p>
539          <p class="sub-title">
540            How to decide whether or not to use a private exclusive marketing strategy when selling your home.
541          </p>
542          <div class="read-wrapper">
543            <a href="/blogs/is-a-private-exclusive-marketing-strategy-right-for-you" class="hyperlink-style-1">Read</a>
544          </div>
545        </div>
546      </div>
547      <div class="layout-col">
548        <div class="item-card">
549          <div class="img" style="background-image: url('https://images.unsplash.com/photo-1531297484001-80022131f5a1?ixid&#x3D;M3w0MTQ1MnwwfDF8c2VhcmNofDR8fHRlY2hub2xvZ3l8ZW58MHx8fHwxNzg2NjI4OTMxfDA&amp;ixlib&#x3D;rb-4.1.0&amp;q&#x3D;80&amp;w&#x3D;1280')"></div>
550          <h4>Our Promise on AI</h4>
551            <p class="date">
552              August 13, 2026
553            </p>
554          <p class="sub-title">
555            How we (and you) are using AI during the home buying and selling process
556          </p>
557          <div class="read-wrapper">
558            <a href="/blogs/our-promise-on-ai" class="hyperlink-style-1">Read</a>
559          </div>
560        </div>
561      </div>
562      <div class="layout-col">
563        <div class="item-card">
564          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/2f9c6729-ace8-4722-a3ab-a344e5b6c272')"></div>
565          <h4>Paws on the Patio: Raleigh’s Best Pet-Friendly Restaurants</h4>
566            <p class="date">
567              August 12, 2026
568            </p>
569          <p class="sub-title">
570            Where You and Your Four-Legged Friends Can Dine in Style.
571          </p>
572          <div class="read-wrapper">
573            <a href="/blogs/paws-on-the-patio-raleighs-best-pet-friendly-restaurants" class="hyperlink-style-1">Read</a>
574          </div>
575        </div>
576      </div>
577      <div class="layout-col">
578        <div class="item-card">
579          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/68a560b7-90aa-47b5-879f-b267dc1b1896')"></div>
580          <h4>Things to Do in Raleigh, NC</h4>
581            <p class="date">
582              August 12, 2026
583            </p>
584          <p class="sub-title">
585            Top Attractions, Hidden Gems, and Local Favorites.
586          </p>
587          <div class="read-wrapper">
588            <a href="/blogs/things-to-do-in-raleigh-nc" class="hyperlink-style-1">Read</a>
589          </div>
590        </div>
591      </div>
592      <div class="layout-col">
593        <div class="item-card">
594          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/589015e5-4fdf-4797-95f5-0ea533960fd5')"></div>
595          <h4>A Guide to Raleigh NC Parks</h4>
596            <p class="date">
597              August 12, 2026
598            </p>
599          <p class="sub-title">
600            Discover plenty of popular green spaces in Raleigh.
601          </p>
602          <div class="read-wrapper">
603            <a href="/blogs/a-guide-to-raleigh-nc-parks" class="hyperlink-style-1">Read</a>
604          </div>
605        </div>
606      </div>
607      <div class="layout-col">
608        <div class="item-card">
609          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/191b85e9-a0d9-44fe-9c46-8a9503d3c7a6')"></div>
610          <h4>10 Best Places to Shop in Raleigh NC</h4>
611            <p class="date">
612              August 12, 2026
613            </p>
614          <p class="sub-title">
615            Raleigh has several first-class malls and unique markets.
616          </p>
617          <div class="read-wrapper">
618            <a href="/blogs/10-best-places-to-shop-in-raleigh-nc" class="hyperlink-style-1">Read</a>
619          </div>
620        </div>
621      </div>
622      <div class="layout-col">
623        <div class="item-card">
624          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/c440d856-86a5-4f71-ad32-8f0ae5708635')"></div>
625          <h4>How to Market Your Raleigh Home Like a Pro</h4>
626            <p class="date">
627              August 6, 2026
628            </p>
629          <p class="sub-title">
630            A Raleigh Seller&#x27;s Guide to How to Market Your Home Successfully.
631          </p>
632          <div class="read-wrapper">
633            <a href="/blogs/how-to-market-your-raleigh-home-like-a-pro" class="hyperlink-style-1">Read</a>
634          </div>
635        </div>
636      </div>
637      <div class="layout-col">
638        <div class="item-card">
639          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;
6391280/https://media-production.lp-cdn.com/media/cd488e32-929f-4f50-ab8e-ff55e2d625c4')"></div>
640          <h4>The Home Seller’s Checklist: Everything You Need to Do Before Listing</h4>
641            <p class="date">
642              July 24, 2026
643            </p>
644          <p class="sub-title">
645            Your Complete Home Selling Checklist for a Successful Raleigh Listing.
646          </p>
647          <div class="read-wrapper">
648            <a href="/blogs/the-home-sellers-checklist-everything-you-need-to-do-before-listing" class="hyperlink-style-1">Read</a>
649          </div>
650        </div>
651      </div>
652      <div class="layout-col">
653        <div class="item-card">
654          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/ebba755f-6231-4b43-ae3c-654997aae0b0')"></div>
655          <h4>The Role of a Real Estate Agent in Your Home-Buying Journey</h4>
656            <p class="date">
657              July 10, 2026
658            </p>
659          <p class="sub-title">
660            How the Role of a Real Estate Agent Helps Buyers Navigate the Raleigh Market.
661          </p>
662          <div class="read-wrapper">
663            <a href="/blogs/the-role-of-a-real-estate-agent-in-your-home-buying-journey" class="hyperlink-style-1">Read</a>
664          </div>
665        </div>
666      </div>
667      <div class="layout-col">
668        <div class="item-card">
669          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/80233fc3-ea09-46e4-bbdc-de94ab780f9c')"></div>
670          <h4>What You Need to Know About Home Appraisals</h4>
671            <p class="date">
672              July 1, 2026
673            </p>
674          <p class="sub-title">
675            Understanding Home Appraisals When Buying or Selling a Home in Raleigh.
676          </p>
677          <div class="read-wrapper">
678            <a href="/blogs/what-you-need-to-know-about-home-appraisals" class="hyperlink-style-1">Read</a>
679          </div>
680        </div>
681      </div>
682      <div class="layout-col">
683        <div class="item-card">
684          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/3c3b7fb5-0c11-4f91-ae13-d2e4c471c1df')"></div>
685          <h4>How to Strike the Right Balance When Decorating Your New Home</h4>
686            <p class="date">
687              June 18, 2026
688            </p>
689          <p class="sub-title">
690            Decorating Tips for New Home Design That Feels Elevated and Cohesive.
691          </p>
692          <div class="read-wrapper">
693            <a href="/blogs/how-to-strike-the-right-balance-when-decorating-your-new-home" class="hyperlink-style-1">Read</a>
694          </div>
695        </div>
696      </div>
697      <div class="layout-col">
698        <div class="item-card">
699          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/04e17338-ddee-4bfe-9f98-da001d270558')"></div>
700          <h4>Love Where You Live: What Makes Raleigh So Special</h4>
701            <p class="date">
702              June 4, 2026
703            </p>
704          <p class="sub-title">
705            Discover What Makes Raleigh Special for Luxury Living and Lifestyle.
706          </p>
707          <div class="read-wrapper">
708            <a href="/blogs/love-where-you-live-what-makes-raleigh-so-special" class="hyperlink-style-1">Read</a>
709          </div>
710        </div>
711      </div>
712      <div class="layout-col">
713        <div class="item-card">
714          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/7f74f7df-41c4-4883-88c2-8b0a85ad33e1')"></div>
715          <h4>The Secret to Selling Your Home Above Asking Price</h4>
716            <p class="date">
717              May 22, 2026
718            </p>
719          <p class="sub-title">
720            Sell Your Home Above Asking Price With the Right Strategy in Raleigh, North Carolina.
721          </p>
722          <div class="read-wrapper">
723            <a href="/blogs/the-secret-to-selling-your-home-above-asking-price" class="hyperlink-style-1">Read</a>
724          </div>
725        </div>
726      </div>
727      <div class="layout-col">
728        <div class="item-card">
729          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/70423ea9-8388-43bd-bd4b-2ce2b0f9857b')"></div>
730          <h4>How to Handle Multiple Offers on Your Home</h4>
731            <p class="date">
732              May 15, 2026
733            </p>
734          <p class="sub-title">
735            Smart Strategies for Handling Multiple Offers in Raleigh, NC.
736          </p>
737          <div class="read-wrapper">
738            <a href="/blogs/how-to-handle-multiple-offers-on-your-home" class="hyperlink-style-1">Read</a>
739          </div>
740        </div>
741      </div>
742      <div class="layout-col">
743        <div class="item-card">
744          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/357b1f49-3fd7-451e-a44d-b892fe6ab00c')"></div>
745          <h4>Selling in Raleigh? Smart Updates to Get Top-Dollar Offers</h4>
746            <p class="date">
747              May 6, 2026
748            </p>
749          <p class="sub-title">
750            Smart Home Updates Before Selling in Raleigh That Attract Top Buyers.
751          </p>
752          <div class="read-wrapper">
753            <a href="/blogs/selling-in-raleigh-smart-updates-to-get-top-dollar-offers" class="hyperlink-style-1">Read</a>
754          </div>
755        </div>
756      </div>
757      <div class="layout-col">
758        <div class="item-card">
759          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/fe0ba9fd-be42-493f-8675-82ed2bc9364d')"></div>
760          <h4>How to Get Pre-Approved for a Mortgage and Why It’s Essential</h4>
761            <p class="date">
762              May 1, 2026
763            </p>
764          <p class="sub-title">
765            Understanding the Mortgage Pre-Approval Process and How It Helps You Compete.
766          </p>
767          <div class="read-wrapper">
768            <a href="/blogs/how-to-get-pre-approved-for-a-mortgage-and-why-its-essential" class="hyperlink-style-1">Read</a>
769          </div>
770        </div>
771      </div>
772      <div class="layout-col">
773        <div class="item-card">
774          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/699e8b1c-4608-40e8-bf3a-e608a2b7a307')"></div>
775          <h4>How to Improve the Air Quality of Your Home</h4>
776            <p class="date">
777              April 14, 2026
778            </p>
779          <p class="sub-title">
780            Practical Ways To Improve Home Air Quality In Raleigh Homes.
781          </p>
782          <div class="read-wrapper">
783            <a href="/blogs/how-to-improve-the-air-quality-of-your-home" class="hyperlink-style-1">Read</a>
784          </div>
785        </div>
786      </div>
787      <div class="layout-col">
788        <div class="item-card">
789          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/1370cbea-7271-487b-81f2-cf2f6c868769')"></div>
790          <h4>Interior Design Tips for Maximizing Space</h4>
791            <p class="date">
792              April 1, 2026
793            </p>
794          <p class="sub-title">
795            Practical Interior Design for Small Spaces in Raleigh, NC Homes.
796          </p>
797          <div class="read-wrapper">
798            <a href="/blogs/interior-design-tips-for-maximizing-space" class="hyperlink-style-1">Read</a>
799          </div>
800        </div>
801      </div>
802      <div class="layout-col">
803        <div class="item-card">
804          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/eccb2c33-1d00-49c7-a92f-7a88c269f0a1')"></div>
805          <h4>Homebuyer FAQs: Answering the Questions You Didn’t Know to Ask</h4>
806            <p class="date">
807              March 18, 2026
808            </p>
809          <p class="sub-title">
810            A Raleigh Buyer’s Guide to the Top Homebuyer Questions.
811          </p>
812          <div class="read-wrapper">
813            <a href="/blogs/homebuyer-faqs-answering-the-questions-you-didnt-know-to-ask" class="hyperlink-style-1">Read</a>
814          </div>
815        </div>
816      </div>
817      <div class="layout-col">
818        <div class="item-card">
819          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/3daa2305-08c2-4b61-869d-0a2d0c62ab4b')"></div>
820          <h4>The Role of Emotions in Buying and Selling a Home</h4>
821            <p class="date">
822              March 4, 2026
823            </p>
824          <p class="sub-title">
825            Understanding the Emotional Journey of Buying and Selling a Home.
826          </p>
827          <div class="read-wrapper">
828            <a href="/blogs/the-role-of-emotions-in-buying-and-selling-a-home" class="hyperlink-style-1">Read</a>
829          </div>
830        </div>
831      </div>
832      <div class="layout-col">
833        <div class="item-card">
834          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/38e8e83f-39f6-43d6-b008-79fac6256b0a')"></div>
835          <h4>How to Make a Winning Offer in a Competitive Market</h4>
836            <p class="date">
837              January 27, 2026
838            </p>
839          <p class="sub-title">
840            Smart Buyer Strategies for How to Make a Winning Offer in Raleigh, NC.
841          </p>
842          <div class="read-wrapper">
843            <a href="/blogs/how-to-make-a-winning-offer-in-a-competitive-market" class="hyperlink-style-1">Read</a>
844          </div>
845        </div>
846      </div>
847      <div class="layout-col">
848        <div class="item-card">
849          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/1b8fd4b9-43a5-43c6-bf5f-abd97aaa4c5b')"></div>
850          <h4>How to Determine Your Home’s Market Value</h4>
851            <p class="date">
852              January 14, 2026
853            </p>
854          <p class="sub-title">
855            Expert Guide to Home Valuation Methods in Raleigh, NC.
856          </p>
857          <div class="read-wrapper">
858            <a href="/blogs/how-to-determine-your-homes-market-value" class="hyperlink-style-1">Read</a>
859          </div>
860        </div>
861      </div>
862      <div class="layout-col">
863        <div class="item-card">
864          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/a4c2a418-8431-4bc2-9282-441edd686131')"></div>
865          <h4>Timeless Design Tips for Your Raleigh Home</h4>
866            <p class="date">
867              January 4, 2026
868            </p>
869          <p class="sub-title">
870            Classic Style, Lasting Impact: How to Create a Home That Never Goes Out of Fashion.
871          </p>
872          <div class="read-wrapper">
873            <a href="/blogs/timeless-design-tips-for-your-raleigh-home" class="hyperlink-style-1">Read</a>
874          </div>
875        </div>
876      </div>
877      <div class="layout-col">
878        <div class="item-card">
879          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/d1502562-c594-4af5-ada2-8287e9600905')"></div>
880          <h4>How to Use Lighting to Transform Your Living Space</h4>
881            <p class="date">
882              December 30, 2025
883            </p>
884          <p class="sub-title">
885            Illuminate with Purpose: Easy and Stylish Home Lighting Tips for Every Room.
886          </p>
887          <div class="read-wrapper">
888            <a href="/blogs/how-to-use-lighting-to-transform-your-living-space" class="hyperlink-style-1">Read</a>
889          </div>
890        </div>
891      </div>
892      <div class="layout-col">
893        <div class="item-card">
894          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/f1536c46-1057-4999-9184-40187812db9f')"></div>
895          <h4>How to Turn Your Raleigh Home into a Buyer’s Dream</h4>
896            <p class="date">
897              December 15, 2025
898            </p>
899          <p class="sub-title">
900            Simple Ways to Make Your Raleigh Property Irresistible.
901          </p>
902          <div class="read-wrapper">
903            <a href="/blogs/how-to-turn-your-raleigh-home-into-a-buyers-dream" class="hyperlink-style-1">Read</a>
904          </div>
905        </div>
906      </div>
907      <div class="layout-col">
908        <div class="item-card">
909          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/a0a3b877-dffa-461e-a846-80cc5091dc4b')"></div>
910          <h4>Why Modern Cottage Design is Trending</h4>
911            <p class="date">
912              November 21, 2025
913            </p>
914          <p class="sub-title">
915            A Fresh Take on Nostalgia: How Cottage Style Got a Contemporary Makeover.
916          </p>
917          <div class="read-wrapper">
918            <a href="/blogs/why-modern-cottage-design-is-trending" class="hyperlink-style-1">Read</a>
919          </div>
920        </div>
921      </div>
922      <div class="layout-col">
923        <div class="item-card">
924          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/3ed314dc-4bd5-4145-af6d-977a7bf92e53')"></div>
925          <h4>Everything You Need to Know About Getting Your Home Inspected Before Selling</h4>
926            <p class="date">
927              November 3, 2025
928            </p>
929          <p class="sub-title">
930            Understanding the Importance of Pre-Sale Home Inspections.
931          </p>
932          <div class="read-wrapper">
933            <a href="/blogs/everything-you-need-to-know-about-getting-your-home-inspected-before-selling" class="hyperlink-style-1">Read</a>
934          </div>
935        </div>
936      </div>
937      <div class="layout-col">
938        <div class="item-card">
939          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/0fc4c9db-9621-4866-9392-2a5070c4a0b0')"></div>
940          <h4>Luxury Home Design Trends for 2025</h4>
941            <p class="date">
942              October 31, 2025
943            </p>
944          <p class="sub-title">
945            Innovative Living Spaces Shaping the Future of High-End Homes.
946          </p>
947          <div class="read-wrapper">
948            <a href="/blogs/luxury-home-design-trends-for-2025" class="hyperlink-style-1">Read</a>
949          </div>
950        </div>
951      </div>
952      <div class="layout-col">
953        <div class="item-card">
954          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/4d2908ea-6791-4d3f-8543-12f00931ba4c')"></div>
955          <h4>Most Googled Questions about Real Estate in 2025</h4>
956            <p class="date">
957              September 30, 2025
958            </p>
959          <p class="sub-title">
960            Why people are searching—and what they really want to know.
961          </p>
962          <div class="read-wrapper">
963            <a href="/blogs/most-googled-questions-about-real-estate-in-2025" class="hyperlink-style-1">Read</a>
964          </div>
965        </div>
966      </div>
967      <div class="layout-col">
968        <div class="item-card">
969          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/bdfb98b6-7002-4d4f-bed6-3e28199451c3')"></div>
970          <h4>How to Find a Real Estate Agent</h4>
971            <p class="date">
972              August 15, 2025
973            </p>
974          <p class="sub-title">
975            Your Guide to Confident Home Buying in North Carolina.
976          </p>
977          <div class="read-wrapper">
978            <a href="/blogs/how-to-find-a-real-estate-agent" class="hyperlink-style-1">Read</a>
979          </div>
980        </div>
981      </div>
982      <div class="layout-col">
983        <div class="item-card">
984          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/719d9ea4-2471-42f6-99ae-b107737b910c')"></div>
985          <h4>How to Buy a Luxury Home</h4>
986            <p class="date">
987              July 24, 2025
988            </p>
989          <p class="sub-title">
990            A Clear Path to Elevated Living in North Carolina.
991          </p>
992          <div class="read-wrapper">
993            <a href="/blogs/how-to-buy-a-luxury-home" class="hyperlink-style-1">Read</a>
994          </div>
995        </div>
996      </div>
997      <div class="layout-col">
998        <div class="item-card">
999          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/b4257e6c-837f-4493-a557-bc5059f5a38a')"></div>
1000          <h4>Top Home Remodeling Tips in Raleigh, NC</h4>
1001            <p class="date">
1002              July 1, 2025
1003            </p>
1004          <p class="sub-title">
1005            Enhance Your Home’s Value and Comfort with Smart Renovation Strategies.
1006          </p>
1007          <div class="read-wrapper">
1008            <a href="/blogs/top-home-remodeling-tips-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1009          </div>
1010        </div>
1011      </div>
1012      <div class="layout-col">
1013        <div class="item-card">
1014          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/c7e79189-dba4-4c54-8544-a42660b89e23')"></div>
1015          <h4>Things You Might Not Know About Raleigh, NC</h4>
1016            <p class="date">
1017              June 15, 2025
1018            </p>
1019          <p class="sub-title">
1020            Uncovering the Surprising Facts and Hidden Gems of the City of Oaks.
1021          </p>
1022          <div class="read-wrapper">
1023            <a href="/blogs/things-you-might-not-know-about-raleigh-nc-1" class="hyperlink-style-1">Read</a>
1024          </div>
1025        </div>
1026      </div>
1027      <div class="layout-col">
1028        <div class="item-card">
1029          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/e89892eb-6716-4f04-97c3-5e0fad27ac63')"></div>
1030          <h4>Hops &amp; Hometown Flavor: Exploring Raleigh’s Top Craft Breweries</h4>
1031            <p class="date">
1032              June 1, 2025
1033            </p>
1034          <p class="sub-title">
1035            Sip Your Way Through the City’s Best Local Brews.
1036          </p>
1037          <div class="read-wrapper">
1038            <a href="/blogs/hops-and-hometown-flavor-exploring-raleighs-top-craft-breweries" class="hyperlink-style-1">Read</a>
1039          </div>
1040        </div>
1041      </div>
1042      <div class="layout-col">
1043        <div class="item-card">
1044          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/c32480ce-25b8-4c84-b8d1-099d7dc041da')"></div>
1045          <h4>Raleigh, NC, Through the Seasons: Home Maintenance Tips</h4>
1046            <p class="date">
1047              May 15, 2025
1048            </p>
1049          <p class="sub-title">
1050            Essential tips for keeping your home in top condition year-round in Raleigh, NC.
1051          </p>
1052          <div class="read-wrapper">
1053            <a href="/blogs/raleigh-nc-through-the-seasons-home-maintenance-tips" class="hyperlink-style-1">Read</a>
1054          </div>
1055        </div>
1056      </div>
1057      <div class="layout-col">
1058        <div class="item-card">
1059          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/228cc9c4-1564-4b4a-aac5-3577c05c9761')"></div>
1060          <h4>Raleigh’s Standout Perks &amp; Hidden Gems</h4>
1061            <p class="date">
1062              May 1, 2025
1063            </p>
1064          <p class="sub-title">
1065            Discover the very best of Raleigh, and see why so many love calling this city home.
1066          </p>
1067          <div class="read-wrapper">
1068            <a href="/blogs/raleighs-standout-perks-and-hidden-gems" class="hyperlink-style-1">Read</a>
1069          </div>
1070        </div>
1071      </div>
1072      <div class="layout-col">
1073        <div class="item-card">
1074          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/40eba56c-ee6d-4ece-8ac6-3b253d0e5d8f')"></div>
1075          <h4>Living in Raleigh, NC</h4>
1076            <p class="date">
1077              April 16, 2025
1078            </p>
1079          <p class="sub-title">
1080            Discover the Benefits of Calling Raleigh Home.
1081          </p>
1082          <div class="read-wrapper">
1083            <a href="/blogs/living-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1084          </div>
1085        </div>
1086      </div>
1087      <div class="layout-col">
1088        <div class="item-card">
1089          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/bd1c5122-069f-4518-aa79-65a067fbbc98')"></div>
1090          <h4>Hiking in Raleigh, NC</h4>
1091            <p class="date">
1092              February 1, 2025
1093            </p>
1094          <p class="sub-title">
1095            Exploring Scenic Trails in the City of Oaks.
1096          </p>
1097          <div class="read-wrapper">
1098            <a href="/blogs/hiking-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1099          </div>
1100        </div>
1101      </div>
1102      <div class="layout-col">
1103        <div class="item-card">
1104          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/6db9a1cb-dd92-4ba4-8d6d-0e7a673383a8')"></div>
1105          <h4>12 Best Restaurants in Raleigh NC</h4>
1106            <p class="date">
1107              January 2, 2025
1108            </p>
1109          <p class="sub-title">
1110            Get your fix at these standout restaurants in Raleigh.
1111          </p>
1112          <div class="read-wrapper">
1113            <a href="/blogs/12-best-restaurants-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1114          </div>
1115        </div>
1116      </div>
1117      <div class="layout-col">
1118        <div class="item-card">
1119          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/j57a88hej8tkdbt2jnxv8eoj')"></div>
1120          <h4>Everything You Need to Know About Moving to Raleigh, NC</h4>
1121            <p class="date">
1122              October 30, 2024
1123            </p>
1124          <p class="sub-title">
1125            A guide to help you explore life in Raleigh, NC, and make your move easier.
1126          </p>
1127          <div class="read-wrapper">
1128            <a href="/blogs/everything-you-need-to-know-about-moving-to-raleigh-nc" class="hyperlink-style-1">Read</a>
1129          </div>
1130        </div>
1131      </div>
1132      <div class="layout-col">
1133        <div class="item-card">
1134          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/tipjwyjj94d3rg49ytsyz6tw')"></div>
1135          <h4>Ultimate Guide to Selling Your House in Raleigh, NC</h4>
1136            <p class="date">
1137              October 30, 2024
1138            </p>
1139          <p class="sub-title">
1140            Navigating the Raleigh Real Estate Market with Confidence.
1141          </p>
1142          <div class="read-wrapper">
1143            <a href="/blogs/ultimate-guide-to-selling-your-house-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1144          </div>
1145        </div>
1146      </div>
1147      <div class="layout-col">
1148        <div class="item-card">
1149          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/uqlkeab3x92eu0qtngoxmvy0')"></div>
1150          <h4>Buying a Home in Raleigh, NC</h4>
1151            <p class="date">
1152              October 30, 2024
1153            </p>
1154          <p class="sub-title">
1155            Your Guide to Finding the Perfect Home in Raleigh.
1156          </p>
1157          <div class="read-wrapper">
1158            <a href="/blogs/buying-a-home-in-raleigh-nc" class="hyperlink-style-1">Read</a>
1159          </div>
1160        </div>
1161      </div>
1162      <div class="layout-col">
1163        <div class="item-card">
1164          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/sco5fw73gsf0gi8ds4law12p')"></div>
1165          <h4>How to Spot Up-and-Coming Neighborhoods Before They Boom</h4>
1166            <p class="date">
1167              August 22, 2024
1168            </p>
1169          <p class="sub-title">
1170            Here’s a comprehensive guide to spotting these hidden gems before they boom.
1171          </p>
1172          <div class="read-wrapper">
1173            <a href="/blogs/spot-up-and-coming-neighborhoods" class="hyperlink-style-1">Read</a>
1174          </div>
1175        </div>
1176      </div>
1177      <div class="layout-col">
1178        <div class="item-card">
1179          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/fe64hbmi3ws87o2z6zbbk0ln')"></div>
1180          <h4>Renovate or Relocate? What to Consider Before You Decide</h4>
1181            <p class="date">
1182              August 11, 2024
1183            </p>
1184          <p class="sub-title">
1185            To help you make an informed choice, let&#x27;s explore the key factors you should consider.
1186          </p>
1187          <div class="read-wrapper">
1188            <a href="/blogs/what-to-consider-before-you-decide" class="hyperlink-style-1">Read</a>
1189          </div>
1190        </div>
1191      </div>
1192      <div class="layout-col">
1193        <div class="item-card">
1194          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;
11941280/https://media-production.lp-cdn.com/media/fw8lmgr3wl64rjq7jf17od8h')"></div>
1195          <h4>6 Signs A Home Might Be &quot;The One&quot;</h4>
1196            <p class="date">
1197              July 29, 2024
1198            </p>
1199          <p class="sub-title">
1200            It&#x27;s fine to make a conscious decision that the pros of a place outweigh its cons.
1201          </p>
1202          <div class="read-wrapper">
1203            <a href="/blogs/6-signs-a-home-might-be-the-one" class="hyperlink-style-1">Read</a>
1204          </div>
1205        </div>
1206      </div>
1207      <div class="layout-col">
1208        <div class="item-card">
1209          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/y8lpzv4836tgcbxgtzw9w8yn')"></div>
1210          <h4>The 5 Top Home Buyer Turn-Offs of 2018</h4>
1211            <p class="date">
1212              July 29, 2024
1213            </p>
1214          <p class="sub-title">
1215            You can&#x27;t turn a rancher into a Victorian – so don&#x27;t bother trying.
1216          </p>
1217          <div class="read-wrapper">
1218            <a href="/blogs/the-5-top-home-buyer-turn-offs-of-2018" class="hyperlink-style-1">Read</a>
1219          </div>
1220        </div>
1221      </div>
1222      <div class="layout-col">
1223        <div class="item-card">
1224          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/e66dtr3993av6whz26ot2htr')"></div>
1225          <h4>5 Secret Sources of Down Payment Money</h4>
1226            <p class="date">
1227              July 29, 2024
1228            </p>
1229          <p class="sub-title">
1230            Don&#x27;t underestimate the amount of cash you can bring in from the things you already own.
1231          </p>
1232          <div class="read-wrapper">
1233            <a href="/blogs/5-secret-sources-of-down-payment-money" class="hyperlink-style-1">Read</a>
1234          </div>
1235        </div>
1236      </div>
1237      <div class="layout-col">
1238        <div class="item-card">
1239          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/di7djabr78kwyyj3av36mzal')"></div>
1240          <h4>The Right (And Wrong) Way To Host &amp; Attend Open Houses</h4>
1241            <p class="date">
1242              July 26, 2024
1243            </p>
1244          <p class="sub-title">
1245            We took a few stories from Andrew Dorn to show you the right (and wrong) way to host and attend open houses.
1246          </p>
1247          <div class="read-wrapper">
1248            <a href="/blogs/way-to-host-and-attend-open-houses" class="hyperlink-style-1">Read</a>
1249          </div>
1250        </div>
1251      </div>
1252      <div class="layout-col">
1253        <div class="item-card">
1254          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/h1cqr6rplppyzqwkfgkpy5yu')"></div>
1255          <h4>How Long You Should Live In Your Home Before You Sell It</h4>
1256            <p class="date">
1257              July 26, 2024
1258            </p>
1259          <p class="sub-title">
1260            Before you make any rash decisions, we put together a few of the most important factors that you should be aware of.
1261          </p>
1262          <div class="read-wrapper">
1263            <a href="/blogs/live-in-your-home-before-you-sell-it" class="hyperlink-style-1">Read</a>
1264          </div>
1265        </div>
1266      </div>
1267      <div class="layout-col">
1268        <div class="item-card">
1269          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/jtszdm9o7vandzsp33rq0pu5')"></div>
1270          <h4>The Best Places To See The Holiday Lights in North America</h4>
1271            <p class="date">
1272              July 26, 2024
1273            </p>
1274          <p class="sub-title">
1275            We love seeing all of the gorgeous lights and decorations all over North America.
1276          </p>
1277          <div class="read-wrapper">
1278            <a href="/blogs/best-places-to-see-the-holiday-lights" class="hyperlink-style-1">Read</a>
1279          </div>
1280        </div>
1281      </div>
1282      <div class="layout-col">
1283        <div class="item-card">
1284          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/ii72cx216vmg0nraf92v13k6')"></div>
1285          <h4>Pros &amp; Cons of Listing Your Home in the Winter</h4>
1286            <p class="date">
1287              July 26, 2024
1288            </p>
1289          <p class="sub-title">
1290            Despite the cold temps and occasional snow, winter is a great time to sell your home in the Triangle! Or is it?
1291          </p>
1292          <div class="read-wrapper">
1293            <a href="/blogs/listing-your-home-in-the-winter" class="hyperlink-style-1">Read</a>
1294          </div>
1295        </div>
1296      </div>
1297      <div class="layout-col">
1298        <div class="item-card">
1299          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/olaq2vfaa1r8yzsazkb308hb')"></div>
1300          <h4>The Pros and Cons of Buying a Foreclosed Home</h4>
1301            <p class="date">
1302              July 26, 2024
1303            </p>
1304          <p class="sub-title">
1305            Buying a foreclosed home can be an excellent way to get a great deal, but it’s not without risks.
1306          </p>
1307          <div class="read-wrapper">
1308            <a href="/blogs/buying-a-foreclosed-home" class="hyperlink-style-1">Read</a>
1309          </div>
1310        </div>
1311      </div>
1312      <div class="layout-col">
1313        <div class="item-card">
1314          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/lcyrlx78uqwmiezj5mn9f6wm')"></div>
1315          <h4>How to Price Your Home Without Leaving Money on the Table</h4>
1316            <p class="date">
1317              July 25, 2024
1318            </p>
1319          <p class="sub-title">
1320            If you want to sell your home in the coming months, you&#x27;ll be wondering about pricing your home correctly.
1321          </p>
1322          <div class="read-wrapper">
1323            <a href="/blogs/price-your-home-without-leaving-money" class="hyperlink-style-1">Read</a>
1324          </div>
1325        </div>
1326      </div>
1327      <div class="layout-col">
1328        <div class="item-card">
1329          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/oybb8su7n8zi2fyytu5dvco1')"></div>
1330          <h4>How Pumpkin Spice Lattes and Home Values Are Connected</h4>
1331            <p class="date">
1332              July 24, 2024
1333            </p>
1334          <p class="sub-title">
1335            For home buyers, buying a home that’s close to a Starbucks actually could be very important.
1336          </p>
1337          <div class="read-wrapper">
1338            <a href="/blogs/pumpkin-spice-lattes-and-home-values" class="hyperlink-style-1">Read</a>
1339          </div>
1340        </div>
1341      </div>
1342      <div class="layout-col">
1343        <div class="item-card">
1344          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;
13441280/https://media-production.lp-cdn.com/media/ra5b1vprai3xlol1adidf3j4')"></div>
1345          <h4>Are Buyers In the Driver’s Seat Again? And What That Could Mean For You</h4>
1346            <p class="date">
1347              July 24, 2024
1348            </p>
1349          <p class="sub-title">
1350            We&#x27;d love to help you decide if now is the time to begin the home buying process.
1351          </p>
1352          <div class="read-wrapper">
1353            <a href="/blogs/are-buyers-in-the-drivers-seat-again" class="hyperlink-style-1">Read</a>
1354          </div>
1355        </div>
1356      </div>
1357      <div class="layout-col">
1358        <div class="item-card">
1359          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/f73hl0pl6t9cy8pt03ca9rat')"></div>
1360          <h4>How Has the Market Shift Impacted Your Home’s Value?</h4>
1361            <p class="date">
1362              July 24, 2024
1363            </p>
1364          <p class="sub-title">
1365            Dive into what&#x27;s really happening to U.S. real estate beyond the sensationalist headlines.
1366          </p>
1367          <div class="read-wrapper">
1368            <a href="/blogs/how-market-shift-impacted-your-home" class="hyperlink-style-1">Read</a>
1369          </div>
1370        </div>
1371      </div>
1372      <div class="layout-col">
1373        <div class="item-card">
1374          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/nqd1e40uosxwiain1xfs03rp')"></div>
1375          <h4>Price Cuts Are on the Rise. Sell Your Home for Top Dollar With These 7 Tips</h4>
1376            <p class="date">
1377              July 24, 2024
1378            </p>
1379          <p class="sub-title">
1380            Here are seven proven tips to help you get top dollar for your home.
1381          </p>
1382          <div class="read-wrapper">
1383            <a href="/blogs/sell-your-home-for-top-dollar" class="hyperlink-style-1">Read</a>
1384          </div>
1385        </div>
1386      </div>
1387      <div class="layout-col">
1388        <div class="item-card">
1389          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/w5sb6vyuzwct8wg5qtoy8adz')"></div>
1390          <h4>DIY Home Decor Trends for the New Year (Including 2023 Colors of the Year!)</h4>
1391            <p class="date">
1392              July 24, 2024
1393            </p>
1394          <p class="sub-title">
1395            Trendy home design can go a long way toward making your property irresistible to buyers in 2023.
1396          </p>
1397          <div class="read-wrapper">
1398            <a href="/blogs/diy-home-decor-trends-for-the-new-year" class="hyperlink-style-1">Read</a>
1399          </div>
1400        </div>
1401      </div>
1402      <div class="layout-col">
1403        <div class="item-card">
1404          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/x0vgmccwkbrpilziz85eppx7')"></div>
1405          <h4>5 New Year’s Resolutions for First-Time Homebuyers</h4>
1406            <p class="date">
1407              July 24, 2024
1408            </p>
1409          <p class="sub-title">
1410            If your 2023 goals include buying a home for the first time, we suggest you make the following 5 resolutions.
1411          </p>
1412          <div class="read-wrapper">
1413            <a href="/blogs/new-years-resolutions-for-homebuyers" class="hyperlink-style-1">Read</a>
1414          </div>
1415        </div>
1416      </div>
1417      <div class="layout-col">
1418        <div class="item-card">
1419          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/uhv4fdnl13zsi88vpibx1n0d')"></div>
1420          <h4>Never Leave Money on the Table: Get a Lower Mortgage Rate</h4>
1421            <p class="date">
1422              July 23, 2024
1423            </p>
1424          <p class="sub-title">
1425            As interest rates rise, lenders are forced to increase their own mortgage rates to protect their profits.
1426          </p>
1427          <div class="read-wrapper">
1428            <a href="/blogs/get-a-lower-mortgage-rate" class="hyperlink-style-1">Read</a>
1429          </div>
1430        </div>
1431      </div>
1432      <div class="layout-col">
1433        <div class="item-card">
1434          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/uv0h3kh1qrx0d8sid8wylexe')"></div>
1435          <h4>What Would a Recession Mean for Real Estate in 2023?</h4>
1436            <p class="date">
1437              July 23, 2024
1438            </p>
1439          <p class="sub-title">
1440            Where is the economy headed in 2023? Here are opinions from top economic experts.
1441          </p>
1442          <div class="read-wrapper">
1443            <a href="/blogs/recession-for-real-estate-in-2023" class="hyperlink-style-1">Read</a>
1444          </div>
1445        </div>
1446      </div>
1447      <div class="layout-col">
1448        <div class="item-card">
1449          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/mst5xixmg1p2kxl7c2avf80e')"></div>
1450          <h4>May is the Best Month to Sell a Home</h4>
1451            <p class="date">
1452              July 23, 2024
1453            </p>
1454          <p class="sub-title">
1455            A greater number of buyers in the market makes it easier for your property to find its perfect match.
1456          </p>
1457          <div class="read-wrapper">
1458            <a href="/blogs/may-is-the-best-month-to-sell-a-home" class="hyperlink-style-1">Read</a>
1459          </div>
1460        </div>
1461      </div>
1462      <div class="layout-col">
1463        <div class="item-card">
1464          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/j8dn2cdmn1o4xjtb0frxnd5x')"></div>
1465          <h4>May 2023 Triangle Market Update</h4>
1466            <p class="date">
1467              July 23, 2024
1468            </p>
1469          <p class="sub-title">
1470            Our May 2023 market report showcases everything you need to know about local real estate trends.
1471          </p>
1472          <div class="read-wrapper">
1473            <a href="/blogs/may-2023-triangle-market-update" class="hyperlink-style-1">Read</a>
1474          </div>
1475        </div>
1476      </div>
1477      <div class="layout-col">
1478        <div class="item-card">
1479          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/g43qik7uy1uyt4cgmaiwfhlr')"></div>
1480          <h4>Mid-Year Home Price Predictions From the Experts</h4>
1481            <p class="date">
1482              July 23, 2024
1483            </p>
1484          <p class="sub-title">
1485            Although demand is lukewarm, it’s still greater than the supply of available houses.
1486          </p>
1487          <div class="read-wrapper">
1488            <a href="/blogs/mid-year-home-price-predictions" class="hyperlink-style-1">Read</a>
1489          </div>
1490        </div>
1491      </div>
1492      <div class="layout-col">
1493        <div class="item-card">
1494          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/y0ifbvdx8zjp3dih84pvuwmt')"></div>
1495          <h4>Thanksgiving Decor Tips to Match Your Home&#x27;s Signature Style</h4>
1496            <p class="date">
1497              July 22, 2024
1498            </p>
1499          <p class="sub-title">
1500            Take the Thanksgiving decor tips for a spin to make your home spectacular for the holiday.
1501          </p>
1502          <div class="read-wrapper">
1503            <a href="/blogs/thanksgiving-decor-tips" class="hyperlink-style-1">Read</a>
1504          </div>
1505        </div>
1506      </div>
1507      <div class="layout-col">
1508        <div class="item-card">
1509          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/qwsxeq8yvdsknd9z7531x8t4')"></div>
1510          <h4>3 Pro Home Pricing Strategies That Pay</h4>
1511            <p class="date">
1512              July 22, 2024
1513            </p>
1514          <p class="sub-title">
1515            We’ll delve into three proven pricing strategies that can make a significant difference in your home selling journey.
1516          </p>
1517          <div class="read-wrapper">
1518            <a href="/blogs/3-pro-home-pricing-strategies-that-pay" class="hyperlink-style-1">Read</a>
1519          </div>
1520        </div>
1521      </div>
1522      <div class="layout-col">
1523        <div class="item-card">
1524          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/wa5yf69ww954jncunxcn3c7g')"></div>
1525          <h4>First Time Home Seller? Avoid These Mistakes</h4>
1526            <p class="date">
1527              July 14, 2024
1528            </p>
1529          <p class="sub-title">
1530            We&#x27;ll explore some common pitfalls that first-time home sellers should avoid to ensure a smooth and successful sale.
1531          </p>
1532          <div class="read-wrapper">
1533            <a href="/blogs/first-time-home-seller-avoid-these" class="hyperlink-style-1">Read</a>
1534          </div>
1535        </div>
1536      </div>
1537      <div class="layout-col">
1538        <div class="item-card">
1539          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/cuurxar0v3s9fh7yxu1uiwpx')"></div>
1540          <h4>Vacation Home Investments: Is Summer the Right Time to Buy?</h4>
1541            <p class="date">
1542              June 27, 2024
1543            </p>
1544          <p class="sub-title">
1545            What are the pros and cons of buying a vacation home during the summer months? Let’s check it out.
1546          </p>
1547          <div class="read-wrapper">
1548            <a href="/blogs/is-summer-the-right-time-to-buy" class="hyperlink-style-1">Read</a>
1549          </div>
1550        </div>
1551      </div>
1552      <div class="layout-col">
1553        <div class="item-card">
1554          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/qaauwdenzabse9jpsvdk')"></div>
1555          <h4>The Pros and Cons of Buying a Home in June</h4>
1556            <p class="date">
1557              June 16, 2024
1558            </p>
1559          <p class="sub-title">
1560            Buying a home is a significant milestone filled with excitement and anticipation.
1561          </p>
1562          <div class="read-wrapper">
1563            <a href="/blogs/pros-and-cons-of-buying-a-home-in-june" class="hyperlink-style-1">Read</a>
1564          </div>
1565        </div>
1566      </div>
1567      <div class="layout-col">
1568        <div class="item-card">
1569          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/u4iwj2hkgbcnj08vmof83xyt')"></div>
1570          <h4>5 Sustainable Home Trends for Eco-Conscious Homeowners</h4>
1571            <p class="date">
1572              May 12, 2024
1573            </p>
1574          <p class="sub-title">
1575            How can sustainable home trends and updates significantly increase your property value?
1576          </p>
1577          <div class="read-wrapper">
1578            <a href="/blogs/5-sustainable-home-trends" class="hyperlink-style-1">Read</a>
1579          </div>
1580        </div>
1581      </div>
1582      <div class="layout-col">
1583        <div class="item-card">
1584          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/x8rcglgxaltwhw7b3tjevjfr')"></div>
1585          <h4>Adventure Awaits! Explore Homes Anytime, Anywhere with Virtual Tours</h4>
1586            <p class="date">
1587              April 28, 2024
1588            </p>
1589          <p class="sub-title">
1590            Embark on an adventure of a lifetime with virtual tours – the ultimate tool for modern home buyers.
1591          </p>
1592          <div class="read-wrapper">
1593            <a href="/blogs/explore-homes-with-virtual-tours" class="hyperlink-style-1">Read</a>
1594          </div>
1595        </div>
1596      </div>
1597      <div class="layout-col">
1598        <div class="item-card">
1599          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/feci3wthau885rgen4fiqaqu')"></div>
1600          <h4>Plant a Tree, Boost Your Home Value</h4>
1601            <p class="date">
1602              April 14, 2024
1603            </p>
1604          <p class="sub-title">
1605            Trees are a wise investment that will continue to yield returns for years to come.
1606          </p>
1607          <div class="read-wrapper">
1608            <a href="/blogs/plant-a-tree-boost-your-home-value" class="hyperlink-style-1">Read</a>
1609          </div>
1610        </div>
1611      </div>
1612      <div class="layout-col">
1613        <div class="item-card">
1614          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/smjkc8q27772w0d13miis522')"></div>
1615          <h4>The Spring Effect: How Seasonality Impacts Home Prices</h4>
1616            <p class="date">
1617              March 17, 2024
1618            </p>
1619          <p class="sub-title">
1620            As spring arrives, it brings not only blooming flowers and warmer weather, but also a shift in the real estate market.
1621          </p>
1622          <div class="read-wrapper">
1623            <a href="/blogs/how-seasonality-impacts-home-prices" class="hyperlink-style-1">Read</a>
1624          </div>
1625        </div>
1626      </div>
1627      <div class="layout-col">
1628        <div class="item-card">
1629          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/evr9tmgi2j6tna6b5suslnlj')"></div>
1630          <h4>Home Sellers: What is Virtual Staging and Does It Work?</h4>
1631            <p class="date">
1632              March 5, 2024
1633            </p>
1634          <p class="sub-title">
1635            Let&#x27;s delve into this pioneering solution and assess its potential impact on your home sale.
1636          </p>
1637          <div class="read-wrapper">
1638            <a href="/blogs/virtual-staging-and-does-it-work" class="hyperlink-style-1">Read</a>
1639          </div>
1640        </div>
1641      </div>
1642      <div class="layout-col">
1643        <div class="item-card">
1644          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/hho0lnc4loszb88csgcnd6th')"></div>
1645          <h4>Spring Cleaning Doesn&#x27;t Have to Be a Bummer</h4>
1646            <p class="date">
1647              February 20, 2024
1648            </p>
1649          <p class="sub-title">
1650            With the right approach, it can be a rewarding experience that leaves your home looking and feeling better than ever.
1651          </p>
1652   
1652       <div class="read-wrapper">
1653            <a href="/blogs/cleaning-doesnt-have-to-be-a-bummer" class="hyperlink-style-1">Read</a>
1654          </div>
1655        </div>
1656      </div>
1657      <div class="layout-col">
1658        <div class="item-card">
1659          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/hm0y9p7j0n1f8rmml0198guc')"></div>
1660          <h4>7 Real Estate Negotiation Tactics That Work</h4>
1661            <p class="date">
1662              February 4, 2024
1663            </p>
1664          <p class="sub-title">
1665            Effective negotiation tactics can make or break a home sale, even in a great situation.
1666          </p>
1667          <div class="read-wrapper">
1668            <a href="/blogs/real-estate-negotiation-tactics" class="hyperlink-style-1">Read</a>
1669          </div>
1670        </div>
1671      </div>
1672      <div class="layout-col">
1673        <div class="item-card">
1674          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/a7r1dwta2lirtdbislf3pg2f')"></div>
1675          <h4>Everything You Need to Know About Home Appraisals</h4>
1676            <p class="date">
1677              January 15, 2024
1678            </p>
1679          <p class="sub-title">
1680            Understanding the home appraisal process is essential for every home seller.
1681          </p>
1682          <div class="read-wrapper">
1683            <a href="/blogs/you-need-to-know-about-home-appraisals" class="hyperlink-style-1">Read</a>
1684          </div>
1685        </div>
1686      </div>
1687      <div class="layout-col">
1688        <div class="item-card">
1689          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/wc0dyxrxx75zf6gco3cnl0r7')"></div>
1690          <h4>Winter Home Selling Tips From the Pros</h4>
1691            <p class="date">
1692              January 1, 2024
1693            </p>
1694          <p class="sub-title">
1695            Here are some winter home selling tips from the pros to guide you through this season.
1696          </p>
1697          <div class="read-wrapper">
1698            <a href="/blogs/winter-home-selling-tips-from-the-pros" class="hyperlink-style-1">Read</a>
1699          </div>
1700        </div>
1701      </div>
1702      <div class="layout-col">
1703        <div class="item-card">
1704          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/peyv8iaska9v7j6mjiaqogd0')"></div>
1705          <h4>Innovative Financing Options for Affordable Housing</h4>
1706            <p class="date">
1707              December 17, 2023
1708            </p>
1709          <p class="sub-title">
1710            Creative approaches that can help bridge the gap and make affordable housing a reality for more people.
1711          </p>
1712          <div class="read-wrapper">
1713            <a href="/blogs/innovative-financing-options" class="hyperlink-style-1">Read</a>
1714          </div>
1715        </div>
1716      </div>
1717      <div class="layout-col">
1718        <div class="item-card">
1719          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/zopvehkue23h0kho92fx7d7g')"></div>
1720          <h4>Luxury Real Estate in 2024: What High-End Buyers Are Looking For</h4>
1721            <p class="date">
1722              December 3, 2023
1723            </p>
1724          <p class="sub-title">
1725            The future of luxury real estate promises to be as dynamic as it is opulent.
1726          </p>
1727          <div class="read-wrapper">
1728            <a href="/blogs/what-high-end-buyers-are-looking-for" class="hyperlink-style-1">Read</a>
1729          </div>
1730        </div>
1731      </div>
1732      <div class="layout-col">
1733        <div class="item-card">
1734          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/uzamfg51oaspwgu6on9a0c02')"></div>
1735          <h4>The Housing Market is Split. Here’s Why.</h4>
1736            <p class="date">
1737              October 29, 2023
1738            </p>
1739          <p class="sub-title">
1740            If you’ve had any confusion about the real estate market in the last year, you’re not alone.
1741          </p>
1742          <div class="read-wrapper">
1743            <a href="/blogs/the-housing-market-is-split" class="hyperlink-style-1">Read</a>
1744          </div>
1745        </div>
1746      </div>
1747      <div class="layout-col">
1748        <div class="item-card">
1749          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/h6eq5ikj47iyk462kuel6sx8')"></div>
1750          <h4>The Features That Sell a House in 2023</h4>
1751            <p class="date">
1752              October 15, 2023
1753            </p>
1754          <p class="sub-title">
1755            As years change and trends come and go with evolving lifestyles, buyer priorities also fluctuate.
1756          </p>
1757          <div class="read-wrapper">
1758            <a href="/blogs/the-features-that-sell-a-house-in-2023" class="hyperlink-style-1">Read</a>
1759          </div>
1760        </div>
1761      </div>
1762      <div class="layout-col">
1763        <div class="item-card">
1764          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/nqf33dry8lfhvkyz6ak6zb36')"></div>
1765          <h4>The Top 3 Things to Consider When Buying a Home</h4>
1766            <p class="date">
1767              October 1, 2023
1768            </p>
1769          <p class="sub-title">
1770            Simplifying is easy, and you can do it by prioritizing these top three considerations.
1771          </p>
1772          <div class="read-wrapper">
1773            <a href="/blogs/things-to-consider-when-buying-a-home" class="hyperlink-style-1">Read</a>
1774          </div>
1775        </div>
1776      </div>
1777      <div class="layout-col">
1778        <div class="item-card">
1779          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/l3il0k1qcul9zxo8ynfwr4au')"></div>
1780          <h4>10 Ways to Make Your Fall Open House Extra-Cozy</h4>
1781            <p class="date">
1782              September 17, 2023
1783            </p>
1784          <p class="sub-title">
1785            This autumn, use these 10 tips to make your fall open house extra-cozy and bring the offers rolling in.
1786          </p>
1787          <div class="read-wrapper">
1788            <a href="/blogs/make-your-fall-open-house-extra-cozy" class="hyperlink-style-1">Read</a>
1789          </div>
1790        </div>
1791      </div>
1792      <div class="layout-col">
1793        <div class="item-card">
1794          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/j76nwk7xsl10k47raezk4a62')"></div>
1795          <h4>Which Mortgage is Right for You?</h4>
1796            <p class="date">
1797              September 4, 2023
1798            </p>
1799          <p class="sub-title">
1800            By taking the time to choose the right mortgage, you can make the process a little bit easier.
1801          </p>
1802          <div class="read-wrapper">
1803            <a href="/blogs/which-mortgage-is-right-for-you" class="hyperlink-style-1">Read</a>
1804          </div>
1805        </div>
1806      </div>
1807      <div class="layout-col">
1808        <div class="item-card">
1809          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/y27ilrqm7gtnw9c0k9rf7qrn')"></div>
1810          <h4>Inflation is Slowing. What’s Next for Mortgage Rates?</h4>
1811            <p class="date">
1812              August 13, 2023
1813            </p>
1814          <p class="sub-title">
1815            Recent data supports that we’re headed in that direction—but industries have felt the force of higher interest rates.
1816          </p>
1817          <div class="read-wrapper">
1818            <a href="/blogs/whats-next-for-mortgage-rates" class="hyperlink-style-1">Read</a>
1819          </div>
1820        </div>
1821      </div>
1822      <div class="layout-col">
1823        <div class="item-card">
1824          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/ygk1k6cs6cs5ri22ad9eqyyq')"></div>
1825          <h4>Don’t Miss Your Chance to Move This Summer</h4>
1826            <p class="date">
1827              July 17, 2023
1828            </p>
1829          <p class="sub-title">
1830            Take advantage of the summer sun and quick home sales to get into a 
1830new home before the season is out.
1831          </p>
1832          <div class="read-wrapper">
1833            <a href="/blogs/dont-miss-your-chance-to-move" class="hyperlink-style-1">Read</a>
1834          </div>
1835        </div>
1836      </div>
1837      <div class="layout-col">
1838        <div class="item-card">
1839          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/bx69liijuf9vo8x47vjqecqs')"></div>
1840          <h4>New Construction vs. Existing Home: Which One is For You?</h4>
1841            <p class="date">
1842              June 20, 2023
1843            </p>
1844          <p class="sub-title">
1845            Prioritize which aspects are most important to you, and see which one matches up.
1846          </p>
1847          <div class="read-wrapper">
1848            <a href="/blogs/new-construction-vs-existing-home" class="hyperlink-style-1">Read</a>
1849          </div>
1850        </div>
1851      </div>
1852      <div class="layout-col">
1853        <div class="item-card">
1854          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/i3eol8ybxarny5c2yfhju4w4')"></div>
1855          <h4>Smart Home Technologies That Increase Home Value</h4>
1856            <p class="date">
1857              June 11, 2023
1858            </p>
1859          <p class="sub-title">
1860            These smart technologies can add thousands to your home’s value, and they’ll also improve your quality of life.
1861          </p>
1862          <div class="read-wrapper">
1863            <a href="/blogs/technologies-that-increase-home-value" class="hyperlink-style-1">Read</a>
1864          </div>
1865        </div>
1866      </div>
1867      <div class="layout-col">
1868        <div class="item-card">
1869          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/q60ep7r9p4jg4x2gxjkxpedp')"></div>
1870          <h4>Top 10 Real Estate Terms Sellers Should Know</h4>
1871            <p class="date">
1872              May 29, 2023
1873            </p>
1874          <p class="sub-title">
1875            Real estate terminology can be confusing—but it doesn’t have to be.
1876          </p>
1877          <div class="read-wrapper">
1878            <a href="/blogs/real-estate-terms-sellers-should-know" class="hyperlink-style-1">Read</a>
1879          </div>
1880        </div>
1881      </div>
1882      <div class="layout-col">
1883        <div class="item-card">
1884          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/eh5v5muxq41x6o39p2ar00zn')"></div>
1885          <h4>How to Navigate the Housing Affordability Crisis</h4>
1886            <p class="date">
1887              May 23, 2023
1888            </p>
1889          <p class="sub-title">
1890            Many factors play into how expensive it is to get housing, whether you’re renting or trying to buy your own home.
1891          </p>
1892          <div class="read-wrapper">
1893            <a href="/blogs/navigate-housing-affordability-crisis" class="hyperlink-style-1">Read</a>
1894          </div>
1895        </div>
1896      </div>
1897      <div class="layout-col">
1898        <div class="item-card">
1899          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/zd8v0k8dr5bhomlo6i501egp')"></div>
1900          <h4>Ask These 8 Questions Before Hiring a Real Estate Agent</h4>
1901            <p class="date">
1902              May 14, 2023
1903            </p>
1904          <p class="sub-title">
1905            They’ll make your transaction smoother and your life easier while getting you a great deal.
1906          </p>
1907          <div class="read-wrapper">
1908            <a href="/blogs/before-hiring-a-real-estate-agent" class="hyperlink-style-1">Read</a>
1909          </div>
1910        </div>
1911      </div>
1912      <div class="layout-col">
1913        <div class="item-card">
1914          <div class="img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1280/https://media-production.lp-cdn.com/media/uj8uz0oe097lmlayfat6aucc')"></div>
1915          <h4>First-Time Homebuyer? Do This, Not That</h4>
1916            <p class="date">
1917              April 24, 2023
1918            </p>
1919          <p class="sub-title">
1920            You’re likely to live in the home you buy for several years at least, so you want to make sure it’s the right one.
1921          </p>
1922          <div class="read-wrapper">
1923            <a href="/blogs/first-time-homebuyer-do-this" class="hyperlink-style-1">Read</a>
1924          </div>
1925        </div>
1926      </div>
1927    </div>
1928    <div class="pagination-container pagination-style-1"></div>  </div>
1929</div>
1930</section>
1931<section  class="image-section is-font-color-dark is-background-color-light" id="section-3527620a-4185-4671-963a-8f09a3e74222" data-el-id="a261202b-cc2b-4a7e-912a-a4b8ffe6ab1b">
1932<div class="redesign custom-content lp-vertical-paddings">
1933  <div class="lp-container lp-container--l">
1934    <div class="customWorkWithUs">
1935<div class="customTitle">
1936<div class="pretitle">
1937<h2 class="line">Work With Us</h2>
1938</div>
1939</div>
1940<div>
1941<p>We pride ourselves in providing personalized solutions that bring our clients closer to their dream properties and enhance their long-term wealth.</p>
1942<a class="lp-btn lp-btn--filled lp-btn--big lp-btn--mob-full-width button-style-1" role="button" href="../contact">Contact Us</a></div>
1943</div>
1944  </div>
1945</div>
1946</section>
1947
1948        <div id="modals" class="modals"></div>
1949        <footer id="global-footer" class="is-font-color-dark is-background-color-light" data-el-id="59f792e9-f6a7-4a58-a19e-0af13252d19b">
1950            <div class="wrapper">
1951  <div class="footer">
1952    <div class="footer-container">
1953      <div class="footer-col1  ">
1954        <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/fhragovk6rhb8mbastwr" 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 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/fhragovk6rhb8mbastwr 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fhragovk6rhb8mbastwr 1956w" sizes="200px" alt="Logo" class="footer-col1-logo">
1955
1956        <div class="footer-menu">
1957          <a  href="/team" class="footer-row-link">Meet the Team</a>
1958          <a  href="/properties/sale" class="footer-row-link">Featured Properties</a>
1959          <a  href="/home-search/listings" class="footer-row-link">Home Search</a>
1960          <a  href="/contact" class="footer-row-link">Contact Us</a>
1961        </div>
1962        <p class="footer-col1-text">
1963          
1964          <div id="ixzd"><p>Equal Housing Opportunity. This website is not the official website of The Corcoran Group or its affiliated companies, and neither The Corcoran Group nor its affiliated companies in any way warrant the accuracy of any information contained herein. Any property or services offered for sale on this website shall not be considered an offer to sell such goods or services in any state other New York.</p></div><img src="https://media-production.lp-cdn.com/media/b8339489-48a2-4e1e-9154-7946e2de2389"><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}#ixzd{padding:0px;}</style>
1965        </p>
1966        <div class="footer-col1-contacts">
1967          <div class="footer-col1-address">
1968            <div class="footer-col1-title">
1969              Address
1970            </div>
1971            <div>
1972              <div id="iubq"><p>911 N West St, Suite 203<br>​​​​​​​Raleigh NC 27603</p></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style>
1973            </div>
1974          </div>
1975          <div class="footer-col1-contact">
1976            <div class="footer-col1-title">
1977              Contact
1978            </div>
1979            <div>
1980              Email: <a href="/cdn-cgi/l/email-protection#a2cbccc4cde2c6d0c7c4cbd0cf8cc1cdcf" class="hyperlink-style-1"><span class="__cf_email__" data-cfemail="6b02050d042b0f190e0d02190645080406">[email&#160;protected]</span></a>
1981            </div>
1982            <div>
1983              Phone: <a href="tel:(919) 669-7993" class="hyperlink-style-1"> (919) 669-7993</a>
1984            </div>
1985          </div>
1986        </div>
1987
1988
1989      </div>
1990
1991      <div class="footer-col2">
1992        <div class="mobile">
1993        </div>
1994        <h2 class="footer-col2-title">
1995          Subscribe to our Newsletter
1996        </h2>
1997
1998        <p class="footer-col2-text">
1999          Subscribe to our Newsletter for latest news and updates. Stay tuned!
2000        </p>
2001
2002        <form data-type="contact-form">
2003          <div class="form-group h-pot">
2004            <label for="-fmiddleName">Middle Name</label>
2005            <input id="-fmiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
2006          </div>
2007          <input
2008          class="footer-col2-input-text"
2009          type="text"
2010          name="email"
2011          placeholder="Email Address"
2012          required
2013          />
2014          <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
2015  <label class='lp-tcr-content'>
2016    <span class='lp-tcr-checkbox'>
2017      <input
2018        type='checkbox'
2019        id='-termsAccepted'
2020        name='termsAccepted'
2021        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
2022        oninput="this.setCustomValidity('')"
2023        required
2024      /></span>
2025    <span class='lp-tcr-message'>
2026      
2027        I agree to be contacted by
2028        Corcoran DeRonja Real Estate
2029        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
2030        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
2031        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
2032    </span>
2033  </label>
2034
2035</div>
2036          <input
2037          class="footer-col2-input-submit button-style-1"
2038          type="submit"
2039          value="Subscribe"
2040          />
2041          <p class="success hide">
2042            Sent!
2043          </p>
2044        </form>
2045
2046      </div>
2047    </div>
2048
2049    <div class="footer-socialbar ">
2050      <div class="desktop">
2051      </div>
2052      <div class="footer-socialbar-content">
2053        <p class="footer-socialbar-text">
2054          Social
2055        </p>
2056        <ul class="lp-socials social_icons-style-1">
2057        
2058                <li>
2059                  <a
2060                    href="https://www.instagram.com/corcoranderonja/"
2061                    class="lp-socials__link footer-socialbar-link"
2062                    data-wow-delay="0s"
2063                    target="_blank"
2064                    aria-label="INSTAGRAM"
2065                  >
2066                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
2067                  </a>
2068                </li>
2069                <li>
2070                  <a
2071                    href="https://www.facebook.com/drefirm"
2072                    class="lp-socials__link footer-socialbar-link"
2073                    data-wow-delay="0.1s"
2074                    target="_blank"
2075                    aria-label="FACEBOOK"
2076                  >
2077                      <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
2078                  </a>
2079                </li>
2080                <li>
2081                  <a
2082                    href="https://www.tiktok.com/@corcoranderonja"
2083                    class="lp-socials__link footer-socialbar-link"
2084                    data-wow-delay="0.2s"
2085                    target="_blank"
2086                    aria-label="TIKTOK"
2087                  >
2088                      <span class="lp-i lp-i--tiktok" aria-hidden="true"></span>
2089                  </a>
2090                </li>
2091                <li>
2092                  <a
2093                    href="https://www.linkedin.com/company/deronja-real-estate/"
2094                    class="lp-socials__link footer-socialbar-link"
2095                    data-wow-delay="0.3s"
2096                    target="_blank"
2097                    aria-label="LINKEDIN"
2098                  >
2099                      <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
2100                  </a>
2101                </li>
2102                <li>
2103                  <a
2104                    href="https://www.zillow.com/profile/DeRonjaRealEstate"
2105                    class="lp-socials__link footer-socialbar-link"
2106                    data-wow-delay="0.4s"
2107                    target="_blank"
2108                    aria-label="ZILLOW"
2109                  >
2110                      <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
2111                  </a>
2112                </li>
2113                <li>
2114                  <a
2115                    href="https://www.yelp.com/biz/deronja-real-estate-raleigh"
2116                    class="lp-socials__link footer-socialbar-link"
2117                    data-wow-delay="0.5s"
2118                    target="_blank"
2119                    aria-label="YELP"
2120                  >
2121                      <span class="lp-i lp-i--yelp" aria-hidden="true"></span>
2122                  </a>
2123                </li>
2124                <li>
2125                  <a
2126                    href="https://www.google.com/search?q&#x3D;corcoran+deronja+real+estate&amp;sca_esv&#x3D;73afc9bb409a06fd&amp;sxsrf&#x3D;AE3TifNA0tfZ3QuqXcZcSqvt6iapMjbFIg%3A1758035868842&amp;ei&#x3D;nH_JaJ-SM4ygkPIPyeOtwAQ&amp;ved&#x3D;0ahUKEwif0Nv7yd2PAxUMEEQIHclxC0gQ4dUDCBA&amp;uact&#x3D;5&amp;oq&#x3D;corcoran+deronja+real+estate&amp;gs_lp&#x3D;Egxnd3Mtd2l6LXNlcnAiHGNvcmNvcmFuIGRlcm9uamEgcmVhbCBlc3RhdGUyBBAjGCcyBBAjGCcyChAjGIAEGCcYigUyCxAuGIAEGMcBGK8BMgsQABiABBiGAxiKBTIIEAAYgAQYogQyCBAAGIAEGKIEMggQABiABBiiBDIIEAAYgAQYogQyBRAAGO8FSIgRUMQNWMQNcAF4AJABAJgBaqABaqoBAzAuMbgBA8gBAPgBAZgCAqACf8ICDhAAGIAEGLADGIYDGIoFwgILEAAYgAQYsAMYogSYAwCIBgGQBgaSBwMxLjGgB_gMsgcDMC4xuAd1wgcFMi0xLjHIBxA&amp;sclient&#x3D;gws-wiz-serp"
2127                    class="lp-socials__link footer-socialbar-link"
2128                    data-wow-delay="0.6s"
2129                    target="_blank"
2130                    aria-label="GOOGLE"
2131                  >
2132                      <span class="lp-i lp-i--google" aria-hidden="true"></span>
2133                  </a>
2134                </li>
2135          </ul>      </div>
2136    </div>
2137
2138
2139
2140    <div class="footer-row flex bottom-lp">
2141      <div class="logo-text">
2142          <div class="img-wrap">
2143            <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/k7kcdv8k04tfhn01nfgt" 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/k7kcdv8k04tfhn01nfgt 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/k7kcdv8k04tfhn01nfgt 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/k7kcdv8k04tfhn01nfgt 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/k7kcdv8k04tfhn01nfgt 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/k7kcdv8k04tfhn01nfgt 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/k7kcdv8k04tfhn01nfgt 3456w" alt="">
2144          </div>
2145        <div class="by">Website designed and developed by <a class="link hyperlink-style-1 luxury-link" href="https://www.luxurypresence.com/" target="_blank">Luxury Presence</a></div>
2146      </div>
2147      <div>
2148        © Copyright <span class="auto-year-update">2026</span> | <a class="link hyperlink-style-1" href="/terms-and-conditions">Privacy Policy</a>
2149      </div>
2150    </div>
2151    
2152      
2153  </div>
2154
2155
2156  
2157  
2158</div>
2159        </footer>
2160
2161
2162        <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;">
2163          <style>
2164            #qualifying-questions-modal .custom-select-toggle {
2165              border: 1px solid #848484;
2166              border-radius: 8px;
2167              padding: 12px 16px;
2168            }
2169        
2170            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
2171              color: #848484;
2172            }
2173        
2174            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
2175              color: #848484;
2176              opacity: 1;
2177            }
2178        
2179            #qualifying-questions-modal .disclaimer-more {
2180              display: none;
2181            }
2182        
2183            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
2184              display: inline;
2185            }
2186        
2187            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
2188              display: none;
2189            }
2190          </style>
vendor: 119 bytes, lines 2190-2191
2190
2191          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2191<script>
2192            function toggleDisclaimerQualifyingQuestionsModal() {
2193              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
2194              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
2195        
2196              if (disclaimerText.classList.contains('collapsed')) {
2197                disclaimerText.classList.remove('collapsed');
2198                toggleButton.textContent = 'Read less';
2199                toggleButton.setAttribute('aria-expanded', 'true');
2200              } else {
2201                disclaimerText.classList.add('collapsed');
2202                toggleButton.textContent = 'Read more';
2203                toggleButton.setAttribute('aria-expanded', 'false');
2204              }
2205            }
2206          </script>
2206
2207          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
2208            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
2209              <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;">
2210                <span aria-hidden="true">&times;</span>
2211              </button>
2212              <div style="padding: 40px 30px 32px;">
2213                <div style="text-align: left; margin-bottom: 32px;">
2214                  <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;">
2215                    Thanks, please provide more information to help serve you
2216                  </h2>
2217                </div>
2218                <form id="qualifying-questions-modal-form" data-type="contact-form">
2219                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
2220                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
2221                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
2222                  <label for="qualifying-questions-modal-email" style="display:none;">
2223                    Email
2224                  </label>
2225                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
2226                    Trigger Source
2227                  </label>
2228        
2229                  <div style="margin-bottom: 20px;">
2230                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
2231                      Phone Number
2232                    </label>
2233                    <input
2234                      type="tel"
2235                      id="qualifying-questions-modal-phoneNumber"
2236                      name="phoneNumber"
2237                      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;"
2238                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
2239                      required
2240                      placeholder="Phone"
2241                      aria-label="Phone Number"
2242                      inputmode="tel"
2243                      autocomplete="tel"
2244                      onfocus="this.style.borderColor='black';"
2245                      onblur="this.style.borderColor='#848484';"
2246                    />
2247                  </div>
2248        
2249                  <div style="margin-bottom: 20px;">
2250                    <label for="qualifying-questions-modal-interest" style="display:none;">
2251                      Interest
2252                    </label>
2253                    <select
2254                      id="qualifying-questions-modal-interest"
2255                      name="interest"
2256                      required
2257                      data-label="Interest"
2258                      aria-label="Interest"
2259                      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;"
2260                      onfocus="this.style.borderColor='black'; this.style.color='black';"
2261                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
2262                    >
2263                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
2264                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
2265                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
2266                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
2267                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
2268                      <option value="Other" style="background: #fff; color: black;">Other</option>
2269                    </select>
2270                  </div>
2271        
2272                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
2273                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
2274                    <label class='lp-tcr-content'>
2275                      <span class='lp-tcr-checkbox'>
2276                        <input
2277                          type='checkbox'
2278                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
2279                          name='termsAccepted'
2280                          aria-describedby='qualifying-questions-modal-disclaimer-text'
2281                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
2282                          oninput="this.setCustomValidity('')"
2283                          required
2284                        /></span>
2285                      <span class='lp-tcr-message'>
2286                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
2287                          
2288                            I agree to be contacted by
2289                            <strong>Corcoran DeRonja Real Estate</strong>
2290                            via call, email, and text <span class="disclaimer-more">for real estate services. 
2291                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
2292                            You can also click the unsubscribe link in the emails. 
2293                            Message and data rates may apply. Message frequency may vary.</span>
2294                            <span class="disclaimer-ellipsis">...</span>
2295                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
2296                        </div>
2297                        <button
2298                          id="qualifying-questions-modal-toggle-disclaimer"
2299                          type="button"
2300                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
2301                          aria-expanded="false"
2302                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
2303                        >
2304                          Read more
2305                        </button>
2306                      </span>
2307                    </label>
2308                  </div>
2309        
2310                  <div>
2311                    <button
2312                      type="submit"
2313                      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;"
2314                      onmouseover="this.style.background='transparent'; this.style.color='black';"
2315                      onmouseout="this.style.background='black'; this.style.color='white';"
2316                    >
2317                      Submit
2318                    </button>
2319                  </div>
2320                </form>
2321              </div>
2322            </div>
2323          </div>
2324        </div>
2325
2326    
2326<script>
2327        (function() {
2328        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
2329
2330        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
2331            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
2332            entries.forEach(function(video) {
2333                if (video.isIntersecting) {
2334                for (var source in video.target.children) {
2335                    var videoSource = video.target.children[source];
2336                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
2337                    videoSource.src = videoSource.dataset.src;
2338                    }
2339                }
2340
2341                video.target.load();
2342                video.target.classList.remove("lazy");
2343                lazyVideoObserver.unobserve(video.target);
2344                }
2345            });
2346            });
2347
2348            lazyVideos.forEach(function(lazyVideo) {
2349                lazyVideoObserver.observe(lazyVideo);
2350            });
2351        }
2352        })();
2353    </script>
2353
2354
2355        <!-- Global site tag (gtag.js) - Google Analytics -->
2356        
2356<script defer src="https://www.googletagmanager.com/gtag/js"></script>
2356
2357
2358            <!-- Google Tag Manager -->
2359            
2359<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2360                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2361                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
2362                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2363            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
2363
2364            <!-- End Google Tag Manager -->
2365
2366
2367        <!-- LP Tracker (divolte.js) - LP Divolte -->
2368            
2368<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
2368
2369        <!-- LP Tracker (eventBus) - LP EventBus -->
2370            
2370<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
2370
2371
2372    
2372<script>
2373        window.dataLayer = window.dataLayer || [];
2374        document.sendGoogleTagManagerEvent = function() {
2375            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
2376            if (window.navigator.globalPrivacyControl) {
2377                return;
2378            }
2379
2380            dataLayer.push(arguments);
2381        }
2382
2383        document.sendGoogleTagManagerEvent('js', new Date());
2384            document.sendGoogleTagManagerEvent('config', 'G-HR5MDW8BF2', { page: location.pathname, location: location.href });
2385        document.sendGoogleAnalyticsEvent = function(googleEvent) {
2386            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
2387                event_category: googleEvent.eventCategory,
2388                event_label: googleEvent.eventLabel,
2389                value: googleEvent.eventValue,
2390                page: googleEvent.page,
2391                location: googleEvent.location
2392            })
2393        };
2394
2395        document.addEventListener("DOMContentLoaded", function() {
2396            (function() {
2397                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
2398                var date = new Date();
2399                var elements = document.getElementsByClassName('auto-year-update');
2400                var i;
2401                for (i = 0; i < elements.length; i++) {
2402                    elements[i].innerText = date.getFullYear();
2403                }
2404            })();
2405            if (window.divolteLp) {
2406                window.divolteLp('sendLpPageView', {});
2407            }
2408            if (window.eventBusLp) {
2409                window.eventBusLp('sendLpPageView', {});
2410            }
2411        });
2412    </script>
2412
2413
2414
2415    
2415<script>
2416    // Function to dynamically load a script
2417    function loadScript(url, callback) {
2418        var script = document.createElement('script');
2419        script.type = 'text/javascript';
2420        script.src = url;
2421        script.defer = true;
2422        script.async = true;
2423        script.onload = callback;
2424        document.head.appendChild(script);
2425    }
2426
2427    // Function to dynamically load CSS file
2428    function loadCSS(url) {
2429        var link = document.createElement("link");
2430        link.rel = "stylesheet";
2431        link.href = url;
2432        document.head.appendChild(link);
2433    }
2434
2435    // Global methods / variables that can be accessed by element js
2436    window.luxuryPresence = {
2437        libs: {
2438            loadJs: loadScript,
2439            loadCss: loadCSS,
2440            jsLibsMap: {
2441                paroller: {
2442                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
2443                    isLoaded: false,
2444                },
2445                ionRangeSlider: {
2446                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
2447                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
2448                    isLoaded: false,
2449                    requires: ['jquery'],
2450                },
2451                splide: {
2452                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
2453                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
2454                    isLoaded: false,
2455                },
2456                wow: {
2457                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
2458                    isLoaded: false,
2459                },
2460                jquery: {
2461                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
2462                    isLoaded: false,
2463                },
2464                slick: {
2465                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
2466                    isLoaded: false,
2467                    requires: ['jquery'],
2468                },
2469                libphonenumber: {
2470                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
2471                    isLoaded: false,
2472                },
2473            },
2474        },
2475    };
2476    </script>
2476
2477    
2477<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>
2477
2478    
2478<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
2478
2479    
2479<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
2479
2480    
2480<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
2480
2481    
2481<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>
2481
2482    
2482<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>
2482
2483    
2483<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>
2483
2484
2485    <!-- GOOGLE TRANSLATE SCRIPT -->
2486    
2486<script>
2487        function googleTranslateElementInit() {
2488            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
2489            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
2490            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
2491            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
2492                translate.innerText = '';
2493                new google.translate.TranslateElement({
2494                    pageLanguage: 'en',
2495                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
2496                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
2497                }, translate);
2498            });
2499        }
2500    </script>
2500
2501    
2501<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
2501
2502            
2502<script defer src="https://accounts.google.com/gsi/intermediate"></script>
2502
2503
2504    <!-- GOOGLE TRANSLATE SCRIPT END-->
2505    
2505<script>
2506
2507        // UI helpers
2508        (function () {
2509
2510            function getSideMenu () {
2511                return document.querySelector('body > div.sidemenu');
2512            }
2513
2514            function sideMenuHide (instant) {
2515                var sideMenu = getSideMenu();
2516                if (!sideMenu || !sideMenu.classList.contains('visible')) {
2517                  return;
2518                }
2519                sideMenu.classList.remove('visible');
2520                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
2521                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
2522            }
2523
2524            function sideMenuShow () {
2525                var sideMenu = getSideMenu();
2526                if (!sideMenu || sideMenu.classList.contains('visible')) {
2527                  return;
2528                }
2529                sideMenu.classList.add('visible');
2530                sideMenu.dispatchEvent(new Event('lpui-show'));
2531                window.dispatchEvent(new Event('lpui-sidemenu-show'));
2532            }
2533
2534            function sideMenuToggle () {
2535                var sideMenu = getSideMenu();
2536                if (!sideMenu) {
2537                  return;
2538                }
2539                var isSideMenuVisible = sideMenu.classList.contains('visible');
2540                if (isSideMenuVisible) {
2541                    sideMenuHide();
2542                } else {
2543                    sideMenuShow();
2544                }
2545            }
2546
2547            var scrollLockRequests = {};
2548            window.__debug_scrollLockRequests = scrollLockRequests;
2549            var hideScrollStyles = ''+
2550                    'body {'+
2551                    'overflow: hidden;' +
2552                    '}';
2553            var hideScrollId = 'hide-body-scroll-style';
2554
2555            function scrollLock () {
2556                var style = document.createElement('style');
2557                style.id = hideScrollId;
2558                style.textContent = hideScrollStyles;
2559                document.head.appendChild(style);
2560                window.dispatchEvent(new Event('lpui-scroll-locked'));
2561            }
2562
2563            function scrollUnlock () {
2564                document.getElementById(hideScrollId)?.remove();
2565                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
2566            }
2567
2568            function requestScrollLock (lockId) {
2569                var wasLocked = Object.keys(scrollLockRequests).length > 0;
2570                scrollLockRequests[lockId || '__anonymous_lock'] = true;
2571                if (!wasLocked) {
2572                    scrollLock();
2573                }
2574            }
2575
2576            function releaseScrollLock (lockId) {
2577                if (lockId) {
2578                    delete scrollLockRequests[lockId];
2579                    if (!Object.keys(scrollLockRequests).length) {
2580                        scrollUnlock();
2581                    }
2582                } else {
2583                    scrollLockRequests = {};
2584                    window.__debug_scrollLockRequests = scrollLockRequests;
2585                    scrollUnlock();
2586                }
2587            }
2588
2589            function showModal (modalId, options) {
2590                var modal = document.getElementById(modalId);
2591                if (!modal) {
2592                    return;
2593                }
2594
2595                if (!modal.classList.contains('visible')) {
2596                    modal.classList.add('visible');
2597                    if (options && options.scrollLock) {
2598                        window.lpUI.requestScrollLock(modalId);
2599                    }
2600                    modal.dispatchEvent(new Event('lpui-show'));
2601                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
2602                }
2603
2604                const visibleModals = document.querySelectorAll('.modal.visible');
2605
2606                if (visibleModals.length > 1) {
2607
2608                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
2609                        const zIndex = window.getComputedStyle(modal).zIndex;
2610                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
2611                        return Math.max(maxZIndex, parsedZIndex);
2612                    }, 0);
2613
2614                    modal.style.zIndex = maxZIndex + 1;
2615                }
2616
2617            }
2618
2619            function _hideModal (modalEl) {
2620                if (!modalEl) {
2621                    return;
2622                }
2623                if (!modalEl.classList.contains('visible')) {
2624                    return;
2625                }
2626                modalEl.classList.remove('visible');
2627                modalEl.style.zIndex = '';
2628                modalEl.dispatchEvent(new Event('lpui-hide'));
2629                var modalId = modalEl.getAttribute('id');
2630                if (modalId) {
2631                    window.lpUI.releaseScrollLock(modalId);
2632                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
2633                }
2634            }
2635
2636            function hideModal (modalId) {
2637                _hideModal(document.getElementById(modalId));
2638            }
2639
2640            function hideClosestModal (el) {
2641              const modal = el?.closest('.modal');
2642              if (!modal) {
2643                return;
2644              }
2645              if (modal.classList) {
2646                _hideModal(modal);
2647                return;
2648              }
2649              if (modal.length && modal[0].classList) {
2650                _hideModal(modal[0]);
2651              }
2652            }
2653
2654            window.lpUI = {
2655                sideMenuHide: sideMenuHide,
2656                sideMenuShow: sideMenuShow,
2657                sideMenuToggle: sideMenuToggle,
2658                requestScrollLock: requestScrollLock,
2659                releaseScrollLock: releaseScrollLock,
2660                showModal: showModal,
2661                hideModal: hideModal,
2662                hideClosestModal: hideClosestModal
2663            }
2664        })();
2665
2666        var stringifyPrimitive = function(v) {
2667            switch (typeof v) {
2668                case 'string':
2669                    return v;
2670
2671                case 'boolean':
2672                    return v ? 'true' : 'false';
2673
2674                case 'number':
2675                    return isFinite(v) ? v : '';
2676
2677                default:
2678                    return '';
2679            }
2680        };
2681
2682        function objectToQuerystring(obj, sep, eq, name) {
2683            // https://github.com/Gozala/querystring/blob/master/encode.js
2684            sep = sep || '&';
2685            eq = eq || '=';
2686            if (obj === null) {
2687                obj = undefined;
2688            }
2689
2690            if (typeof obj === 'object') {
2691                return Object.keys(obj).map(function(k) {
2692                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
2693                    if (Array.isArray(obj[k])) {
2694                        return obj[k].map(function(v) {
2695                            return ks + encodeURIComponent(stringifyPrimitive(v));
2696                        }).join(sep);
2697                    } else {
2698                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
2699                    }
2700                }).filter(Boolean).join(sep);
2701
2702            }
2703
2704            if (!name) return '';
2705            return encodeURIComponent(stringifyPrimitive(name)) + eq +
2706                    encodeURIComponent(stringifyPrimitive(obj));
2707        }
2708
2709        function getPath(url, options) {
2710            var parser = document.createElement('a');
2711            parser.href = url || '';
2712            var path = parser.pathname || '';
2713            if (path[0] !== '/') {
2714              // IE does not return path starting with a slash
2715              path = '/' + path;
2716            }
2717
2718            if (options && options.queryString) {
2719                path += parser.search;
2720            }
2721
2722            return path;
2723        }
2724
2725        function getMLSAutocomplete(keyword) {
2726            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
2727            var query = {
2728                kind: 'listings',
2729                query: keyword
2730            };
2731
2732            return superagent
2733                .get(searchURL)
2734                .query(query)
2735                .then(function(res) {
2736                    var data = res.body || [];
2737                    // Array of listing_auto_complete documents: id, display_address, city, state,
2738                    // price, sold_price, status, status_modified_at, photo_urls (array of URLs).
2739
2740                    return data;
2741                });
2742        }
2743
2744        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
2745            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
2746
2747            return superagent
2748                .get(searchURL)
2749                .query({ kind: 'listings', query: keyword, ...filters })
2750                .then(function(res) {
2751                    // Same response shape as getMLSAutocomplete.
2752                    return res.body || [];
2753                });
2754        }
2755
2756        function makeMlsLink(data) {
2757            // Code Dupe from utils/googlePlace
2758            // mapping of google data type to mls data type
2759            var mapping = {
2760                neighborhood: 'neighborhood',
2761                locality: 'place',
2762                administrative_area_level_2: 'county',
2763                administrative_area_level_1: 'state',
2764                postal_code: 'postalcode',
2765            };
2766
2767            function _filterTypes(types) {
2768                return types.filter(function(type) { return type !== 'political' });
2769            }
2770
2771            if (!data || !Object.keys(data).length) {
2772                return '/home-search/listings';
2773            }
2774
2775            var newData = {};
2776            _filterTypes(data.types).forEach(function(type) {
2777                if (mapping[type]) {
2778                    newData.search_type = mapping[type];
2779                }
2780            });
2781            newData.omnibox = data.formatted_address;
2782            data.address_components.forEach(function(component) {
2783                _filterTypes(component.types).forEach(function(type) {
2784                    if (mapping[type]) {
2785                        newData[mapping[type]] = component.long_name;
2786                    }
2787                });
2788            });
2789            var bounds = data.geometry.bounds;
2790            var convertedData = Object.assign(bounds, newData);
2791
2792            return '/home-search/listings?' + objectToQuerystring(convertedData);
2793        }
2794
2795        function debounce(func, wait) {
2796            let timeout;
2797            return function(...args) {
2798                const context = this;
2799                clearTimeout(timeout);
2800                timeout = setTimeout(() => func.apply(context, args), wait)
2801            }
2802        }
2803
2804        // Global methods / variables that can be accessed by element js
2805        window.luxuryPresence = {
2806            ...window.luxuryPresence,
2807            defaults: {
2808                companyId: 'e6d253ae-e8f4-4213-aef5-7ad077e555af',
2809                apiGatewayUrl: '/api-gw',
2810                routerUrl: '/api-nv',
2811                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\
2811n    }\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    $developmentId: ID\n    $companyId: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $tag: [String!]\n    $agentId: [ID!]\n    $neighborhoodId: ID\n    $neighborhoodIds: [ID!]\n  ) {\n    developments (\n      developmentId: $developmentId\n      companyId: $companyId\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      tag: $tag\n      agentId: $agentId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      id\n      name\n      description\n      descriptionShort\n      slug\n      createdAt\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      googlePlaceData\n      seoTitle\n      seoDescription\n      tags\n    }\n    developmentsCount(\n      companyId: $companyId\n      search: $search\n      tag: $tag\n      agentId: $agentId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      count\n    }\n  }\n","pois":"\n  query PointsOfInterest (\n    $regionId: UUID!\n    $radiu
2811s: 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"},
2812                propertyPlaceholderImage: {"id":"f043bdf7-1019-4668-b714-fe86cf453220","alt":null,"bytes":30496,"width":1920,"format":"jpg","height":1200,"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/ljmkta0oer8c21yrpwhc","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/ljmkta0oer8c21yrpwhc","authorUrl":null,"createdAt":"2024-08-07T17:49:24.954Z","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/ljmkta0oer8c21yrpwhc","sourceUrl":null,"updatedAt":"2024-08-07T17:49:24.954Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ljmkta0oer8c21yrpwhc","__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/ljmkta0oer8c21yrpwhc","description":null,"displayName":"property","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ljmkta0oer8c21yrpwhc","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/ljmkta0oer8c21yrpwhc","originalFileName":"Property","cloudinaryPublicId":"ljmkta0oer8c21yrpwhc"}
2813            },
2814            objectToQuerystring: objectToQuerystring,
2815            getPath: getPath,
2816            getMLSAutocomplete: getMLSAutocomplete,
2817            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
2818            makeMlsLink: makeMlsLink,
2819            debounce: debounce,
2820        };
2821
2822        var wowOffset = 100;
2823    </script>
2823
2824    
2824<script>
2825        (()=>{function e(e){return e&&e.__esModule?e.default:e}var t={},i={};i={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let i=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===i[1].toLowerCase().indexOf("video"))return null;let r=i[i.length-1];r.lastIndexOf(".")>-1?r=`${r.slice(0,r.lastIndexOf("."))}.jpg`:r+=".jpg",i[i.length-1]=r;let s=3;"videos"===i[1].toLowerCase()&&""!==i[2]&&(s=2);let a=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;s<i.length-1&&a.test(i[s]);)s++;return i.splice(s,0,"so_0,eo_0"),t+i.join("/")}};let r={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "},s=/&(?:amp|lt|gt|quot|apos|nbsp|#(?:[0-9]+|[xX][0-9a-fA-F]+));/y,a=/[<&]/g,o=/["'>]/g,n=/<\/p\s*>|<br\s*\/?>|[\r\n\u2028\u2029]/g;function l(e,t){let i="";for(let l=0;l<e.length;){a.lastIndex=l;let d=a.exec(e);if(!d){i+=e.slice(l);break}let c=d.index;i+=e.slice(l,c);let u="&"===e[c]?function(e,t){s.lastIndex=t;let i=s.exec(e);return{text:i?function(e){if("#"!==e[1])return r[e.slice(1,-1)];
2825let t="x"===e[2]||"X"===e[2],i=parseInt(e.slice(t?3:2,-1),t?16:10);return 0===i||i>1114111||i>=55296&&i<=57343?e:160===i?" ":String.fromCodePoint(i)}(i[0]):"&",end:i?s.lastIndex:t+1}}(e,c):function(e,t,i){let r=function(e,t){let i=null;o.lastIndex=t+1;let r=o.exec(e);for(;r;){let t=r[0];if(i)t===i&&(i=null);else if('"'===t||"'"===t)i=t;else if(">"===t)return o.lastIndex;r=o.exec(e)}return -1}(e,t);return{text:-1===r?"<":function(e,t,i,r){if(!r)return"";let s=e.slice(t,i);if(/^<br\s*\/?>$/.test(s))return"&#10;";if(/^<\/p\s*>$/.test(s)){n.lastIndex=i;let t=n.exec(e);if(t&&"<"===t[0][0])return"&#10;"}return""}(e,t,r,i),end:-1===r?t+1:r}}(e,c,t);i+=u.text,l=u.end}return i}t=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}],s=function(e,t,i){let r="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 i?i:0,a=Number.isInteger(e)?0:s,o={minimumFractionDigits:a,maximumFractionDigits:a};return"USD"===t?`$${e.toLocaleString(r,o)}`:"CAD"===t?`$${e.toLocaleString(r,o)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(r,o)}`:"GBP"===t?`\xa3${e.toLocaleString(r,o)}`:"PERCENT"===t?`${e}%`:"number"==typeof i&&i>-1?e.toLocaleString(r,{maximumFractionDigits:i}):e.toLocaleString(r)},a=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""}},d=function(e,t){let i,r,s=t||{};switch(s.mode){case"short":i=o(e),r=s.frequencySeparator||"/";break;case"standard":case"std":i=n(e),r=s.frequencySeparator||"/";break;default:i=a(e),r=s.frequencySeparator||" "}return i?s.frequencyTag||s.frequencyClass?`${r}<${s.frequencyTag||"span"}${s.frequencyClass?` class="${s.frequencyClass}"`:""}>${i}</${s.frequencyTag||"span"}>`:r+i:""};return{isEmpty(e,t){let i=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?i?t.fn(this):t.inverse(this):i},ifEquals(e,i,r){return t(e,i)?r.fn(this):r.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?l(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!1):"",striptagsLineBreaks:e=>e?l(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!0):"",truncate:(e,t,i)=>e?e.length>t?"string"==typeof i?e.slice(0,t-i.length)+i:e.slice(0,t):e:"",setSubArray(e=[],t,i,r,s){s.data.root[r]=e.slice(t,i)},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:a,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>d(e,t&&t.hash),subArray(e,t,i,r){return e>=t&&e<i?r.fn(this):r.inverse(this)},formatPropertyStatus(e,t,i){let r="";switch(e){case"SOLD":r="Sold";break;case"FOR_SALE":r="For Sale";break;case"COMING_SOON":r="Coming Soon";break;case"INACTIVE":r="Inactive";break;case"POCKET_LISTING":r="Pocket Listing";break;case"PENDING":r="Pending";break;case"UNDER_CONTRACT":r="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":r="Active Under Contract";break;default:r=e}return("Sold"===r||"Leased"===r)&&t&&"string"==typeof i&&i&&(r+=` on ${i}`),r},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 i="current"===e?new Date:new Date(e);if(Number.isNaN(i.getTime()))return"";if("YYYY"===t||"year"===t)return`${i.getFullYear()}`;if("MM/DD/YY"===t){let e=i.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${i.getDate()}/${i.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][i.getMonth()]} ${i.getDate()}, ${i.getFullYear()}`},openHousesFormat(e,t,i){if(!e||!t)return"";let r=e=>{let t=e.getHours();t>12&&(t-=12);let i=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?i+="PM":i+="AM",i},s="",a=e,o=t;
2825i&&(a=new Date(e).toLocaleString("en-US",{timeZone:i}),o=new Date(t).toLocaleString("en-US",{timeZone:i}),[,,,s]=new Date(t).toLocaleString("en-US",{timeZone:i,timeZoneName:"short"}).split(" "));let n=new Date(a),l=n.toLocaleDateString("en-US"),d=r(n),c=r(new Date(o));return`${l} ${d} - ${c} ${s}`},math:(e,t,i)=>(e=parseFloat(e),({"+":e+(i=parseFloat(i)),"-":e-i,"*":e*i,"/":e/i,"%":e%i})[t]),findByKey(e,t,i,r){let s=(e||[]).find(e=>e[t]===i);return r.fn(s)},capitalize(e,t,i){let r;return"string"==typeof e&&e.length&&(r=e.toLowerCase().split(t).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ").toString()),r},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,i,r){let s="",a=null;r.data&&(a=e.createFrame(r.data));let o=(i||[]).filter(Boolean);if(o&&o.length){let e=0;s=o.reduce((i,s,o)=>{let n=(t||[]).find(e=>e.id===s);return n?(a&&(a.index=o-e),i+r.fn(n,{data:a})):(e+=1,i)},"")}else for(let e=0,i=(t||[]).length;e<i;e++)a&&(a.index=e),s+=r.fn(t[e],{data:a});return s},ifIn(e,t,i){return t&&t.indexOf(e)>-1?i.fn(this):i.inverse(this)},partial:(t,i)=>(e.registerPartial(t,e.compile(i.fn())),`
2825<script type="text/x-handlebars-template" class="${t} pagination-script">${i.fn()}<\/script>`),numCompare(e,t,i,r){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}})[i](e,t)?!r.fn||r.fn(this):!!r.fn&&r.inverse(this)},lpFormatNumber:s,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,i)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,i,r){let s=null,a=0,o=new Set;return r.data&&(s=e.createFrame(r.data)),(t||[]).reduce((e,t,n)=>{let l=i?t[i]:t;return!o.has(l)||i&&void 0===l?(o.add(l),s&&(s.index=n-a),e+r.fn(t,{data:s})):(a+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let i=t[t.length-1].hash,r=t.length>1?t[0]:i.property,a=i.precision||0;t.length>2&&(i.mode=t[1]),i.mode||(i.mode="short");let o=t.length>3?t[2]:i.separator;if("string"!=typeof o&&(o=" | "),r.isPasswordProtected)return"Exclusive Listing";let n=t.length>4?t[3]:i.priceUponRequestText;if("string"!=typeof n&&(n="Price Upon Request"),r.priceUponRequest)return n;let l=r.salesPrice,c=null;"SOLD"!==r.status&&"Leased"!==r.status&&r.reducedPrice&&(i.reducedClass?c=r.reducedPrice:l=r.reducedPrice);let u="";c&&(u+=`<${i.reducedTag||"span"} class="${i.reducedClass}">${s(c,r.currency,a)}</${i.reducedTag||"span"}>`),l&&(l=s(l,r.currency,a),i.priceTag||i.priceClass?u+=`<${i.priceTag||"span"}${i.priceClass?` class="${i.priceClass}"`:""}>${l}</${i.priceTag||"span"}>`:u+=l);let h=r.leasePrice&&s(r.leasePrice,r.currency,a);if(h){u&&(u+=o);let e=`${h}${d(r.leasePeriod,i)}`;i.leaseTag||i.leaseClass?u+=`<${i.leaseTag||"span"}${i.leaseClass?` class="${i.leaseClass}"`:""}>${e}</${i.leaseTag||"span"}>`:u+=e}
2825return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:s,...a}=i.hash,o="",n="";if("string"==typeof t)o=t;else{let e={},{height:s,width:l,altTagText:d}=t;r.forEach(i=>{t[i.field]&&!e[t[i.field]]&&(e[t[i.field]]=i.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(a.alt=d),s&&l&&(s>=l&&(a.class?a.class+=" portrait":a.class="portrait"),"setDims"in i.hash&&(a.width=l,a.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&&(n=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,i)=>Math.abs(e[t]-1280)-Math.abs(e[i]-1280))),o=c[0]}delete a.setDims,n||delete a.sizes,"alt"in a||(a.alt=""),!("loading"in a)&&(i?.data?.root?.sectionIndex>1||s)&&(a.loading="lazy");let l=Object.keys(a).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(a[t])}"`).join(" ");return new e.SafeString(`<img src="${o}"${n?` srcset="${n}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let i in e)null!==e[i]&&void 0!==e[i]&&"object"!=typeof e[i]&&(t+=e[i]);return t},setVideoExtension(e,t){if(!e||!t)return"";let i=new URL(e);if("res.cloudinary.com"!==i.host)return i.pathname.endsWith(`.${t}`)?e:"";let r=i.pathname.lastIndexOf("."),s=i.pathname;return -1!==r&&(s=i.pathname.substr(0,r)),i.pathname=`${s}.${t}`,i.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 i=`${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="${i}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:i.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let i=+t?.hash?.maxChars||2,r=e.match(/\b\w/g)?.slice(0,i);return r?(t?.hash?.addText&&(r=r.map(e=>e+t.hash.addText)),r.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class d{constructor(e,t,i){if(this.config=e,this.window=t,this.document=i,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let c="lp_lead_form_conversion_fired";function u(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(c)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(c,"true")}catch{}}catch{}}function h(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let p="/api/v1/home-valuation";class m extends d{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 i=t.indexOf(", call time frame:");return -1!==i&&(t=t.substring(0,i).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,i={},r=t("street_number"),s=t("route"),a=t("administrative_area_level_1"),o=t("postal_code"),n=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return r&&(i.streetNumber=r),s&&(i.streetName=s),l&&(i.city=l),a&&(i.state=a),o&&(i.zipcode=o),n&&(i.addressLine2=n),i}_extractAddressAndCoordinates(e){let t=null,i=null;if(e?.result){let{result:r}=e;r.address?.addressComponents&&(t=this._transformAddressComponents(r.address.addressComponents)),r.geocode?.location&&(i={latitude:r.geocode.location.latitude,longitude:r.geocode.location.longitude})}return{structuredAddress:t,coordinates:i}}_filterEmptyStrings(e){let t={};for(let[i,r]of Object.entries(e))""!==r&&null!=r&&(t[i]=r);return t}_getRawAddress(e){let t=e.activity.content||{},i=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,i,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,i=null){let r={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(i&&(r.errorMessage=i.userMessage||(i.status?`Request failed with status ${i.status}`:"An error occurred"),r.errorName=i.name,r.errorStatus=i.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(r)),this.window.posthog)try{this.window.posthog.capture(e,r)}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
2825ontact 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,i,r){let s=this._formatStructuredAddress(i)||this._getRawAddress(e);if(!s)throw Error("Unable to extract home valuation address from form data");let a={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},o={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
2825ourceResource,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||{}},n=this._filterEmptyStrings(o);return{...a,...n,...i&&{address:i},...r&&{coordinates:r}}}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 i=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(i,e),i.status=t,i}_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,i){let r=new AbortController,s=setTimeout(()=>r.abort(),1e4);try{let a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:r.signal});clearTimeout(s);let o=await a.text(),n=this._parseResponsePayload(o);if(!a.ok)throw this._createResponseError(n,a.status);if(n&&"success"===n.status&&n.redirectUrl){if(h(i))return n;if(!this._isSafeRedirectUrl(n.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),n;return this.window.location.href=n.redirectUrl,{redirected:!0,url:n.redirectUrl}}return n}catch(e){throw clearTimeout(s),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let i=this._getRawAddress(e),r=null;try{r=await this._validateAddressSafely(i)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let s=null;try{s=await this._getHomeValuationEstimateSafely(r)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),s=null}let{structuredAddress:a,coordinates:o}=this._extractAddressAndCoordinates(r),n=`${t}${p}`,l=this._buildHomeValuationData(e,s,a,o),d=await this._submitLead(n,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:i}=this,r=t.googleMapsAPIKey;if(!r&&i.luxuryPresence?.mapApiLoader&&(r=await i.luxuryPresence.mapApiLoader.getMapApiKey()),!r)throw Error("Google Maps API key not configured");let s=new AbortController,a=setTimeout(()=>s.abort(),1e4);try{let t=await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:{addressLines:[e]},enableUspsCass:!1}),signal:s.signal});if(clearTimeout(a),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(a),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()}${p}`;if(!e?.result?.address?.addressComponents)return null;let i=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(i))return this._logMissingAddressFields(i),null;let r=this._buildAddressQueryString(i),s=`${t}?${r}`,a=new AbortController,o=setTimeout(()=>a.abort(),1e4);try{let e=await fetch(s,{headers:{Accept:"application/json"},signal:a.signal});if(clearTimeout(o),!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(o),e}}}let g="middleName",y="redirect-pending",f=["name","firstName","lastName",g,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],v="lp_map_key_failed",w="oauthSuccess",b={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
2825]+)/);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 S(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function _(e,t){t.forEach(t=>{let i=e[t];Array.isArray(i)&&0===i.length&&delete e[t]})}function I(e,t,i,r){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])),a=r?.merge?s.flat():s.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),a.length>0&&(e[i]=[...new Set(a)])}function E(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 i=[...e.socialLinks].sort((e,t)=>{let i=e.type?.toLowerCase()||"",r=t.type?.toLowerCase()||"";return i.localeCompare(r)});t.socialLinks=i;let r={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};i.forEach(e=>{let i=r[e.type?.toLowerCase()??""];i&&(t[i]=e.link)})}return t}function A(e){return e&&Array.isArray(e)?e.map(e=>E(e)):e}function L(e){let{region:t}=e;if(!S(t))return e;let{schools:i,pois:r,...s}=t,a={...s,schools:S(i)?i.data??[]:[],...Array.isArray(r)?{pois:r.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:a}}function x(e){return e&&Array.isArray(e)?e.map(e=>L(e)):e}function $(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let i=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:i}}function T(e){return e&&Array.isArray(e)?e.map(e=>$(e)):e}function C(e,t){return S(e)?t(e):e}function k(e,t){return Array.isArray(e)?t(e):e}var M={};M=`
2826  query PropertyDisclaimers($input: PropertyDisclaimersInput!) {
2827    propertyDisclaimers(input: $input) {
2828      feedId
2829      listingId
2830      resolvedFromListing
2831      listingCardAttribution
2832      listingDetailCourtesy
2833      listingDetailFooter
2834      logo
2835    }
2836  }
2837`;let P={mlsAttribution:"listingCardAttribution",mlsLogo:"logo",listingDetailCourtesy:"listingDetailCourtesy",listingDetailFooter:"listingDetailFooter"},U=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}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}setEventBus({enabled:e,apiKey:t,url:i}){this.eventBus={enabled:e,apiKey:t,url:i}}}({}),N=new class extends d{constructor(e,t,i){super(e,t,i),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:i}=this;this.pageId=t.pageId,this.modals=i.querySelectorAll("body > #modals >
2837 .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,i=new Date().getTime()+864e5,r=`modal-controller-${e}`;try{t.localStorage.setItem(r,JSON.stringify(i))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,i=t.localStorage,r=i.getItem(`modal-controller-${e}`);if(!r)return!1;let s=JSON.parse(r);return!(new Date().getTime()>s)||(i.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:i}=this,r=this.getModalWithExpiry(e);(e&&!r||!0===t.forced)&&(i.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:i,pageSpecific:r}=e;(!r||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===i?this._exitModalHandler(e):"TIMER"===i?this._timerModalHandler(e):"FORCED"===i&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:i,exitModalTriggered:r}=this,{modalId:s}=e;function a(e){!r[s]&&(e.toElement||e.relatedTarget||(t.show(s),r[s]=!0))}i.addEventListener("mouseout",a),this.exitModalEventListeners.push(a)}_timerModalHandler(e){let{modalId:t,timerDelay:i}=e;setTimeout(()=>{this.show(t)},i)}_forcedModalHandler(e){let{modalId:t}=e,{window:i,document:r}=this;if("true"!==i.localStorage.getItem("isSignedUp")){let e=r.querySelector(`#modal-${t}`),s=e?.querySelector("form"),a=s?.dataset.delay||2e3;s.addEventListener("formsubmitted",()=>{this.setLoginState()}),i.addEventListener("oauthSuccess",()=>{this.setLoginState(),s.classList.add("success"),setTimeout(()=>{i.lpUI.hideModal(`modal-${t}`),s.reset(),s.classList.remove("success")},a)}),this.show(t,{forced:!0})}}}(U,window,document),R=new class extends d{constructor(e,t,i){super(e,t,i),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:i}=this,r=e.target.closest("button, a");if(!r)return;let s=r.dataset.type||"",a=r.href||r.dataset.href||"",o=r.target||"",{submit:n}=r.dataset;if(n){try{await this._handleSubmit(r)}catch(e){console.error(e)}((e,t=!1)=>{if(e){if(t)return window.open(e);window.location.assign(e)}})(a,"_blank"===o)}if(this._trackConversion(r),"VIDEO"===s)return void this._handleVideoButton(r);if("CONTACT_US"===s)return void this._handleContactUsButton(r);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=r.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(a?.startsWith("mailto:")){let e=a.substring(7);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(a?.startsWith("tel:")){let e=a.substring(4);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:i}=this;return t?await i.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[,i,r]=t,s=`https://player.vimeo.com/video/${i}?`;return r&&(s+=`h=${r}&`),s+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,i=e.closest("section"),{src:r}=e.dataset,s="";if(r&&(r.includes("youtube.com")||r.includes("youtu.be"))&&!r.includes("youtube.com/embed")){let e=r.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
2837)|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(s=e[1])}let a=this._getVimeoSrc(r);if(s?r=`https://youtube.com/embed/${s}?autoplay=1&controls=0`:a&&(r=a),!r||!i)return;let o=r.endsWith(".mp4")||r.endsWith(".webm")||r.includes("cloudinary.com"),n=`
2838      <div id="modal-${i.id}" class="modal visible">
2839        <div class="modal-content">
2840          <div class="lightbox-video">
2841            <div class="video-player">
2842              <div class="embed-container">
2843                ${o?`<video controls autoplay src="${r}"></video>`:`<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${r}"></iframe>`}
2844              </div>
2845            </div>
2846          </div>
2847        </div>
2848        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
2849      </div>
2850    `;t.body.insertAdjacentHTML("beforeend",n);let l=t.getElementById(`modal-${i.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:i}=this;i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:i}=this,{gtagConversionId:r,gtagConversionLabel:s,fbEventName:a}=e.dataset;if(r&&s){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===r)||i.sendGoogleTagManagerEvent("config",r));let e=`${r}/${s}`;i.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&a&&t.fbq("track",a,{})}}(U,window,document),B=new class extends d{constructor(e,t,i){super(e,t,i),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:i}=this,{selector:r}=e,s=[];if(s=r?i.querySelectorAll(`${r} form[data-type="contact-form"]`):i.querySelectorAll('form[data-type="contact-form"]'),i.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:i}=t.luxuryPresence.libs,{libphonenumber:r}=i;e(r.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 i=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;i(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("")})}}}(U,window,document),D=new class extends d{constructor(e,t,i){super(e,t,i),this.forms=[],this.homeValuationService=new m(e,t,i)}initialize(e={}){try{let{document:t}=this,{selector:i}=e,r=[];(r=i?t.querySelectorAll(`${i} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(r)}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),i={},r=[],s=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let a=e.trim();s.test(t)&&a&&r.push(a);let o=i[t];i[t]=o?`${o} ${a}`:a}else i[t]=e}),r.length?i.name=r.join(" ").trim():!i.name&&i.firstName&&(i.name=i.firstName,i.lastName&&(i.name+=` ${i.lastName}`)),this._deriveNameParts(i)}_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,i){let{window:r,config:s}=this,a=Object.keys(e).filter(e=>!f.includes(e)).reduce((t,i)=>(t[i]=e[i],t),{}),{pageId:o,companyId:n,websiteId:l,pageMeta:d}=s,c=r.localStorage.getItem("utm_vars")||"{}",u=r.localStorage.getItem("referrer")||"",h=this._getFormId(i);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:r.location.href,content:{...a,...JSON.parse(c)}},page:{pageId:o,companyId:n,websiteId:l,pageMeta:{...d,formId:h}},companyId:n,referrer:u,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,i=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
2850=>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")},i)}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 i=this._getFields(t),r=this._buildSubmissionData(e,i,t);u(this.window,this.document);let s=await this._waitForLeadSubmit(e=>this._submitLeadRequest(r,e));if(this._sendGAEvent(r),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,i={expired:!1,expiresAt:Date.now()+6e3},r=new Promise(e=>{t=setTimeout(()=>{i.expired=!0,e(null)},6e3)}),s=e(i).catch(e=>{if(h(i))return null;throw e});try{return await Promise.race([s,r])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(y),e.querySelector(`.${y}__indicator`))return;let t=this.document.createElement("div");t.className=`${y}__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:i}=this.config;if(!t||!i)return void console.warn("[EventBus] Missing required data for user alias");let r=this.window.eventBusProvider.getDistinctId();if(!r)return void console.warn("[EventBus] No anonymous ID available for alias");let s=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(i,t);this.window.eventBusProvider.alias({anonId:r,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:i}=this;return(this._aliasUserWithEventBus(e),i.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${i.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,i={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":i.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":i.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":i.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":i.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:i={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(i)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),i={};return t.forEach(t=>{let{id:r,name:s,type:a}=t;if(s===g)return!0;let o="";if(r){let i=e.querySelector(`label[for='${r}']`);i?o=i.textContent.trim():t.placeholder&&(o=t.placeholder.trim())}i[s]={label:o,type:t.tagName,inputType:"INPUT"===t.tagName?a:"text"}}),i}_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 i=e.querySelector(".submission-error-message");i||((i=this.document.createElement("div")).className="submission-error-message",i.setAttribute("role","alert"),e.appendChild(i)),i.textContent=t||"Something went wrong. Please try again.",i.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(U,window,document),O=new class extends d{constructor(e,t,i){super(e,t,i),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 i=1;i<=3;i+=1){let r=e&&!t;try{let e=await fetch(this._getMapKeyUrl(i,r));if(t=t||r,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),i<3&&await this._delay(300*2**(i-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let i=[];e>1&&i.push(`attempt=${e}`),t&&i.push("recovered_after_failure=1");let r=i.length?`?${i.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${r}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(v)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(v,"1"):this.window.sessionStorage.removeItem(v)}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");
2850let 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(i=>{i?t(i):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 i=Math.min(1024/e,1024/t);return{width:parseInt(e*i),height:parseInt(t*i)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let i=t.visibility?`visibility:${t.visibility}`:"",r=t.color?`color:${t.color.replace("#","0x")}`:"",s=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${i}${r}${s}`},""),i=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${i}${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:i}=await t.json();return i}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,i,r,s,a){let{width:o,height:n}=this.resizeStaticMapDimensions(s,a),l={center:`${e},${t}`,zoom:i,scale:2,size:`${o}x${n}`,key:this.apiKey};r&&(l.style=this.convertThemeToStaticApiUrl(r));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:i,...r}){let{width:s,height:a}=this.resizeStaticMapDimensions(e,t),o={...r,size:`${s}x${a}`};i&&(o.style=this.convertThemeToStaticApiUrl(i));let n=new URLSearchParams;Object.entries(o).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.append(e,t.toString())):n.append(e,t.toString())});let l=n.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(U,window,document),q=new class extends d{destroy(){}updateQueryString(e,t,i){i||(i=this.window.location.href);let r=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),s="";null!=t&&(Array.isArray(t)?t.length&&(s=this.serializeArray(e,t)):"object"==typeof t?(r=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),s=this.serializeObj(t,"",e)):s=`${e}=${encodeURIComponent(t)}`);let a=i.split("#"),o=a[0];if(r.test(i)){let e=o;for(s=s?`$1${s}$2`:"$1";r.test(e);)o=e.replace(r,s),e=e.replace(r,"$1");o=o.replace(/(&|\?)$/,"")}else if(s){let e=-1!==o.indexOf("?")?"&":"?";o+=`${e}${s}`}return void 0!==a[1]&&null!==a[1]&&(o+=`#${a[1]}`),o}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let i=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),r=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat();if(!r.length){let i=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return r=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat(),this._parseParamToObject(r,"advancedFilters"===e)}return r.length>3?r.reduce((e,t,i)=>((i+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):r[2]?decode
2850URIComponent(r[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 i={},r=this.makePageKey(t),s=this.getParameterByName(r);return s&&(i.page=parseInt(s)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,r),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){}i[e.formKey||e.param]=s}),i}serializeParams(e,t,i){let r=this.window.location.href,s=this.makePageKey(t);return r=this.updateQueryString(s,i.page,r),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),a=i[e.formKey||e.param];"json"===e.type&&null!=a&&(a=JSON.stringify(a)),r=this.updateQueryString(t,a,r)}),r}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",i=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${i}K`:`${this.formatSliderAtom(e/1e6,t)}${i}M`}formatSliderPriceRange(e,t,i,r){return t.min===e&&0!==e?`${r.lowPrefix}${this.formatSliderValue(e,i," ")}`:t.max===e?`${this.formatSliderValue(e,i," ")}${r.highSuffix}`:`${this.formatSliderValue(e,i," ")}`}formatSliderAreaRange(e,t,i,r){return t.min===e&&0!==e?`${r.lowPrefix}${this.formatSliderValue(e)} ${i}`:t.max===e?`${this.formatSliderValue(e)}${r.highSuffix} ${i}`:`${this.formatSliderValue(e)} ${i}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:i,areaSliderElement:r,neighborhoodSelect:s}=e,a={};if(t&&(a.search=t.value||null),i){let e=i.value.split(";"),t=parseInt(i.dataset.min),r=parseInt(i.dataset.max),s=parseInt(e[0]),o=parseInt(e[1]);a.priceMin=s!==t?s:null,a.priceMax=o!==r?o:null}if(r){let e=r.value.split(";"),t=parseInt(r.dataset.min),i=parseInt(r.dataset.max),s=parseInt(e[0]),o=parseInt(e[1]);a.areaMin=s!==t?s:null,a.areaMax=o!==i?o:null}return s&&(a.neighborhoodId=s.value||null),a}serializeObj(e,t="",i=""){let r=[];for(let s in e)if(e.hasOwnProperty(s)){let a,o=e[s];if(i){let e=t?`[${t}][${s}]`:`[${s}]`;a=`${i}${e}`}else a=t?`${t}[${s}]`:s;null!==o&&Array.isArray(o)?o.length&&r.push(this.serializeArray(a,o)):null!==o&&"object"==typeof o?r.push(this.serializeObj(o,a)):r.push(`${a}=${encodeURIComponent(o)}`)}return r.join("&")}serializeArray(e,t,i=""){let r=[];return t.forEach(t=>{let s=i?`${i}${e}`:e;r.push(`${s}=${encodeURIComponent(t)}`)}),r.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let i={};for(let r=0;r<e.length;r++)if((r+1)%3==0){let s=decodeURIComponent(e[r].replace(/\+/g," ")),a=e[r-1];Object.assign(i,this._setObjectPath(a,s,i,t))}return i}_setObjectPath(e,t,i,r=!1){let s=e.split(/[\[\]]/).filter(Boolean),a=["in","nin","btw","ciin","cinin"],o={},n=o,l=((e,t,i)=>{if(!t)return;let r=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===r?i:r})(i,s.join("."));return s.forEach((e,o)=>{o===s.length-1?l?n[e]=Array.isArray(l)?[...l,t]:[l,t]:n[e]=r&&a.includes(e)?[t]:t:(n[e]=i[e]?i[e]:{},n=n[e])}),o}}(U,window,document),V=new class extends d{constructor(e,t,i){super(e,t,i),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,i=e.closest("section[id]"),r=e.dataset.append,s=i.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>',r){let e=i.querySelector(r);e&&e.appendChild(s)}else{let i=t.createElement("div");i.className="lp-expand-btn-wrapper",i.style.position="relative",i.appendChild(s),e.parentNode.insertBefore(i,e.nextSibling)}s.addEventListener("click",()=>{this._createLightbox({slider:e,section:i})})}_createLightbox({slider:e,section:t,initialIndex:i}){let{window:r,document:s}=this,a=`lightbox-for-${t?.id}`,o=r.$&&r.$.fn.slick,n=o&&e.slick,l="function"==typeof r.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=s.createElement("div");t.id=a,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=`
2851      <button class="lp-lightbox__close" aria-label="close modal"></button>
2852      <div class="lp-lightbox__content">
2853        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
2854          <div class="splide__arrows">
2855            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
2856            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
2857          </div>
2858          <div class="splide__track">
2859            <ul class="splide__list"></ul>
2860          </div>
2861        </div>
2862      </div>
2863    `,"function"==typeof r.lpUI.requestScrollLock?r.lpUI.requestScrollLock(a):s.body.style.overflow="hidden",s.body.appendChild(t);let o=t.querySelector(".lp-lightbox__carousel"),n=o.querySelector(".splide__list");t.classList.add("show"),(d?e.querySelectorAll(".splide__slide:not(.splide__slide--clone) img"):e.querySelectorAll("img")).forEac
2863h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=s.createElement("li");i.className="lp-lightbox__slide splide__slide",i.appendChild(t),n.appendChild(i)});let l=new r.Splide(o,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==i&&i>=0&&l.go(i),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let i=t.querySelector(".splide__arrow--prev"),r=t.querySelector(".splide__arrow--next"),s=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&i?(e.preventDefault(),i.click()):"ArrowRight"===e.key&&r?(e.preventDefault(),r.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 r.lpUI.releaseScrollLock?r.lpUI.releaseScrollLock(a):s.body.style.overflow="",t.remove()})}if("function"==typeof r.lpUI.requestScrollLock?r.lpUI.requestScrollLock(a):s.body.style.overflow="hidden",o&&!d){let t,i,o,l,d;i={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>'},(o=s.createElement("div")).id=a,o.className="lp-lightbox",o.setAttribute("tabindex","-1"),o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.innerHTML=`
2864        <button class="lp-lightbox__close" aria-label="close modal"></button>
2865        <div class="lp-lightbox__content">
2866          <div class="lp-lightbox__carousel"></div>
2867        </div>
2868      `,s.body.appendChild(o),l=o.querySelector(".lp-lightbox__carousel"),o.classList.add("show"),n?(t=e.slick.$slides.find("img"),i.initialSlide=e.slick?.currentSlide||0,t.each(function(){r.$(".lp-lightbox__carousel").append(r.$(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 i=s.createElement("div");i.className="lp-lightbox__slide",i.appendChild(t),l.appendChild(i)}),r.$(l).slick(i),setTimeout(()=>{o.focus()},100),d=e=>{if(!o.classList.contains("show"))return;let t=o.querySelector(".lp-lightbox-arrow--prev"),i=o.querySelector(".lp-lightbox-arrow--next"),r=o.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&r&&(e.preventDefault(),r.click())},s.addEventListener("keydown",d),o.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",d),o.classList.remove("show");let t=l?.slick?r.$(l).slick("slickCurrentSlide"):0;l?.slick&&r.$(l).slick("unslick"),n&&r.$(e).slick("slickGoTo",t),"function"==typeof r.lpUI.releaseScrollLock?r.lpUI.releaseScrollLock(a):s.body.style.overflow="",o.remove()})}else l?c():(r.luxuryPresence.libs.loadCss(r.luxuryPresence.libs.jsLibsMap.splide.cssSrc),r.luxuryPresence.libs.loadJs(r.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),r.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(U,window,document),F=new class extends d{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:i,templateId:r,websiteId:s,pageId:a,shareId:o,pageMeta:n}=this.config;this.window.divolte.signal(e,Object.assign({companyId:i,templateId:r,websiteId:s,pageId:a,shareId:o,pageMeta:n},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(U,window,document),j=new class extends d{constructor(e,t,i){super(e,t,i)}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"}
2868)),(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:i}=this.config;try{this.window.eventBusProvider.capture(e,{company:i,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",{})}}(U,window,document),H=new class extends d{constructor(e,t,i){super(e,t,i),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(w,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:i}=this.config,{data:r,origin:s}=e,{type:a,height:o,event:n,source:l,token:d}=r;if(a===t||"hide_intermediate_iframe"===a){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=o,e.style.display=a===t?"unset":"none")}s===i&&"GOOGLE_SIGN_ON"===l&&("success"===n?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===n&&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 i=this.document.createElement("iframe");i.src=this._buildUrlAndCopyAttributes(t,i,e),i.dataset.isSocialOauthButton=!0,t.replaceWith(i)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(w);this.window.dispatchEvent(e),u(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,i){let{buyerSellerServiceUrl:r,companyId:s,websiteId:a,pageId:o,pageMeta:n}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${r}/buttons/${i}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",s),c.searchParams.append("websiteId",a),c.searchParams.append("pageId",o),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(n)),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"];
2868return 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,"/"),i=4-t.length%4,r=4===i?t:t+"=".repeat(i);return JSON.parse(atob(r))}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")}}}(U,window,document),G=new class extends d{constructor(e,t,i){super(e,t,i),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:i})=>{e&&e.removeEventListener&&e.removeEventListener(t,i)}),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 i=t.querySelector('input[name="email"]');i&&"string"==typeof e&&(i.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector(`#${this.modalId}-triggerSource`);i&&"string"==typeof e&&(i.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,i){let r="";if(i){let e=new Date;e.setTime(e.getTime()+864e5*i),r=`; 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||"")}${r}${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 i=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",i),this.eventListeners.push({element:t,event:"formsubmitted",handler:i})}let i=e.querySelector('[data-dismiss="modal"]');if(i){let t=()=>{e.style.display="none",this.restoreBodyScroll()};i.addEventListener("click",t),this.eventListeners.push({element:i,event:"click",handler:t})}let r=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",r),this.eventListeners.push({element:e,event:"click",handler:r})}}(U,window,document),K=new class extends d{constructor(e,t,i){super(e,t,i),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 i=`
2869      query {
2870        validSession {
2871          success
2872        }
2873      }
2874    `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:i})});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 r=t.data?.validSession?.success===!0;return this.lastValidationResult=r,this.lastValidationTime=Date.now(),r}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}}(U,window,document),z=new class extends d{constructor(e,t,i){super(e,t,i),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=b[e.provider];if(!t)return;this.eventName=t.eventName;let i=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||i)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(U,window,document),Q=new class extends d{destroy(){}transformVariables(e,t){let i;return _(i={...t},["testimonialId"]),I(i,["testimonialId"],"testimonialIds"),0===i.limit&&delete i.limit,(void 0===i.limit||null===i.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(i.limit=50),("agents"===e||"agentsCount"===e||"developments"===e||"developmentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(i.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(i),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":_(e,["testimonialIds"]);break;case"agents":case"agentsCount":_(e,["officeId","teamId","developmentId","agentIds","tags"]),I(e,["officeId"],"officeIds"),I(e,["teamId"],"teamIds"),I(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":_(e,["neighborhoodIds","neighborhoodId"]),I(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":_(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),I(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":_(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
2874spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>I(e,[t],t)),I(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),I(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),I(e,["networkId"],"networkId"),I(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":_(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),I(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":_(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),I(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":_(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),I(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":_(e,["officeId","officeIds","tags"]),I(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":_(e,["teamId","teamIds"]),I(e,["teamId"],"teamIds");break;case"pois":_(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(i,e),i}transformResponse(e,t){return"agent"===e?C(t,E):"agents"===e||"agentsCount"===e?k(t,A):"neighborhood"===e?C(t,L):"neighborhoods"===e||"neighborhoodsCount"===e?k(t,x):"development"===e?C(t,$):"developments"===e||"developmentsCount"===e?k(t,T):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}applyPropertyDisclaimers(t,i){if(!Array.isArray(t)||!t.length||!i||!i.length)return Promise.resolve(t);let r=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 r={};return(e||[]).forEach(e=>{r[`${e.feedId}:${e.listingId}`]=e}),t.map(e=>{let t=e&&r[`${e.vendorId}:${e.mlsId}`],s={};return i.forEach(e=>{let i=t?t[P[e]]:void 0;s[e]=i??null}),{...e,...s}})};if(!r.length)return Promise.resolve(s([]));let{websiteId:a}=this.config;return this.window.superagent?this.window.superagent.post(`${this.window.luxuryPresence.defaults.routerUrl}/graphql`).withCredentials().send({query:e(M),variables:{input:{websiteId:"string"==typeof a?a:void 0,properties:r}}}).then(e=>s(e.body&&e.body.data&&e.body.data.propertyDisclaimers),e=>(console.warn("[RouterApiController] propertyDisclaimers lookup failed:",e),s([]))):Promise.resolve(s([]))}}(U,window,document);function W(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}W("config",U),W("modals",N),W("buttons",R),W("validation",B),W("contactForms",D),W("mapApiLoader",O),W("pagination",q),W("expandSliders",V),W("divolte",F),W("eventBus",j),W("oauth",H),W("qualifyingQuestionsModal",G),W("session",K),W("consent",z),W("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(){}}),W("routerApi",Q),window.luxuryPresence.formatSliderPriceRange=q.formatSliderPriceRange.bind(q),window.luxuryPresence.formatSliderAreaRange=q.formatSliderAreaRange.bind(q),window.luxuryPresence.getSearchFormValues=q.getSearchFormValues.bind(q),window.luxuryPresence.handlebarsHelpersFactory=function(i){return e(t)(i,{isEqual:(e,t)=>e==t})}})();
2875//# sourceMappingURL=lp-sdk.js.map
2876
2877    </script>
2877
2878
2879    
2879<script>
2880        var lpGlobalInitialized = false;
2881
2882        function lpGlobalInit () {
2883          if (lpGlobalInitialized) {
2884            return;
2885          }
2886            lpGlobalInitialized = true;
2887            // Initialize wow animation plugin only according to turbolinks
2888            var wow;
2889            if (window.WOW) {
2890                wow = new WOW({
2891                    animateClass: 'animated',
2892                    offset: wowOffset,
2893                    live: false,
2894                    callback: function(box) {}
2895                });
2896            }
2897            // Initialize handlebar helpers only once
2898            function handlebarsInit() {
2899              if (!window.Handlebars) {
2900                return;
2901              }
2902              HandlebarsIntl.registerWith(Handlebars);
2903              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
2904            }
2905
2906            handlebarsInit();
2907
2908              var modalContentUrl = "/modals.html";
2909                const modalsContainer = document.getElementById('modals');
2910                if (modalsContainer) {
2911                  fetch(modalContentUrl).then(function(res) {
2912                    if (!res.ok) {
2913                      throw new Error(`HTTP error! Status: ${res.status}`);
2914                    }
2915                    return res.text();
2916                  }).then(function(resultText) {
2917                    modalsContainer.innerHTML = resultText;
2918
2919                    // now we need to execute all script elements
2920                    Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) {
2921                      const script  = document.createElement("script");
2922                      script.text = s.innerHTML;
2923                      Array.from(s.attributes).forEach(function (a) {
2924                        script.setAttribute(a.name, a.value);
2925                      })
2926                      s.parentNode.replaceChild(script, s);
2927                    });
2928
2929                    try {
2930                      window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes);
2931                      window.luxuryPresence.contactForms.initialize({ selector: '#modals' });
2932                      window.luxuryPresence.validation.initialize({ selector: '#modals' });
2933                      window.luxuryPresence.oauth.initialize({
2934                        googleSignOnEnabled: true,
2935                        iframe: false });
2936                    } catch (e) {
2937                      console.log(e);
2938                    }
2939                    document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => {
2940                      closeModalBtn.addEventListener('click', function() {
2941                        window.lpUI.hideClosestModal(closeModalBtn);
2942                      });
2943                    });
2944                  }).catch((e) => console.log(e));
2945                }
2946            /* Initialize Luxury Presence SDK */
2947            try {
2948                window.luxuryPresence.config.setCompany("e6d253ae-e8f4-4213-aef5-7ad077e555af", {});
2949                window.luxuryPresence.config.setWebsite("7afcf2a6-6e2c-40b1-88ba-038553fc87dc", {
2950                    myhomeDashboardEnabled: false,
2951                    mlsEnabled: true,
2952                    hstValuationRedirectEnabled: true,
2953                    hvStepTwoCaptureEnabled: false
2954                });
2955                const url = new URL(window.location.href);
2956                const shareId = url.searchParams.get('shareId');
2957                window.luxuryPresence.config.setPage("0299cb75-d2ad-4078-81f8-42fbb87b417a", {
2958                    sourceResource: "",
2959                    pageElementId: "",
2960                    pageQueryVariables: {},
2961                    shareId: "",
2962                });
2963                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
2964                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
2965                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
2966                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
2967                  window.luxuryPresence.config.setEventBus({
2968                    enabled: true,
2969                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
2970                    url: "https://p.luxurypresence.com",
2971                  });
2972                window.luxuryPresence.config.setTemplateId("13556867-54b0-4457-860a-3c8b4d742f53", {});
2973                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
2974                window.luxuryPresence.buttons.initialize({});
2975                    window.luxuryPresence.consent.initialize({ provider: 'lp-consent' });
2976                window.luxuryPresence.contactForms.initialize({});
2977                window.luxuryPresence.validation.initialize({});
2978                window.luxuryPresence.expandSliders.initialize({});
2979                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
2980                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
2981            } catch (e) {
2982                console.log(e);
2983            }
2984
2985            /* Inject Section Specific Javascript */
2986                try {
2987(function init(sectionDomId) {
2988  var subNavs = $('nav').find('.sub-nav');
2989  for (var i = 0; i < subNavs.length; i++) {
2990    var subNavChildren = $(subNavs[i]).find('ul').children();
2991    var maxLength = 0;
2992    for (var j = 0; j < subNavChildren.length; j++) {
2993      var item = $(subNavChildren[j]).text();
2994      if (maxLength <= item.length) {
2995        maxLength = item.length;
2996      }
2997    }
2998    if (maxLength > 40) {
2999      $(subNavs[i]).css('width', '300px');
3000    }
3001  }
3002})('global-navbar');
3003} catch(e) {
3004console.log(e);
3005}
3006                try {
3007(function init(sectionDomId, options) {
3008  var elementSelector = options.elementSelector || 'nav';
3009  var element = document.querySelector(elementSelector);
3010  var sections = document.querySelectorAll('body > section');
3011  var subNavContainers = element.querySelectorAll('.sub-nav');
3012  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
3013  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
3014  var fontColor = options.fontColor || '#fff';
3015  var fontColorScroll = options.fontColorScroll || '#000';
3016  var didScroll = false;
3017  var lastScrollTop = 0;
3018  var delta = 5;
3019
3020  // eslint-disable-next-line sonarjs/no-collapsible-if
3021  if (wow) {
3022    // Wowjs might not trigger for position fixed elements
3023    if (window.scrollY > 0) {
3024      element.querySelectorAll('.wow').forEach(el => wow.show(el));
3025    }
3026  }
3027  function adjustNavPinState() {
3028    // Remove 'visible' class from all subNavContainers
3029    for (let i = 0; i < subNavContainers.length; i++) {
3030      subNavContainers[i].classList.remove('visible');
3031    }
3032    if (window.scrollY > 0) {
3033      element.style.backgroundColor = backgroundColorScroll;
3034      element.style.color = fontColorScroll;
3035      element.classList.add('scroll');
3036    } else {
3037      element.style.backgroundColor = initialBackgroundColor;
3038      element.style.color = fontColor;
3039      element.classList.remove('scroll');
3040    }
3041  }
3042  adjustNavPinState();
3043  function onScroll() {
3044    didScroll = true;
3045  }
3046  window.addEventListener('scroll', onScroll);
3047
3048  // eslint-disable-next-line
3049  var debounceInterval = setInterval(() => {
3050    if (didScroll) {
3051      // eslint-disable-next-line
3052      hasScrolled();
3053      didScroll = false;
3054    }
3055  }, 250);
3056  function hasScrolled() {
3057    adjustNavPinState();
3058    // eslint-disable-next-line
3059    var navbarHeight = element.offsetHeight;
3060    // eslint-disable-next-line
3061    var st = window.scrollY;
3062
3063    // Make sure they scroll more than delta
3064    if (Math.abs(lastScrollTop - st) <= delta) {
3065      return;
3066    }
3067    if (st > lastScrollTop && st > navbarHeight) {
3068      // Scroll Down
3069      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
3070      document.documentElement.style.setProperty('--global-header-height', '0px');
3071
3072      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
3073      sections.forEach(section => {
3074        if (section.classList.contains('sticky')) {
3075          section.style.top = '0px';
3076        }
3077      });
3078    } else {
3079      // Scroll Up
3080      // eslint-disable-next-line
3081      if (st + window.innerHeight < document.documentElement.scrollHeight) {
3082        element.style.transform = `translateY(0) scaleY(1)`;
3083        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
3084        sections.forEach(section => {
3085          if (section.classList.contains('sticky')) {
3086            section.style.top = `${navbarHeight}px`;
3087          }
3088        });
3089      }
3090    }
3091    lastScrollTop = st;
3092  }
3093})('NAVBAR', JSON.parse("{\"elementSelector\":\"nav .navbar\",\"backgroundColorScroll\":\"#fff\"}"));
3094} catch(e) {
3095console.log(e);
3096}
3097                try {
3098(function init(sectionDomId) {})('global-sidemenu');
3099} catch(e) {
3100console.log(e);
3101}
3102                
3103                try {
3104(function init(sectionDomId) {
3105  $("#" + sectionDomId + " form").on("reset", function () {
3106    if ($('#' + sectionDomId + ' .redirect-link').length) {
3107      $('#' + sectionDomId + ' .redirect-link')[0].click();
3108    }
3109  });
3110})('global-footer');
3111} catch(e) {
3112console.log(e);
3113}
3114                
3115                try {
3116(function init(sectionDomId) {
3117  window.luxuryPresence.mapApiLoader.load().then(() => {
3118    const $section = $('#' + sectionDomId);
3119    const $mobileContacts = $section.find('.mobile-contact');
3120    const $searchButton = $section.find('.search-button');
3121    if (!$searchButton.length) {
3122      return;
3123    }
3124    const searchMls = $searchButton[0].dataset.searchMode === 'Search MLS' || $searchButton[0].dataset.searchMode === 'Search My Properties and MLS';
3125    const searchProperties = $searchButton[0].dataset.searchMode === 'Search My Properties' || $searchButton[0].dataset.searchMode === 'Search My Properties and MLS';
3126    const searchPlaces = searchMls;
3127    if (!searchMls && !searchProperties) {
3128      return;
3129    }
3130    const $searchWrapper = $section.find('.search-wrapper');
3131    const $searchInput = $section.find('.search-input');
3132    const $searchResults = $section.find('.search-results');
3133    const $resultsContainer = $section.find('.results-container');
3134    const $loader = $section.find('.search-in-progress');
3135    const $navBar = $section.find('.nav.navbar-nav');
3136    const $navBarHeader = $section.find('.navbar-header');
3137    const searchDelay = 300;
3138    const maxPlaces = 3;
3139    const service = new google.maps.places.AutocompleteService();
3140    const geocoder = new google.maps.Geocoder();
3141    function updateResultsVisibility() {
3142      if ($resultsContainer.html()) {
3143        $resultsContainer.show();
3144      } else {
3145        $resultsContainer.hide();
3146      }
3147      var loaderHeight = $loader[0].getBoundingClientRect().height;
3148      var resultsHeight = $resultsContainer[0].getBoundingClientRect().height;
3149      $searchResults.css('height', loaderHeight + resultsHeight + 'px');
3150    }
3151    function showLoading() {
3152      if (!$resultsContainer.html()) {
3153        $loader.removeClass('not-visible');
3154      }
3155      updateResultsVisibility();
3156    }
3157    function hideLoading() {
3158      $loader.addClass('not-visible');
3159      updateResultsVisibility();
3160    }
3161    var newSearchTimer;
3162    function inputChanged() {
3163      window.clearTimeout(newSearchTimer);
3164      newSearchTimer = window.setTimeout(startSearch, searchDelay);
3165    }
3166    var keyword;
3167    function startSearch() {
3168      const term = $searchInput.val();
3169      if (term === keyword) {
3170        return;
3171      }
3172      keyword = term;
3173      if (term) {
3174        doSearch(term);
3175      } else {
3176        setResults(null);
3177      }
3178    }
3179    function mlsSearch(term) {
3180      return window.luxuryPresence.getMLSAutocomplete(term).then(function (result) {
3181        if (Array.isArray(result)) {
3182          result.forEach(function (item, idx) {
3183            item.__idx = idx;
3184            item.__status_idx = item.status === 'Sold' ? 2 : 1;
3185          });
3186          result.sort(function (a, b) {
3187            const dif = a.__status_idx - b.__status_idx;
3188            if (dif === 0) {
3189              return a.__idx - b.__idx;
3190            }
3191            return dif;
3192          });
3193        }
3194        return result;
3195      }).catch(function (e) {
3196        console.log(e);
3197        return [];
3198      });
3199    }
3200    function resolveGeoBounds(placeId, description) {
3201      return new Promise(function (resolve, reject) {
3202        geocoder.geocode({
3203          'placeId': placeId
3204        }, function (results, status) {
3205          if (status != 'OK') {
3206            return resolve(null);
3207          }
3208          var result = results[0];
3209          var bounds = new google.maps.LatLngBounds();
3210          bounds.extend(result.geometry.viewport.getSouthWest());
3211          bounds.extend(result.geometry.viewport.getNorthEast());
3212          result.geometry.bounds = bounds.toJSON();
3213          var placeUrl = window.luxuryPresence.makeMlsLink(result);
3214          return resolve({
3215            placeUrl: placeUrl,
3216            description: description
3217          });
3218        });
3219      });
3220    }
3221    function placesSearch(term) {
3222      var request = {
3223        input: term,
3224        componentRestrictions: {
3225          country: 'us'
3226        },
3227        types: ['(regions)'],
3228        limit: 1
3229      };
3230      return new Promise(function (resolve, reject) {
3231        service.getPlacePredictions(request, function (results, status) {
3232          if (term !== keyword) {
3233            return resolve([]);
3234          }
3235          if (status === google.maps.places.PlacesServiceStatus.OK) {
3236            var geoResultPromises = results.slice(0, maxPlaces).map(function (result) {
3237              return resolveGeoBounds(result.place_id, result.description);
3238            });
3239            Promise.all(geoResultPromises).then(function (geoLinks) {
3240              return resolve(geoLinks.filter(function (i) {
3241                return i;
3242              }));
3243            });
3244          } else {
3245            return resolve([]);
3246          }
3247        });
3248      });
3249    }
3250    function propertiesSearch(term) {
3251      var payload = {
3252        companyId: window.luxuryPresence.defaults.companyId,
3253        search: term,
3254        offset: 0,
3255        limit: 6,
3256        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"]
3257      };
3258      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}}}';
3259      return superagent.post(window.luxuryPresence.defaults.routerUrl + '/graphql').send({
3260        query: gqlQuery,
3261        variables: window.luxuryPresence.routerApi.transformVariables('properties', payload)
3262      }).then(function (res) {
3263        var page = (res.body.data || {}).properties;
3264        return page && page.items || [];
3265      }, function (err) {
3266        return [];
3267      });
3268    }
3269    function doSearch(term) {
3270      showLoading();
3271      Promise.all([searchMls ? mlsSearch(term) : [], searchPlaces ? placesSearch(term) : [], searchProperties ? propertiesSearch(term) : []]).then(function (res) {
3272        if (term !== keyword) {
3273          return;
3274        }
3275        setResults(res[0], res[1], res[2]);
3276      });
3277    }
3278    function setResults(mlsResults, placesResults, propertiesResults) {
3279      hideLoading();
3280      if (!mlsResults) {
3281        $resultsContainer.html('');
3282        updateResultsVisibility();
3283        return;
3284      }
3285      if (!mlsResults.length && !placesResults.length && !propertiesResults.length) {
3286        $resultsContainer.html('<div class="nothing-found">No results found</div>');
3287        updateResultsVisibility();
3288        return;
3289      }
3290      var propertiesHtml = propertiesResults.reduce(function (acc, result) {
3291        acc += `<a href="/properties/${result.slug}" class="results-link result-self">${result.privateAddress ? result.name : result.fullAddress}</a>`;
3292        return acc;
3293      }, '');
3294      var placesHtml = placesResults.reduce(function (acc, result) {
3295        acc += `<a class="results-link result-place" href="${result.placeUrl}">${result.description}</a>`;
3296        return acc;
3297      }, '');
3298      var mlsHtml = mlsResults.reduce(function (acc, result) {
3299        acc += `<a href="/home-search/listings/${result.id}" class="results-link result-search">${result.display_address}</a>`;
3300        return acc;
3301      }, '');
3302      $resultsContainer.html(propertiesHtml + mlsHtml + placesHtml);
3303      updateResultsVisibility();
3304    }
3305    $searchInput.on('keyup', inputChanged);
3306    function toggleSearch() {
3307      if ($searchButton.hasClass('active')) {
3308        $searchButton.removeClass('active');
3309        $searchWrapper.removeClass('active');
3310        $searchInput.val('');
3311        setResults(null);
3312        $mobileContacts[0].style.zIndex = '';
3313      } else {
3314        $mobileContacts[0].style.zIndex = '102';
3315        $searchButton.addClass('active');
3316        $searchWrapper.addClass('active');
3317      }
3318    }
3319    $searchButton.on('click', toggleSearch);
3320  });
3321})('global-mobile-contact');
3322} catch(e) {
3323console.log(e);
3324}
3325                
3326                try {
3327(function init(){})('section-2f1a6577-1ccd-43a3-ad06-85544d73063d', 'undefined');
3328} catch(e) {
3329console.log(e);
3330}
3331                try {
3332(function init(sectionDomId, options) {
3333  let section = null;
3334  switch (sectionDomId) {
3335    case 'NAVBAR':
3336      section = document.querySelector('body > nav, #global-navbar');
3337      break;
3338    case 'FOOTER':
3339      section = document.querySelector('body > footer, #global-footer');
3340      break;
3341    case 'SIDEMENU':
3342      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
3343      break;
3344    case 'CONTACT':
3345      section = document.querySelector('#modal-global-contact-us');
3346      break;
3347    case 'MOBILE_CONTACT':
3348      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
3349      break;
3350    case 'SUBSCRIBE':
3351      // Subscribe Not Implemented
3352      section = null;
3353      break;
3354    case 'ACCOUNT':
3355      // Account Not Implemented
3356      section = null;
3357      break;
3358    default:
3359      section = document.querySelector('#' + sectionDomId);
3360  }
3361  if (!section) {
3362    return;
3363  }
3364
3365  // Where content / items are rendered
3366  const dataContainer = section.querySelector('.data-container');
3367  if (!dataContainer) {
3368    // no place to render items = no need to query server or do anything else
3369    return;
3370  }
3371  let variables = options.variables || {};
3372
3373  // Some variables in options may not have been injected - remove
3374  Object.keys(variables).forEach(function (variableName) {
3375    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
3376      delete variables[variableName];
3377    }
3378  });
3379
3380  // Merge page query variables
3381  if (options.usePageResource) {
3382    variables = {
3383      ...variables,
3384      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
3385    };
3386  }
3387
3388  // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers
3389  // resolve the flag — fetchData reads the section stamp, aux fetches read
3390  // their own resource's stamp (auxUsesRouter).
3391  function apiUrl(useRouter) {
3392    return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl);
3393  }
3394
3395  // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's
3396  // (options.routerApiAux is stamped per aux resource server-side).
3397  function auxUsesRouter(resource) {
3398    return !!(options.routerApiAux && options.routerApiAux[resource]);
3399  }
3400
3401  // Pagination Executes on a Numbered Pagination Container
3402  //  Or via a load more button
3403  let mode = 'BUTTONLESS_PAGINATION';
3404  const container = section.querySelector('.pagination-container');
3405  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
3406  if (container) {
3407    mode = 'NUMBERED_PAGINATION';
3408  }
3409  if (loadMoreButton) {
3410    mode = 'LOAD_MORE_BUTTON';
3411  }
3412  let searchContainer = section.querySelector('.search-container');
3413  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
3414  const eventPrefix = '__pagination-';
3415  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
3416    param: 'neighborhoodId',
3417    urlKey: 'neighborhood'
3418  }, {
3419    param: 'search',
3420    urlKey: 'search'
3421  }, {
3422    param: 'salesPriceGTE',
3423    urlKey: 'pricemin',
3424    formKey: 'priceMin',
3425    type: 'int'
3426  }, {
3427    param: 'salesPriceLTE',
3428    urlKey: 'pricemax',
3429    formKey: 'priceMax',
3430    type: 'int'
3431  }, {
3432    param: 'livingSpaceSizeGTE',
3433    urlKey: 'areamin',
3434    formKey: 'areaMin',
3435    type: 'int'
3436  }, {
3437    param: 'livingSpaceSizeLTE',
3438    urlKey: 'areamax',
3439    formKey: 'areaMax',
3440    type: 'int'
3441  }] : []);
3442
3443  // Total entries - initialized in first render
3444  let totalNumber = 0;
3445  const DefaultSearchParams = {
3446    page: 1
3447  };
3448  searchFormParams.forEach(function (formParam) {
3449    DefaultSearchParams[formParam.formKey || formParam.param] = null;
3450  });
3451  let searchParams = {
3452    ...DefaultSearchParams
3453  };
3454  const offset = options.variables?.offset || 0;
3455  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
3456  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;
3457
3458  // entries of per page
3459  // when query variables for a given section would't be filled options.pageSize can store
3460  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
3461  let pageSize = parseInt(options.pageSize, 10) || 9;
3462
3463  // Adding mobile pageRange support
3464  var NARROW_BREAKPOINT = 600;
3465  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
3466  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);
3467
3468  // Page range (pages on both sides of the current page)
3469  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
3470  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
3471  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;
3472
3473  // Whether to display the 'Previous' button
3474  var showPrevious = true;
3475
3476  // Whether to display the 'Next' button
3477  var showNext = true;
3478
3479  // Whether to display the page buttons
3480  var showPageNumbers = true;
3481
3482  // 'Previous' text
3483  var prevText = options.prevText || '&laquo;';
3484
3485  // 'Next' text
3486  var nextText = options.nextText || '&raquo;';
3487
3488  // Ellipsis text
3489  var ellipsisText = '&hellip;';
3490  var classPrefix = 'paginationjs';
3491
3492  // Default active class
3493  var activeClassName = 'active';
3494
3495  // Default disable class
3496  var disableClassName = 'disabled';
3497
3498  // Pagination element's position in the container
3499  var position = 'bottom';
3500
3501  // Whether to trigger pagination at initialization
3502  var triggerPagingOnInit = !options.skipInitialLoad;
3503  var showFirstOnEllipsisShow = true;
3504  var showLastOnEllipsisShow = true;
3505
3506  // Instantiated in init()
3507  var el = null;
3508
3509  // Controls scrollTop logic
3510  var firstRender = true;
3511  var renderBySearch = false;
3512  var disabled = false;
3513
3514  // Pagination script class selector
3515  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';
3516
3517  // Property Specific Image Override if No Image
3518  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;
3519
3520  // Construct template
3521  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
3522  var template = Handlebars.compile(templateHTML);
3523
3524  // Initialize
3525  init();
3526  function init() {
3527    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
3528
3529    // Append/prepend pagination element to the pagination container
3530    if (mode === 'NUMBERED_PAGINATION') {
3531      el = document.createElement('div');
3532      el.className = 'paginationjs';
3533      container[position === 'bottom' ? 'append' : 'prepend'](el);
3534    }
3535    if (searchContainer) {
3536      initSearchContainer({
3537        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
3538        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
3539        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
3540        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
3541      }, function () {
3542        syncSearchFormState(searchParams);
3543      });
3544    }
3545
3546    // Bind events
3547    observer();
3548  }
3549  function syncSearchFormState(params) {
3550    searchContainer.dispatchEvent(new CustomEvent('sync', {
3551      detail: params
3552    }));
3553  }
3554  function initSearchContainer(options, done) {
3555    var promises = [];
3556    if (options.fetchNeighborhoods) {
3557      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
3558        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
3559          detail: {
3560            data: neighborhoods.map(function (item) {
3561              return {
3562                value: item.id,
3563                label: item.name
3564              };
3565            })
3566          }
3567        }));
3568      }));
3569    }
3570    if (options.fetchPostCategories) {
3571      promises.push(fetchPostCategories(function (categories) {
3572        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
3573          detail: {
3574            data: categories
3575          }
3576        }));
3577      }));
3578    }
3579    if (options.fetchOffices) {
3580      promises.push(fetchOffices(function (offices) {
3581        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
3582          detail: {
3583            data: offices
3584          }
3585        }));
3586      }));
3587    }
3588    if (options.fetchRentalRates) {
3589      promises.push(fetchAllRentalRates(function (rentalRates) {
3590        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
3591          detail: {
3592            data: rentalRates
3593          }
3594        }));
3595      }));
3596    }
3597    if (promises.length > 0) {
3598      Promise.all(promises).then(function () {
3599        done();
3600      });
3601    } else {
3602      // element's custom code is not executed yet, so we're scheduling callback to after element's code
3603      setTimeout(done);
3604    }
3605  }
3606  function fetchAllNeighborhoods(done) {
3607    var useRouter = auxUsesRouter('neighborhoods');
3608    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same
3609    // args on both APIs (the federated neighborhoods field accepts
3610    // withProperties/withBlogPosts); only the selection set differs.
3611    var gqlQuery = 'query ($companyId: String, $withProperties: NeighborhoodPropertiesFilter, $withBlogPosts: NeighborhoodBlogPostsFilter, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, withProperties: $withProperties, withBlogPosts: $withBlogPosts, offset: $offset, limit: $limit) {' + (useRouter ? 'items {id, name}' : 'id, name') + '}}';
3612    var payload = {};
3613    payload.offset = 0;
3614    payload.limit = 100;
3615    payload.companyId = variables.companyId;
3616    if (options.resource === 'properties') {
3617      payload.withProperties = {
3618        active: true
3619      };
3620      ['agentIds', 'tag', 'propertyTypeId', 'statusIds', 'architectureStyle', 'lifestyle', 'salesPriceGTE', 'salesPriceLTE', 'leasePriceGTE', 'leasePriceLTE', 'livingSpaceSizeGTE', 'livingSpaceSizeLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'featuredListing', 'leaseProperty', 'neighborhoodId', 'developmentId', 'openHouse'].forEach(function (field) {
3621        if (variables[field] !== undefined && variables[field] !== null) {
3622          payload.withProperties[field] = variables[field];
3623        }
3624      });
3625    }
3626    if (options.resource === 'posts') {
3627      payload.withBlogPosts = {
3628        active: true
3629      };
3630      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
3631        if (variables[field] !== undefined && variables[field] !== null) {
3632          payload.withBlogPosts[field] = variables[field];
3633        }
3634      });
3635    }
3636
3637    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3638    if (useRouter) {
3639      payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload);
3640    }
3641    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
3642      query: gqlQuery,
3643      variables: payload
3644    }).then(function (res) {
3645      var value = res.body.data && res.body.data.neighborhoods || {};
3646      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3647      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
3648      done(items, items.length);
3649    });
3650  }
3651  function fetchPostCategories(done) {
3652    var featured = options.resource === 'posts' && !!variables.featured;
3653    var useRouter = auxUsesRouter('postCategories');
3654    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
3655    // selection set differs ({ items {...} } on the router).
3656    var selection = 'id, name, publishedCount, featuredPublishedCount';
3657    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'postCategories (companyId: $companyId, offset: $offset, limit: $limit ' + (featured ? ' withFeaturedPublishedOnly: true' : ' withPublishedOnly: true') + ') {' + (useRouter ? 'items {' + selection + '}' : selection) + '}}';
3658    var payload = {};
3659    payload.offset = 0;
3660    payload.limit = 100;
3661    payload.companyId = variables.companyId;
3662    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
3663      query: gqlQuery,
3664      variables: payload
3665    }).then(function (res) {
3666      var value = res.body.data && res.body.data.postCategories || {};
3667      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3668      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
3669      done(items.map(function (item) {
3670        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
3671        return item;
3672      }), items.length);
3673    });
3674  }
3675  function fetchOffices(done) {
3676    var useRouter = auxUsesRouter('offices');
3677    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
3678    // selection set differs ({ items {...} } on the router).
3679    var selection = 'id, name, tags';
3680    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two
3681    // APIs differ in more than the items wrapper: federated offices takes
3682    // companyId: ID! (legacy gateway: String), so each branch builds its whole doc.
3683    var gqlQuery = useRouter ? 'query ($companyId: ID!, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + 'items {' + selection + '}}}' : 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + selection + '}}';
3684    var payload = {
3685      offset: 0,
3686      limit: 100,
3687      companyId: variables.companyId
3688    };
3689
3690    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3691    if (useRouter) {
3692      payload = window.luxuryPresence.routerApi.transformVariables('office
3692s', payload);
3693    }
3694    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
3695      query: gqlQuery,
3696      variables: payload
3697    }).then(function (res) {
3698      var value = res.body.data && res.body.data.offices || {};
3699      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3700      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
3701      done(items, items.length);
3702    });
3703  }
3704
3705  // ROUTER-CLEANUP: no rentalRates field on the federated router — legacy only.
3706  function fetchAllRentalRates(done) {
3707    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
3708    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
3709    var payload = {
3710      offset: 0,
3711      limit: 100,
3712      companyId: variables.companyId
3713    };
3714    superagent.post(url + '/graphql').withCredentials().send({
3715      query: gqlQuery,
3716      variables: payload
3717    }).then(function (res) {
3718      var items = res.body.data && res.body.data.rentalRates || [];
3719      done(items, items.length);
3720    }).catch(function (err) {
3721      console.error('Error fetching rental rates:', err);
3722      done([], 0);
3723    });
3724  }
3725  function fetchData(params, done) {
3726    var resource = options.resource;
3727    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
3728    var payload = {};
3729    try {
3730      payload = JSON.parse(JSON.stringify(variables));
3731    } catch (e) {
3732      Object.keys(variables).forEach(function (variableName) {
3733        payload[variableName] = variables[variableName];
3734      });
3735    }
3736    payload.offset = (params.page - 1) * pageSize + offset;
3737    payload.limit = pageSize;
3738    payload.companyId = options.companyId;
3739    searchFormParams.forEach(function (formParam) {
3740      var val = params[formParam.formKey || formParam.param];
3741      if (val !== null && val !== undefined) {
3742        objSet(payload, formParam.param, val);
3743      }
3744    });
3745
3746    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3747    if (options.useRouterApi) {
3748      payload = window.luxuryPresence.routerApi.transformVariables(resource, payload);
3749    }
3750
3751    // TODO: Disabled loading due to jarring effect
3752    // dataContainer.html('Loading...');
3753    superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({
3754      query: gqlQuery,
3755      variables: payload
3756    }).then(function (res) {
3757      if (res.body.errors) {
3758        done(res.body.errors);
3759        return;
3760      }
3761      var data = res.body.data || {};
3762      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
3763      var resources;
3764      var resourceCount;
3765      if (options.useRouterApi) {
3766        var page = window.luxuryPresence.routerApi.transformPage(data[resource]);
3767        resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items);
3768        resourceCount = page.count;
3769      } else {
3770        resources = data[resource] || [];
3771        resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
3772      }
3773      const finish = function (items) {
3774        if (resource === 'properties' && propertyPlaceholderImage?.id) {
3775          items = items.map(item => {
3776            if (item.media?.length === 0) {
3777              return Object.assign(item, {
3778                media: [propertyPlaceholderImage]
3779              });
3780            }
3781            return item;
3782          });
3783        }
3784        done(null, items, resourceCount);
3785      };
3786
3787      // ROUTER-CLEANUP: client half of PLAT-4073 — resolve the requested
3788      // disclaimers before rendering; older SDKs skip (keys stay unset).
3789      if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') {
3790        window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish);
3791        return;
3792      }
3793      finish(resources);
3794    });
3795  }
3796  function getTotalPage() {
3797    return Math.ceil(totalNumber / pageSize);
3798  }
3799  function renderPaginationList() {
3800    var totalPages = getTotalPage();
3801    var rangeStart = searchParams.page - pageRange;
3802    var rangeEnd = searchParams.page + pageRange;
3803    if (rangeEnd > totalPages) {
3804      rangeEnd = totalPages;
3805      rangeStart = totalPages - pageRange * 2;
3806      rangeStart = rangeStart < 1 ? 1 : rangeStart;
3807    }
3808    if (rangeStart <= 1) {
3809      rangeStart = 1;
3810      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
3811    }
3812
3813    // Making sure that 1 more page button is shown in edge positions
3814    if (pageRange === 0) {
3815      if (searchParams.page === totalPages) {
3816        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
3817      }
3818      if (searchParams.page === 1) {
3819        rangeEnd = Math.min(2, totalPages);
3820      }
3821    }
3822
3823    // Render pagination list
3824    if (mode === 'NUMBERED_PAGINATION') {
3825      el.innerHTML = generateHTML({
3826        currentPage: searchParams.page,
3827        pageRange: pageRange,
3828        rangeStart: rangeStart,
3829        rangeEnd: rangeEnd
3830      });
3831      if (totalPages < 2 && hidePaginationOnFirstPage) {
3832        container.style.display = 'none';
3833      } else {
3834        container.style.display = '';
3835      }
3836    } else if (mode === 'LOAD_MORE_BUTTON') {
3837      if (searchParams.page >= totalPages) {
3838        loadMoreButton.style.display = 'none';
3839      } else {
3840        loadMoreButton.style.display = '';
3841      }
3842    }
3843  }
3844  function render(data) {
3845    renderPaginationList();
3846
3847    // Render new content with handlebars
3848    var html = '';
3849    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
3850      // If using load more, append search results to existing results
3851      html = dataContainer.innerHTML;
3852    }
3853    for (var i = 0; i < data.length; i++) {
3854      var itemData = recursivelyParse(data[i]);
3855      itemData.sectionIndex = options.sectionIndex;
3856      itemData.renderOptions = options.renderOptions;
3857      html += template(itemData);
3858    }
3859    dataContainer.innerHTML = html;
3860
3861    // Scroll Top
3862    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
3863      // Only animate to the top if we replace dataContainer (numbered pagination)
3864      setTimeout(() => {
3865        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
3866        window.scrollTo({
3867          top: scrollTargetOffsetTop,
3868          behavior: 'smooth'
3869        });
3870      }, 250);
3871    }
3872    return true;
3873  }
3874  function generateHTML(args) {
3875    const totalPages = getTotalPage();
3876    const {
3877      rangeStart,
3878      rangeEnd
3879    } = args;
3880    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
3881      ...searchParams,
3882      page
3883    });
3884    let html = '';
3885    if (showPrevious || showPageNumbers || showNext) {
3886      html += '<div class="paginationjs-pages"><ul>';
3887
3888      // Previous button
3889      if (showPrevious) {
3890        if (searchParams.page <= 1) {
3891          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
3892        } else {
3893          html += `<li class="${classPrefix}-prev J-paginationjs-previous" data-num="${searchParams.page - 1}" title="Previous page"><a href="${makeLnk(searchParams.page - 1)}">${prevText}</a></li>`;
3894        }
3895      }
3896
3897      // Pages
3898      if (showPageNumbers) {
3899        if (rangeStart <= 3) {
3900          for (let i = 1; i < rangeStart; i++) {
3901            html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
3902          }
3903        } else {
3904          if (showFirstOnEllipsisShow) {
3905            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
3906          }
3907          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
3908        }
3909        for (let i = rangeStart; i <= rangeEnd; i++) {
3910          html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
3911        }
3912        if (rangeEnd < totalPages - 2) {
3913          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
3914          if (showLastOnEllipsisShow) {
3915            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
3916          }
3917        } else {
3918          for (let i = rangeEnd + 1; i <= totalPages; i++) {
3919            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
3920          }
3921        }
3922      }
3923
3924      // Next button
3925      if (showNext) {
3926        if (searchParams.page >= totalPages) {
3927          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
3928        } else {
3929          html += `<li class="${classPrefix}-next J-paginationjs-next" data-num="${searchParams.page + 1}" title="Next page"><a href="${makeLnk(searchParams.page + 1)}">${nextText}</a></li>`;
3930        }
3931      }
3932      html += '</ul></div>';
3933    }
3934    return html;
3935  }
3936  function go(newSearchParams, callback, restorationVisit) {
3937    if (disabled) return;
3938    var goToPageNumber = newSearchParams.page;
3939
3940    // Page number is out of bounds
3941    if (!goToPageNumber || goToPageNumber < 1) return;
3942    var totalPage = getTotalPage();
3943
3944    // Page number is out of bounds
3945    if (!restorationVisit && totalNumber > 0) {
3946      if (goToPageNumber > totalPage) return;
3947    }
3948    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
3949      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
3950        ...newSearchParams,
3951        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
3952      });
3953      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
3954        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
3955          queryString: true
3956        }));
3957      }
3958    }
3959
3960    // Fetch and update page
3961    fetchData(newSearchParams, renderWithData);
3962    disabled = true;
3963    function renderWithData(err, data, count) {
3964      if (err) {
3965        dataContainer.dispatchEvent(new Event('error'));
3966      } else {
3967        searchParams = {
3968          ...newSearchParams
3969        };
3970        totalNumber = count - offset;
3971        if (data.length === 0) {
3972          dataContainer.dispatchEvent(new Event('no-data'));
3973        } else {
3974          dataContainer.dispatchEvent(new Event('data'));
3975        }
3976        render(data);
3977        firstRender = false;
3978      }
3979      disabled = false;
3980      renderBySearch = false;
3981    }
3982  }
3983  function areQueryParamsEqual(first, second) {
3984    var differ = Object.keys(first).find(function (key) {
3985      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
3986    });
3987    if (differ) {
3988      return false;
3989    }
3990    differ = Object.keys(second).find(function (key) {
3991      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
3992    });
3993    return !differ;
3994  }
3995  function next(callback) {
3996    go({
3997      ...searchParams,
3998      page: searchParams.page + 1
3999    }, callback);
4000  }
4001  function previous(callback) {
4002    go({
4003      ...searchParams,
4004      page: searchParams.page - 1
4005    }, callback);
4006  }
4007  function refresh(callback) {
4008    go(searchParams, callback);
4009  }
4010  function update(params, callback) {
4011    renderBySearch = true;
4012    go(params, callback);
4013  }
4014  function observer() {
4015    if (searchContainer) {
4016      searchContainer.addEventListener('search', function (event, newSearchParams) {
4017        newSearchParams = event.detail || newSearchParams;
4018        update({
4019          ...searchParams,
4020          ...newSearchParams,
4021          page: 1
4022        });
4023      });
4024      searchContainer.addEventListener('clear-search', function () {
4025        const defaultSearchParams = {
4026          ...DefaultSearchParams
4027        };
4028        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
4029          ...defaultSearchParams,
4030          page: null
4031        }, {
4032          ...searchParams,
4033          page: null
4034        });
4035
4036        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
4037        // when search form have default state
4038        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
4039          return;
4040        }
4041
4042        // if someone initially go to some page and click 'Clear' on search from
4043        // we should't navigate to first page. We should preserve page value
4044        if (isCurrentSearchFormStateDefault) {
4045          defaultSearchParams.page = searchParams.page;
4046        }
4047        syncSearchFormState(defaultSearchParams);
4048        update(defaultSearchParams);
4049      });
4050    }
4051    if (mode === 'LOAD_MORE_BUTTON') {
4052      loadMoreButton.addEventListener('click', function (event) {
4053        go({
4054          ...searchParams,
4055          page: searchParams.page + 1
4056        });
4057        return false;
4058      });
4059    }
4060    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
4061      // Do initial render
4062      go(Object.assign({}, searchParams, {
4063        page: 1
4064      }));
4065      return;
4066    }
4067    if (mode === 'NUMBERED_PAGINATION') {
4068      // Go to specified page number
4069      container.addEventListener(eventPrefix + 'go', function (event) {
4070        let {
4071          pageNumber,
4072          done
4073        } = event.detail || {};
4074        pageNumber = parseInt(pageNumber, 10);
4075        if (!pageNumber) {
4076          return;
4077        }
4078        go({
4079          ...searchParams,
4080          page: pageNumber
4081        }, done);
4082      });
4083
4084      // Page number button click
4085      el.addEventListener('click', function (event) {
4086        let clickTarget = event.target;
4087        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
4088        let pageNumber = current?.getAttribute('data-num');
4089        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
4090          return;
4091        } else {
4092          go({
4093            ...searchParams,
4094            page: parseInt(pageNumber, 10)
4095          });
4096        }
4097        event.preventDefault();
4098      });
4099
4100      // Whether to load the default page
4101      var defaultPageNumber = searchParams.page;
4102      if (triggerPagingOnInit) {
4103        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
4104          detail: {
4105            pageNumber: defaultPageNumber
4106          }
4107        }));
4108      }
4109    }
4110    window.addEventListener('popstate', function (event) {
4111      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
4112      if (!areQueryParamsEqual(newParams, searchParams)) {
4113        go(newParams, null, true);
4114        if (searchContainer) {
4115          syncSearchFormState(newParams);
4116        }
4117      }
4118    });
4119  }
4120  function replaceVariables(template, variables) {
4121    var formattedString;
4122    for (var key in variables) {
4123      var value = variables[key];
4124      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
4125      formattedString = (formattedString || template).replace(regexp, value);
4126    }
4127    return formattedString;
4128  }
4129  function isTextEditorValue(obj) {
4130    return 'raw' in obj || 'gjs' in obj;
4131  }
4132  function getTextEditorValue(obj) {
4133    if (!obj.html) {
4134      return '';
4135    }
4136    var data = obj.html;
4137    var css = (obj.raw || obj.gjs || {}).css;
4138    if (css) {
4139      data = data + '<style>' + css + '</style>';
4140    }
4141    return data;
4142  }
4143
4144  /**
4145   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
4146   * strips out raw proprties and returns only HTML if it exists.
4147   * @param {Object} resources a collection retrieved from the database
4148   * @return {Object} the newly modified object.
4149   */
4150  function recursivelyParse(resources) {
4151    forEach(resources, function (value, key) {
4152      if (!value) {
4153        return;
4154      }
4155      if (value instanceof Object) {
4156        if (isTextEditorValue(value)) {
4157          resources[key] = getTextEditorValue(value);
4158          return;
4159        } else {
4160          return recursivelyParse(value);
4161        }
4162      }
4163      try {
4164        var parsedData = JSON.parse(value);
4165        if (isTextEditorValue(parsedData)) {
4166          resources[key] = getTextEditorValue(parsedData);
4167        }
4168      } catch (e) {
4169        // do nothing if we failed to parse value as JSON
4170      }
4171    });
4172    return resources;
4173  }
4174  function forEach(collection, iteratee) {
4175    var func = Array.isArray(collection) ? arrayEach : baseFor;
4176    return func(collection, iteratee);
4177  }
4178  function baseFor(object, iteratee) {
4179    if (!object) {
4180      return;
4181    }
4182    var iterable = Object(object);
4183    var props = Object.keys(object);
4184    var length = props.length;
4185    var index = -1;
4186    while (length--) {
4187      var key = props[++index];
4188      if (iteratee(iterable[key], key, iterable) === false) {
4189        break;
4190      }
4191    }
4192    return object;
4193  }
4194  function objSet(obj, path, value) {
4195    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
4196    pathArray.reduce((acc, key, i) => {
4197      if (acc[key] === undefined) acc[key] = {};
4198      if (i === pathArray.length - 1) acc[key] = value;
4199      return acc[key];
4200    }, obj);
4201  }
4202  function arrayEach(array, iteratee) {
4203    var index = -1;
4204    var length = array.length;
4205    while (++index < length) {
4206      if (iteratee(array[index], index, array) === false) {
4207        break;
4208      }
4209    }
4210    return array;
4211  }
4212  function selectPageRangeMode(e) {
4213    pageRange = e.matches ? mobilePageRange : desktopPageRange;
4214    renderPaginationList();
4215  }
4216  paginationMql.addEventListener('change', selectPageRangeMode);
4217})('section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b', JSON.parse("{\"pageSize\":\"100\",\"resource\":\"posts\",\"pageRange\":1,\"variables\":{\"limit\":100,\"order\":\"publishedAt\",\"offset\":0,\"sortDir\":\"DESC\",\"companyId\":\"e6d253ae-e8f4-4213-aef5-7ad077e555af\",\"categoryId\":\"{{variables.categoryId}}\",\"postStatusId\":\"5f528253-abb7-484e-95c3-330269ac1102\",\"sort\":\"publishedAt\"},\"hidePaginationOnFirstPage\":true,\"companyId\":\"e6d253ae-e8f4-4213-aef5-7ad077e555af\",\"usePageResource\":false,\"sectionIndex\":2,\"useRouterApi\":true,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
4218} catch(e) {
4219console.log(e);
4220}
4221                try {
4222(function init(){})('section-bd9218dd-c435-4d47-a8b6-e9f1ce852b8b', JSON.parse("{\"resource\":\"posts\",\"useRouterApi\":true,\"companyId\":\"e6d253ae-e8f4-4213-aef5-7ad077e555af\",\"usePageResource\":false,\"sectionIndex\":2,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
4223} catch(e) {
4224console.log(e);
4225}
4226                try {
4227(function init(sectionDomId) {// please write all js here and use sectionDomId in selectors in order of DOM encapsulation
4228})('section-3527620a-4185-4671-963a-8f09a3e74222', 'undefined');
4229} catch(e) {
4230console.log(e);
4231}
4232
4233            var { body } = document;
4234            var globalNav = body.querySelector(':scope > nav');
4235            var globalSideMenu = body.querySelector(':scope > div.sidemenu');
4236
4237            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
4238                modalCloseBtn.addEventListener('click', function() {
4239                window.lpUI.hideClosestModal(modalCloseBtn);
4240              });
4241            });
4242
4243            window.addEventListener('click', function() {
4244                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
4245                    sharedPopup.style.display = 'none' ;
4246                });
4247            });
4248
4249            /* Misc Partials / Addons */
4250            function initWOW() {
4251                if (wow) {
4252                    wow.init();
4253                    wow.scrollHandler();
4254                    setTimeout(function () {
4255                        const wowHideStyle = document.getElementById('wow-hide-elements');
4256                        if(wowHideStyle) {
4257                            wowHideStyle.disabled = true;
4258                        }
4259                    }, 1);
4260                }
4261            }
4262
4263            const wowHideElements =  document.getElementById('wow-hide-elements');
4264            if (wowHideElements) {
4265               wowHideElements.disabled = false;
4266            }
4267
4268                initWOW();
4269
4270            /* Generic Navbar Handling */
4271            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
4272                hamburgerComponent.addEventListener('click', function() {
4273                window.lpUI.sideMenuToggle();
4274              });
4275            });
4276            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
4277                toggleEl.addEventListener('click', function() {
4278                window.lpUI.sideMenuToggle();
4279              });
4280            });
4281
4282            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
4283                linkEl.addEventListener('click', function(e) {
4284                  e.preventDefault();
4285                  e.stopPropagation();
4286                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
4287                  if (subNav && subNav.classList.contains('visible')){
4288                    subNav.classList.remove('visible');
4289                  } else {
4290                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
4291                      globalSubNav.classList.remove('visible');
4292                    });
4293                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
4294                        sideMenuSubNav.classList.remove('visible');
4295                    });
4296                    subNav?.classList.add('visible');
4297                  }
4298                });
4299            });
4300            window.addEventListener('click', function() {
4301                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
4302                    subNavEl.classList.remove('visible');
4303                });
4304            });
4305
4306        }
4307
4308        document.addEventListener('DOMContentLoaded', lpGlobalInit);
4309
4310    </script>
4310
4311
4312    
4312<script type="module">
4313    function selectorExists(selector) {
4314        return document.querySelector(selector) !== null;
4315    }
4316
4317    // Function to initialize the third-party library
4318    function initParoller(selector = '.my-paroller') {
4319        var $parollerElements = $(selector);
4320        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
4321            $parollerElements.paroller();
4322        }
4323    }
4324
4325    const parollerSelector = '.my-paroller';
4326
4327    if (selectorExists(parollerSelector)) {
4328        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
4329            initParoller(parollerSelector);
4330            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
4331        });
4332    }
4333    </script>
4333
4334
4335            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 4335-4336
4335
4336            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
4336GTM-T9SFQGHZ
vendor: 107 bytes, lines 4336-4338
4336"
4337            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
4338            
4338<!-- End Google Tag Manager -->
4339        
4339<script>
4340    
4341    function addWowClassToHeadings() {
4342        /*Get the elements to which the classes are to be added*/
4343        let titles = document.querySelectorAll("h1,h2,h4, h1.lp-h1, h2.lp-h2, h4.lp-h4, p:not(.success-message)");
4344        let p = document.querySelectorAll("div.redesign.work-with-us p, p.stat-card__title, .lp-text--subtitle, .redesign p:not(.success-message), .text-grid.scene, .item, .gallery__holder, .pretitle, .lp-btn, .btn, .search-form, .gallery-component__col, .neighborhood-list-item");
4345       
4346        titles.forEach(title => {
4347            /*Classes to add*/
4348            title.classList.add("wow", "animated", "fadeInUp");
4349        });
4350        p.forEach(par => {
4351            /*Classes to add*/
4352            par.classList.add("wow", "animated", "fadeInUp");
4353        });
4354    }
4355    document.addEventListener("DOMContentLoaded", () => {
4356        /*Init the library to animate on scroll*/
4357        new WOW().init();
4358        /*Call the function*/
4359        addWowClassToHeadings();
4360        const contactModal = document.querySelector('#modal-global-contact-us');
4361        $(contactModal).on('lpui-show', function(){
4362            contactModal.querySelectorAll('.wow').forEach(function(el, idx) {
4363                wow.show(el)
4364            })
4365        });
4366    });
4367    
4368</script>
4368
4369            
4369<script
4370                src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js"
4371                data-website-id="7afcf2a6-6e2c-40b1-88ba-038553fc87dc"
4372                
4373                defer></script>
vendor: 1 bytes, line 4373
4373
4374<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"d2a8f4b3d65944edb8fcd6ffce49ee5e","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4374
4374
4375<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:'a45f456588987d03',t:'MTc5MTIzMzEzNw=='};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>
4375</body>
4376</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.