PageSourceSearch

https://teamrr.com/blog

html teamrr.com collected 2026-10-10 02:14:28 UTC 392,386 bytes, 3,777 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>Atlanta Real Estate Tips & More | Team Rich Richardson</title>
10        <meta property="og:title" content="Atlanta Real Estate Tips &amp; More | Team Rich Richardson">
11        <meta name="twitter:title" content="Atlanta Real Estate Tips &amp; More | Team Rich Richardson">
12        <meta property="og:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/1aaa8e52-da75-458c-89f9-701e2ac686d7">
13        <meta name="twitter:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/1aaa8e52-da75-458c-89f9-701e2ac686d7">
14        <meta property="og:url" content="https://teamrr.com/blog">
15        <link rel="canonical" href="https://teamrr.com/blog">
16    
16<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
16
17    <link rel="preconnect" href="https://fonts.googleapis.com">
18    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
19    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oswald:200,300,400,500,600,700"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i">
20    <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'">
21    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
22    <link rel="icon" type="image/x-icon" href="/favicon.ico">
23    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
24    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
25    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
26    <style id="global-css">:root{--global-primary-font-family:Oswald,sans-serif;--global-primary-font-family-short:Oswald;--global-secondary-font-family:Poppins,sans-serif;--global-secondary-font-family-short:Poppins;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:70px;--global-h2-font-size:43px;--global-h3-font-size:30px;--global-h4-font-size:21px;--global-h5-font-size:17px;--global-h6-font-size:16px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Poppins,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:Oswald,sans-serif;}h1{font-size:70px;}h2{font-size:43px;}h3{font-size:30px;}h4{font-size:21px;}h5{font-size:17px;}h6{font-size:16px;}</style>
27        <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/producer/index.css" />
28    <style id="website-css">.redesign .btn--small{padding:20px 46px;}.lp-btn{padding:20px 46px!important;}button.newsletter-signup__form-item{line-height:1;font-weight:700;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}h1{text-transform:uppercase!important;}.lp-h1{text-transform:uppercase!important;}h2{text-transform:uppercase!important;}.lp-h2{text-transform:uppercase!important;}h3{text-transform:uppercase!important;}.lp-h3{text-transform:uppercase!important;}h4{text-transform:uppercase!important;}.lp-h4{text-transform:uppercase!important;}h5{text-transform:uppercase!important;}.lp-h5{text-transform:uppercase!important;}div#global-sidemenu.sidemenu a,nav#global-navbar a{text-transform:uppercase;}div#global-sidemenu.sidemenu button,nav#global-navbar button{text-transform:uppercase;}nav#global-navbar .navigation__link{font-size:12px!important;}nav#global-navbar .header .navigation .sub-nav ul{background-color:transparent;}nav#global-navbar .header .navigation .sub-nav ul li{background-color:#F7F7F7;}nav#global-navbar .header .navigation .sub-nav ul li:hover{background-color:#232A30;}nav#global-navbar .header .navigation .sub-nav ul a{color:#6D6D6C;}nav#global-navbar{background-color:#F7F7F7!important;}nav#global-navbar .header{margin-top:0px;}nav#global-navbar li.navigation__item a.navigation__link{color:#232A30;font-size:12px!important;}nav#global-navbar li.navigation__item a.navigation__link span:after{background-color:#AB6333;}nav#global-navbar button.hamburger-component.hamburger{color:#232A30;}nav#global-navbar .header .navigation .sub-nav ul a:hover{color:#fff!important;}nav#global-navbar .header a.logo__link img:last-child{display:block!important;}nav#global-navbar .header a.logo__link img:first-child{display:none!important;}nav#global-navbar .header{padding-top:5px;padding-bottom:5px;}nav#global-navbar .header .logo{max-height:45px;}@media only screen and (min-width:768px){nav#global-navbar .header .logo a.logo__link img{max-height:45px;}}@media (max-width: 768px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (min-width: 1201px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}footer#global-footer .footer .info-privacy .copy_zone a,footer#global-footer .footer .info-privacy .powered_zone a{font-weight:400;}footer#global-footer a.hvr_animation,footer#global-footer .lp-link{position:relative!important;color:#fff!important;-webkit-transition:0.4s;transition:0.4s;}footer#global-footer a.hvr_animation:hover,footer#global-footer .lp-link:hover{color:#AB6333!important;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before,footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"" "";height:1px;position:absolute!important;bottom:0;left:0;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before{width:100%!important;background-color:#ccc!important;}footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{width:0%!important;background-color:#AB6333!important;}footer#global-footer a.hvr_animation:hover:after,footer#global-footer .lp-link:hover:after{width:100%!important;}#global-footer>div>div>div.info-wrap>div>div.info-wrap-contact_zone.type_user>div:nth-child(3)>p:before{content:"MOBILE NUMBER";display:block;font-size:14px;}#global-footer>div>div>div.info-wrap>div>div.info-wrap-contact_zone.type_user>div:nth-child(3)>p{font-size:0;}footer#global-footer .info-wrap-contact_zone:nth-of-type(2) .info-wrap-contact_cell:last-child .contact_title{font-size:0;letter-spacing:0;}footer#global-footer .info-wrap-contact_zone:nth-of-type(2) .info-wrap-contact_cell:last-child .contact_title:after{content:"OFFICE NUMBER";font-size:14px;line-height:1;letter-spacing:1.5px;}div#modal-global-contact-us .contact-form .info-zone .info-zone_contact_cell{margin-bottom:21px;}div#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:21px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:25px;}}div#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:14px;}div#modal-global-contact-us .contact-form .section-message h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .section-message h2{font-size:28px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:28px;}}#modal-global-contact-us .contact-form .section-message label{text-transform:uppercase;color:#fff!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:#fff!important;}div#modal-global-contact-us a:not(.lp-socials__link):after{background-color:#fff!important;}.info-zone_contact_cell a:hover{color:#AB6333!important;}.info-zone_contact_cell a:before{background-color:#ccc!important;width:100%;}.info-zone_contact_cell a:after{background-color:#AB6333!important;}.lp-tcr-message{font-weight:400;}#modal-global-contact-us>div>div>div>
28div.section-details>div>div:nth-child(1)>div>p{font-size:0;}#modal-global-contact-us>div>div>div>div.section-details>div>div:nth-child(1)>div>p:before{font-size:14px;content:'Mobile Number';}#modal-global-contact-us>div>div>div>div.section-details>div>div:nth-child(2)>div:nth-child(1)>p{font-size:0;}#modal-global-contact-us>div>div>div>div.section-details>div>div:nth-child(2)>div:nth-child(1)>p:before{font-size:14px;content:'Office Number';}#global-mobile-contact .pop-up .lp-disclaimer a{position:relative!important;color:#000!important;-webkit-transition:0.4s;transition:0.4s;font-weight:400;-webkit-text-decoration:none!important;text-decoration:none!important;display:inline-block;}#global-mobile-contact .pop-up .lp-disclaimer a:hover{color:#AB6333!important;}#global-mobile-contact .pop-up .lp-disclaimer a:before,#global-mobile-contact .pop-up .lp-disclaimer a:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"" "";height:1px;position:absolute!important;bottom:0;left:0;}#global-mobile-contact .pop-up .lp-disclaimer a:before{width:100%!important;background-color:rgba(0, 0, 0, 0.1)!important;}#global-mobile-contact .pop-up .lp-disclaimer a:after{width:0%!important;background-color:#AB6333!important;}#global-mobile-contact .pop-up .lp-disclaimer a:hover:after{width:100%!important;}@media only screen and (max-width: 768px){#global-mobile-contact .pop-up .lp-disclaimer a{-webkit-text-decoration:underline;text-decoration:underline;}#global-mobile-contact .pop-up .lp-disclaimer a:before,#global-mobile-contact .pop-up .lp-disclaimer a:after{display:none;}#global-mobile-contact .pop-up .lp-disclaimer a:hover{color:#000;}}#global-mobile-contact .pop-up input,#global-mobile-contact .pop-up textarea{border-color:rgba(0, 0, 0, 0.1);-webkit-text-fill-color:#000;}#global-mobile-contact .pop-up input:focus,#global-mobile-contact .pop-up textarea:focus{border-color:rgba(0, 0, 0, 0.75);}#global-mobile-contact .pop-up .close-btn{color:#000;}#global-mobile-contact .pop-up .lp-container{padding:64px;}@media only screen and (max-width: 768px){#global-mobile-contact .pop-up .lp-container{padding:24px 24px;}}footer#global-footer .info-wrap-contact_zone:nth-child(2){-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}footer#global-footer .info-wrap-contact_zone:nth-child(3){margin-top:-64px;}@media (max-width: 768px){footer#global-footer .info-wrap-contact_zone:nth-child(3){margin-top:0;}}footer#global-footer .footer div.type_user div.info-wrap-contact_cell:first-of-type{width:400px!important;}footer#global-footer .container .info-privacy{border-top-color:#AB6333;}@media (max-width: 768px){footer#global-footer .container .info-privacy .copy_zone{border-color:#AB6333;}}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input{border-color:#000;color:#000;}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input:-webkit-autofill{border:1px solid rgba(0,0,0, 0.9);-webkit-text-fill-color:#000!important;}#global-mobile-contact .lp-btn{border-color:#232A30;background-color:#232A30;color:#fff;}#global-mobile-contact .lp-btn:hover{border-color:#AAB9C0;background-color:#AAB9C0;color:#232A30;}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input::-webkit-input-placeholder{color:#000;opacity:1;}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input::-moz-placeholder{color:#000;opacity:1;}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input:-ms-input-placeholder{color:#000;opacity:1;}#global-mobile-contact .contact-form__inputs-container .contact-form__item .lp-input::placeholder{color:#000;opacity:1;}</style>
29    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
30        <style id="page-css">
31            #section-7616ebb1-721c-4d8d-a841-e30b8b294494{color:#fff;--fontColor:#fff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--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.4));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/1aaa8e52-da75-458c-89f9-701e2ac686d7');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:600px;-webkit-box-pack:center;-ms-flex-pack:center;
31-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro__title{font-size:22px;}}#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .custom-intro__subtitle{font-size:18px;}}#section-7616ebb1-721c-4d8d-a841-e30b8b294494 .description{margin-bottom:15px;}@media (min-width: 960px) and (orientation: landscape){#section-7616ebb1-721c-4d8d-a841-e30b8b294494{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/1aaa8e52-da75-458c-89f9-701e2ac686d7');}}@media (min-width: 1280px) and (orientation: landscape){#section-7616ebb1-721c-4d8d-a841-e30b8b294494{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/1aaa8e52-da75-458c-89f9-701e2ac686d7');}}@media (min-width: 1920px) and (orientation: landscape){#section-7616ebb1-721c-4d8d-a841-e30b8b294494{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/1aaa8e52-da75-458c-89f9-701e2ac686d7');}}@media (min-width: 2560px) and (orientation: landscape){#section-7616ebb1-721c-4d8d-a841-e30b8b294494{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/1aaa8e52-da75-458c-89f9-701e2ac686d7');}}#section-247e796e-9beb-412d-bb50-69569f8459de{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:rgba(255, 255, 255, 1);}@media (min-width: 1024px){#section-247e796e-9beb-412d-bb50-69569f8459de div.blog-list{padding:96px 0 0;}}@media (max-width: 678px){#section-247e796e-9beb-412d-bb50-69569f8459de div.blog-list{padding:64px 0 0;}}#section-247e796e-9beb-412d-bb50-69569f8459de h4{text-transform:uppercase;}#section-247e796e-9beb-412d-bb50-69569f8459de div.blog-list__item-content h4:after{background-color:#000;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list{padding:120px 0;position:relative;z-index:1;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list .center-items{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container{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-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:1282px;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container{padding:0;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container.hide-date .blog-list__item-date{display:none;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container.hide-author .blog-list__item-author{display:none;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container.hide-author .blog-list__item-date{margin-left:0;padding-left:0;border-left:none;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__container .blog-list__item{background-color:#fff;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__section-title,#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list .description{text-align:center;margin-bottom:50px;max-width:75%;margin-left:auto;margin-right:auto;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__section-title,#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list .description{max-width:100%;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item{width:calc(50% - 18px);margin-bottom:34px;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item{width:100%;margin-bottom:32px;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item:nth-child(2n) .blog-list__item-content h4:after{right:-116px;left:60%;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item:nth-child(2n) .blog-list__item-content h4:after{right:-25px;left:40%;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-image{padding-top:70.16%;position:relative;background-color:#808080;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-image img{position:absolute;object-fit:cover;height:100%;width:100%;top:0;z-index:0;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content{padding:46px 36px;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content{padding:40px 25px;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content h4{margin:0 0 36px;position:relative;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content h4{margin:0 0 38px;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content h4:after{content:'';position:absolute;bottom:-17px;left:-116px;right:60%;height:1px;background-color:#c0c0c0;}@media(max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content h4:after{right:40%;left:-25px;bottom:-21px;}}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-content .link{display:inline-block;margin-top:36px;text-transform:uppercase;font-size:14px;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-details{list-style-type:none;display:block;margin:0 0 9px;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-details >li{display:inline-block;position:relative;font-size:14px;font-weight:700;line-height:1.4;text-transform:uppercase;}#section-247e796e-9beb-412d-bb50-69569f8459de .blog-list__item-details >li+li{margin-left:3px;padding-left:5px;border-left:2px solid;}#section-247e796e-9beb-412d-bb50-69569f8459de .search-container{margin-bottom:48px;}@media (max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .search-container{margin-bottom:32px;}}#section-247e796e-9beb-412d-bb50-69569f8459de .search-container__row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
31-webkit-justify-content:center;justify-content:center;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:12px;}#section-247e796e-9beb-412d-bb50-69569f8459de .search-container__row:has(.lp-btn.lp-i--chevron-down){-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .search-container__row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-247e796e-9beb-412d-bb50-69569f8459de .input-container{width:100%;max-width:485px;position:relative;}@media (max-width: 1024px){#section-247e796e-9beb-412d-bb50-69569f8459de .input-container{max-width:350px;}}@media (max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .input-container{max-width:100%;}}#section-247e796e-9beb-412d-bb50-69569f8459de .input-container .lp-input{height:50px;width:100%;}#section-247e796e-9beb-412d-bb50-69569f8459de .input-container .search-icon{position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}#section-247e796e-9beb-412d-bb50-69569f8459de .empty-results{text-align:center;display:none;}#section-247e796e-9beb-412d-bb50-69569f8459de .empty-results.visible{display:block;}#section-247e796e-9beb-412d-bb50-69569f8459de .filter-container{padding-top:16px;display:none;}#section-247e796e-9beb-412d-bb50-69569f8459de .category-cell{margin:0 8px 8px 0;border-width:2px;padding:10px 15px;opacity:.3;position:relative;cursor:pointer;}#section-247e796e-9beb-412d-bb50-69569f8459de .category-cell.active{opacity:1;}@media(hover: hover) and (pointer: fine){#section-247e796e-9beb-412d-bb50-69569f8459de .category-cell:hover{opacity:1;}}#section-247e796e-9beb-412d-bb50-69569f8459de .lp-btn.lp-i--chevron-down{display:none;gap:10px;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-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 (max-width: 768px){#section-247e796e-9beb-412d-bb50-69569f8459de .lp-btn.lp-i--chevron-down{width:100%;}}#section-247e796e-9beb-412d-bb50-69569f8459de .lp-btn.lp-i--chevron-down:before{-webkit-transition:-webkit-transform .3s;transition:transform .3s;}#section-247e796e-9beb-412d-bb50-69569f8459de .lp-btn.lp-i--chevron-down.active:before{-webkit-transform:scaleY(-1);-moz-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);}#section-247e796e-9beb-412d-bb50-69569f8459de .category{position:absolute;top:0;left:0;background-color:#fff;color:#000;padding:8px 34px;font-size:14px;font-weight:700;line-height:24px;letter-spacing:1.5px;text-transform:uppercase;z-index:2;}#section-247e796e-9beb-412d-bb50-69569f8459de>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#F7F7F7;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:97%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#F7F7F7;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal{min-height:0px!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .form-group .lp-title-group,#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .form-group .form-inputs-wrap{max-width:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .form-group .lp-input{border-color:rgba(255, 255, 255, 0.25);}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a{position:relative!important;color:#fff!important;-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:hover{color:#fff!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:before,#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"" "";height:1px;position:absolute!important;bottom:0;left:0;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:before{width:100%!important;background-color:rgba(255, 255, 255, 0.25)!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:after{width:0%!important;background-color:#fff!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:hover:after{width:100%!important;}@media only screen and (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a{-webkit-text-decoration:underline!important;text-decoration:underline!important;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:before,#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer a:after{display:none;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form{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-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal{width:100%;background:center no-repeat;-webkit-background-size:cover;background-size:cover;min-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;color:var(--fontColor);}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .lp-text--subtitle{max-width:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .input-container+.input-container{margin-top:16px;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__container{z-index:2;width:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .lp-title-group{text-align:center;max-width:420px;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .lp-title-group{max-width:100%;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form{background-color:#fff;max-width:860px;margin:auto;text-align:center;min-height:463px;position:relative;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form .form-group{padding:65px;
31display:block;}@media (max-width: 1200px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form .form-group{margin:0;max-width:50%;}}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form .form-group{padding:30px;max-width:100%;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image{max-width:1300px;min-height:675px;text-align:left;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:1px;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .lp-title-group{text-align:left;margin-left:0;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .lp-title-group{max-width:100%;text-align:center;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .image{width:50%;height:100%;object-fit:cover;position:absolute;top:0;right:0;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .image{position:static;width:100%;height:331px;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .form-group{width:50%;}@media (max-width: 999px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .form-group{padding:40px;}}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__form--with-image .form-group{width:100%;padding:20px;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__input{width:100%;display:block;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal__submit{margin-top:16px;width:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .form-inputs-wrap{max-width:420px;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .form-inputs-wrap{max-width:100%;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .form-inputs-wrap .lp-btn{display:block;width:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .thank-you{display:none;padding:24px;text-align:center;min-height:675px;height:100%;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .thank-you .lp-title-group{margin-left:auto;margin-right:auto;text-align:center;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .success .thank-you{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;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .success .form-group{dis
31play:none;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal .success .image{display:none;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal h2{margin-bottom:8px;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal h4{margin-bottom:48px;}@media (max-width: 768px){#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .popup-modal h4{margin-bottom:32px;}}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .form-inputs-wrap.center-aligned{margin-left:auto;margin-right:auto;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-h-pot{height:0;width:0;}#section-552d56a9-1f0c-4092-837c-0f3b8aa080b6 .lp-disclaimer{margin-top:16px;}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--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.4));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/mmuoldghq4qxbqourd46');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .work-with-us:before{-webkit-background-position:right!important;background-position:right!important;}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2.parallax-enabled{-webkit-clip-path:polygon(0px 0px, 100% 0%, 100% 100%, 0% 100%);clip-path:polygon(0px 0px, 100% 0%, 100% 100%, 0% 100%);}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2.parallax-enabled .work-with-us:before{display:block;content:'';left:0;top:0;width:100%;background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .container{text-align:center;max-width:750px;min-height:689px;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;padding-top:50px;padding-bottom:50px;position:relative;z-index:1;}@media (max-width: 768px){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us h2{padding-bottom:40px;}}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us h2:after{content:'';position:absolute;bottom:0;left:50%;margin-left:-55px;width:110px;height:1px;background-color:var(--fontColor, #ffffff);}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .description{margin:0 0 30px;}@media(max-width: 768px){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .description{margin-bottom:40px;}}#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .btn-container{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;gap:23px;margin-top:32px;}@media(max-width: 560px){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2 .redesign.work-with-us .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (min-width: 960px) and (orientation: landscape){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2{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/mmuoldghq4qxbqourd46');}}@media (min-width: 1280px) and (orientation: landscape){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2{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/mmuoldghq4qxbqourd46');}}@media (min-width: 1920px) and (orientation: landscape){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2{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/mmuoldghq4qxbqourd46');}}@media (min-width: 2560px) and (orientation: landscape){#section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2{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/mmuoldghq4qxbqourd46');}}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d{color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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;background-color:rgba(255, 255, 255, 1);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed{padding:80px 0;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .title{margin:0 20px 0 0;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .instagram-link .instagram-name{display:inline;margin:0;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .title+.instagram-link{margin-top:5px;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-wrapper{margin-bottom:20px;
31display:-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-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-right{margin-left:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .follow-button{margin:20px 0 0 0;display:block;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .nav-button{margin-top:20px;-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-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;width:42px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;transition-property:color,background-color,border-color;transition-duration:.3s;transition-timing-function:ease;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-nav-prev{margin-left:30px;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-nav-next{margin-left:10px;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .hidden-control{display:none;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi{position:relative;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3);padding:10px;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single:first-child,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi:first-child{margin-left:auto;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single:last-child,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi:last-child{margin-right:auto;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single.type2,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi.type2{width:calc(100% / 5 * 2);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single.type3,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi.type3{width:calc(100% / 2);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single.type4,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi.type4{width:calc(100% / 2);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single.type5,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-container{padding:0;width:100%;}}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item__info{position:absolute;top:0;left:0;bottom:0;right: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:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:10%;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0, 0, 0, 0.8);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;
31top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;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;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:1;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .video-icon::before{content:'';display:block;width:0px;height:0px;border-style:solid;position:relative;left:1px;border-width:7.5px 0px 7.5px 11px;border-color:transparent transparent transparent #292826;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item:hover .video-icon{opacity:0;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single .ig-feed-item__info{padding:15%;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi-content{padding:10px;position:absolute;width:100%;height:100%;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;overflow:hidden;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .slide-multi-content .ig-feed-item:nth-child(n + 3){-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .bottom-nav-button{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:20px 10px 0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-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;width:48px;height:48px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-right,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .title,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .instagram-link{margin-right:0;text-align:center;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-nav-prev,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .top-nav-next{display:none;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .ig-feed{display:none;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d .has-data .ig-feed{display:block;}#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d.has-data .ig-feed,#section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d#section-temp .ig-feed{display:block;}#modal-global-contact-us .close{z-index:11;}#modal-global-contact-us .description{margin-bottom:15px;}#modal-global-contact-us .close:focus{outline:0;}#modal-global-contact-us .contact-form{padding:70px 0;width:100%;min-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;position:relative;color:var(--colorTxt, #ffffff);-webkit-background-size:cover;background-size:cover;}#modal-global-contact-us .contact-form:after{content:'';position:absolute;display:block;background-color:rgba(2, 5, 7, 0.85);height:100%;width:100%;z-index:0;}
31#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;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;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal
31-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;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;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{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:justify;
31-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;max-width:300px;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;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;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{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;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;
31left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{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-shrink:0;-ms-flex-negative:0;flex-shrink:0;}body>div.sidemenu{background-color:rgba(35, 42, 48, 1);color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(35, 42, 48, 1);--bgColor_H:208;--bgColor_S:16%;--bgColor_L:16%;--bgColor_A:1;--bgColor_darkenDir:1;}body>div.sidemenu{width:auto!important;left:auto!important;right:-100%;top:0;background-color:transparent;-webkit-transition:right .3s;transition:right .3s;display:block;}body>div.sidemenu:not(.visible){pointer-events:none;visibility:hidden;}body>div.sidemenu.visible{right:0;}body>div.sidemenu .sidebar{position:relative;width:400px;height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:40px;padding-bottom:100px;background-color:var(--bgColor, #fff);color:var(--fontColor, #000);font-family:var(--global-primary-font-family);font-size:21px;line-height:1.333333;letter-spacing:.5px;-webkit-transition:all .3s ease-in;transition:all .3s ease-in;}@media (max-width: 767px){body>div.sidemenu .sidebar{width:270px;font-size:18px;}}body>div.sidemenu .sidebar__content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%;padding-left:40px;padding-right:40px;text-align:center;overflow-y:auto;}@media (max-width: 767px){body>div.sidemenu .sidebar__content{-webkit-box-pack:start;-ms-flex-pack:start;
31-webkit-justify-content:flex-start;justify-content:flex-start;padding-left:20px;padding-right:20px;}}body>div.sidemenu .sidebar__close{position:absolute;right:30px;top:30px;display:inline-block;width:38px;height:38px;padding:10px;border:none;border-radius:0;background:transparent;color:inherit;z-index:1;cursor:pointer;}body>div.sidemenu .sidebar__close:before,body>div.sidemenu .sidebar__close:after{content:'';display:block;width:22px;height:2px;background-color:currentColor;position:absolute;left:50%;top:50%;}body>div.sidemenu .sidebar__close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidebar__close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}@media (max-width: 767px){body>div.sidemenu .sidebar__close{right:10px;top:10px;}}body>div.sidemenu .sidebar__close:focus{outline:none;}body>div.sidemenu .sidebar__nav{list-style:none;padding:0;margin:auto 0;}body>div.sidemenu .sidebar__nav-item{margin:0;padding-top:4px;padding-bottom:4px;border-bottom:1px solid hsla(
32      var(--bgColor_H, 0),
33      var(--bgColor_S, 0%),
34      calc(50% + (var(--bgColor_L, 100%) - 50%) * 0.9),
35      var(--bgColor_A, 1)
36    );}body>div.sidemenu .sidebar__nav-link{display:inline-block;padding:10px;border:none;border-radius:0;background:transparent;text-transform:none;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__nav-link:focus{outline:none;}body>div.sidemenu .sidebar__subnav{list-style:none;padding:4px 0 10px;margin:0;font-size:17px;}@media (max-width: 767px){body>div.sidemenu .sidebar__subnav{font-size:14px;letter-spacing:.3px;}}body>div.sidemenu .sidebar__subnav-item{margin-bottom:10px;}body>div.sidemenu .sidebar__subnav-item:last-child{margin-bottom:0;}body>div.sidemenu .sidebar__subnav-link{display:inline-block;padding:0;border:none;border-radius:0;background:transparent;text-transform:none;opacity:.7;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__subnav-link:focus{outline:none;}body>div.sidemenu .sub-nav{visibility:hidden;opacity:0;max-height:0;-webkit-transition:all .3s;transition:all .3s;}body>div.sidemenu .sub-nav.visible{display:block;visibility:visible;opacity:1;max-height:100vh;}body>div.sidemenu .sub-nav.visible+.main-nav{color:#7a7a7a;}body>div.sidemenu .sub-nav.visible+.main-nav:after{margin-left:40px;border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}body>div.sidemenu .sub-nav-container:hover .main-nav:after{border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container .main-nav{position:relative;display:inline-block;}body>div.sidemenu .sub-nav-container .main-nav:after{content:'';display:inline-block;position:relative;width:8px;height:8px;margin-left:25px;-webkit-transform:rotate(45deg) translateX(-100%);-moz-transform:rotate(45deg) translateX(-100%);-ms-transform:rotate(45deg) translateX(-100%);transform:rotate(45deg) translateX(-100%);border-bottom:2px solid var(--fontColor, #000000);border-right:2px solid var(--fontColor, #000000);top:0;bottom:auto;left:auto;-webkit-transition:0.5s all ease;transition:0.5s all ease;background-color:transparent;}body>div.sidemenu #main-section .sidebar{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}footer{background-color:rgba(35, 42, 48, 1);color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(35, 42, 48, 1);--bgColor_H:208;--bgColor_S:16%;--bgColor_L:16%;--bgColor_A:1;--bgColor_darkenDir:1;--greyColor:hsla(
37var(--fontColor_H),
38var(--fontColor_S),
39calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445),
40var(--fontColor_A));}footer .redesign .inp--dark-bg input{color:var(--fontColor);border-color:hsla(
41      var(--fontColor_H),
42      var(--fontColor_S),
43      calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445),
44      var(--fontColor_A));}footer .redesign .inp--dark-bg input:hover{border-color:var(--fontColor);}footer .redesign .inp+.inp{margin-top:24px;}footer .redesign .btn--primary-light{border-color:var(--fontColor);color:var(--fontColor);}footer .redesign .btn--primary-light:hover{background-color:var(--fontColor);color:var(--bgColor);}footer.is-background-color-light .redesign .btn--primary-light{border-width:1px;}footer .redesign .socials--grey{-webkit-box-pack:end;-ms-flex-pack:end;
44-webkit-justify-content:flex-end;justify-content:flex-end;}footer .redesign .socials--grey .socials__link{background-color:hsla(
45      var(--bgColor_H),
46      var(--bgColor_S),
47      calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.15),
48      var(--bgColor_A));color:var(--greyColor);}footer .redesign .socials--grey .socials__link svg{fill:var(--greyColor);}footer .redesign .socials--grey .socials__link:hover{background-color:hsla(
49        var(--bgColor_H),
50        var(--bgColor_S),
51        calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.4),
52        var(--bgColor_A));color:var(--fontColor);}footer .redesign .socials--grey .socials__link:hover svg{fill:var(--fontColor);}footer .redesign.footer .grey-text{color:var(--fontColor);}footer .footer{position:relative;padding-top:60px;padding-bottom:30px;}@media (max-width: 560px){footer .footer{padding-top:10px;}}@media (max-width: 500px){footer .footer{padding-bottom:70px;}}footer .footer .text_content_wrap p{margin-bottom:15px;}footer .footer .text_content_wrap p:last-of-type{margin-bottom:0;}footer .footer .container{max-width:1440px;}@media (max-width: 768px){footer .footer .container{padding-left:25px;padding-right:25px;}}@media (max-width: 560px){footer .footer .container{padding-left:20px;padding-right:20px;}}footer .footer h3{margin:0 0 15px 0;}footer .footer h5{text-transform:capitalize;}footer .footer .info-wrap{margin-bottom:40px;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;}footer .footer .info-wrap .agent_box{width:70%;}@media (max-width: 1280px){footer .footer .info-wrap .agent_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .agent_box{width:100%;}}footer .footer .info-wrap .newsletter_box{width:30%;}@media (max-width: 1280px){footer .footer .info-wrap .newsletter_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box{width:100%;}}footer .footer .info-wrap .newsletter_box--padding{padding-top:44px;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box--padding{padding-top:0;}}footer .footer .info-wrap .newsletter_box .contact_title{margin-bottom:13px;line-height:1.6;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_cell{margin-bottom:0;padding-left:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .icon_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;margin-bottom:22px;position:relative;}footer .footer .info-wrap .newsletter_box .icon_text i{position:relative;width:30px;margin-right:20px;}footer .footer .info-wrap .newsletter_box .icon_text .contact_title{margin-bottom:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_zone{margin-bottom:0;}}footer .footer .info-wrap-contact{position:relative;}footer .footer .info-wrap-contact_zone{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-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:39px;}@media (max-width: 768px){footer .footer .info-wrap-contact_zone{margin-bottom:21px;}footer .footer .info-wrap-contact_zone:last-child{margin-bottom:51px;}}footer .footer .info-wrap-contact_zone i{position:absolute;left:0;display:block;}footer .footer .info-wrap-contact_zone i svg path{fill:currentColor;}footer .footer .info-wrap-contact_zone h4{margin:0 0 13px 0;width:100%;}footer .footer .info-wrap-contact_cell{position:relative;padding-left:50px;width:400px;font-size:14px;text-transform:uppercase;font-weight:bold;letter-spacing:1.5px;}@media (max-width: 1280px){footer .footer .info-wrap-contact_cell:first-of-type{margin-bottom:21px;}}footer .footer .info-wrap-contact_cell .contact_title{line-height:1;margin-bottom:5px;}footer .footer .info-wrap-contact_link{color:var(--greyColor);position:relative;}@media (max-width: 560px){footer .footer .info-wrap-contact_link{letter-spacing:0;}}footer .footer .hvr_animation{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;}footer .footer .hvr_animation:after{content:'';position:absolute;
52left:0;bottom:0;width:0%;height:1px;background:var(--greyColor);-webkit-transition:.3s linear;transition:.3s linear;}footer .footer .hvr_animation:hover:after{width:100%;}footer .footer .hvr_animation.underlined:after{width:100%;}footer .footer .hvr_animation.underlined:hover:after{width:0%;}footer .footer .form-content{padding:0!important;}footer .footer .form-content label{color:var(--fontColor);text-transform:none;letter-spacing:1;}footer .footer .form-content input{padding:2px 24px 2px 0;}footer .footer .form-content .subscribe_btn{margin-top:20px;position:relative;}footer .footer .form-content .subscribe_btn i{font-size:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0;}footer .footer .form-content.success i{opacity:1;}footer .footer .form-content.success .subscribe_btn span{opacity:0;}footer .footer .form-content.success .hide{opacity:0;}footer .footer .form-content.success .hide +span{opacity:1;}footer .footer .text_footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:39px;}@media (max-width: 1280px){footer .footer .text_footer{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){footer .footer .text_footer{text-align:center;}}footer .footer .text_footer p{white-space:normal;}footer .footer .text_footer .images_box{max-width:186px;width:100%;margin-right:43px;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: 560px){footer .footer .text_footer .images_box{margin:0 auto 20px auto;}}@media (max-width: 1280px){footer .footer .text_footer .img_size{margin-bottom:20px;}}@media (max-width: 560px){footer .footer .text_footer .img_size{margin-bottom:0;}}footer .footer .text_footer .img_size img{width:100%;height:100%;object-fit:contain;}footer .footer .first_text_footer .img_size{width:100%;height:63px;}footer .footer .first_text_footer .img_size img{width:100%;height:100%;object-fit:contain;}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:51px;}}footer .footer .second_text_footer .first_img_size{width:45px;height:45px;margin-right:15px;}footer .footer .second_text_footer .second_img_size{width:100px;height:45px;}@media (max-width: 560px){footer .footer .second_text_footer{margin-bottom:21px;}}footer .footer .info-privacy{padding-top:45px;padding-bottom:30px;border-top:1px solid hsla(
53        var(--bgColor_H),
54        var(--bgColor_S),
55        calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55),
56        var(--bgColor_A));}@media (max-width: 768px){footer .footer .info-privacy{padding-top:0;border-top:none;}}footer .footer .info-privacy__row{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-privacy .copy_zone{font-size:18px;}@media (min-width: 1350px){footer .footer .info-privacy .copy_zone{text-align:center;}}@media (min-width: 1281px){footer .footer .info-privacy .copy_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 768px){footer .footer .info-privacy .copy_zone{text-align:center;margin-bottom:10px;padding-top:45px;border-top:1px solid hsla(
57            var(--bgColor_H),
58            var(--bgColor_S),
59            calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55),
60            var(--bgColor_A));}}footer .footer .info-privacy .copy_zone a{color:var(--greyColor);}footer .footer .info-privacy .powered_zone{font-size:18px;}@media (min-width: 1281px){footer .footer .info-privacy .powered_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 1280px){footer .footer .info-privacy .powered_zone{text-align:center;}}@media (max-width: 768px){footer .footer .info-privacy .powered_zone{text-align:center;margin-bottom:24px;}}footer .footer .info-privacy .powered_zone a{color:var(--greyColor);}@media (min-width: 1281px){footer .footer .info-privacy .socials_zone{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 1280px){footer .footer .info-privacy .socials_zone{width:100%;margin-top:20px;-webkit-box-pack:start;-ms-flex-pack:start;
60-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (max-width: 768px){footer .footer .info-privacy .socials_zone{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:0;margin-bottom:20px;}footer .footer .info-privacy .socials_zone li{padding:0 7px 10px 7px;}}footer .footer.one_contact .type_user{margin-bottom:73px;}@media (max-width: 768px){footer .footer.one_contact .type_user{margin-bottom:51px;}}footer .footer.no_newsletter h3{margin-bottom:46px;}footer .footer.no_newsletter .newsletter_box{display:none;}footer .footer.no_newsletter .info-wrap-contact{width:calc(70% + 230px);width:100%;padding-left:230px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact{padding-left:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact{width:100%;}}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_cell{width:50%;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_cell{width:100%;}}footer .footer.no_newsletter .info-wrap-contact h4{position:absolute;margin-top:-8px;left:0;max-width:200px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;width:100%;margin-bottom:20px;margin-top:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;}}footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:71px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:39px;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:51px;}}footer .footer.no_newsletter .info-wrap-contact_zone:last-child{margin-bottom:0;}footer .footer.no_icon .info-wrap-contact_cell{padding-left:0;}footer .footer.no_icon .info-wrap-contact_cell i{display:none;}footer .footer.no-names .info-wrap-contact{padding-left:0;}footer .form-row{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-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-left:-15px;margin-right:-15px;}@media (min-width: 1281px){footer .form-row{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 900px){footer .form-row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:15px;padding-right:15px;}@media (min-width: 768px){footer .form-col{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;}}@media (min-width: 768px){footer .form-col--socials{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}@media (min-width: 1281px){footer .form-col--socials{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;}}@media (max-width: 768px){footer .form-col--socials{-webkit-order:-1;-ms-flex-order:-1;order:-1;}}@media (min-width: 1281px){footer .form-col--xl-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}}footer .additional-links-separator{display:block;width:100%;height:0;overflow:hidden;}@media (min-width: 768px){footer .additional-links-separator{display:inline;width:auto;height:auto;}footer .additional-links-separator:before{content:"|";}}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .img-wrap{max-width:100px;width:100%;display:block;margin-right:20px;}@media (max-width: 900px){footer .img-wrap{margin-right:0;margin-bottom:10px;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .powered-box{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-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}@media (max-width: 900px){footer .powered-box{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col--copyright{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:10px 0;}footer .luxury-link{white-space:nowrap;}footer .footer__disclaimers{padding-top:24px;padding-bottom:24px;}@media (max-width: 900px){footer .footer__disclaimers{text-align:center;}}body>div.mobile-contact-wrapper{z-index:200;position:relative;}body>div.mobile-contact-wrapper .lp-ico:before{content:'';width:1em;height:1em;background-color:currentColor;-webkit-background-size:cover;background-size:cover;display:block;-webkit-mask-position:center;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-transition:all .3s;transition:all .3s;}body>div.mobile-contact-wrapper .lp-ico-search:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewB
60ox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-arrow-top:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-scroll-top:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");}body>div.mobile-contact-wrapper .lp-ico-close:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");}body>div.mobile-contact-wrapper .lp-ico-phone:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8
60699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-sms:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-email:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.85
6071 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper a{-webkit-text-decoration:none;text-decoration:none;}body>div.mobile-contact-wrapper .btn-holder{bottom:-50px;left:19px;position:fixed;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:13px;opacity:0;-webkit-transition:all .3s;transition:all .3s;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .btn-holder{right:19px;padding:0 48px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}body>div.mobile-contact-wrapper .btn-holder.visible{bottom:28px;opacity:1;}body>div.mobile-contact-wrapper .search-btn{width:48px;height:48px;border-radius:999px;font-size:0;line-height:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-transition:all .3s;transition:all .3s;padding:12px;color:#141414;background:#fff;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .search-btn{position:absolute;left:0;bottom:0;}}body>div.mobile-contact-wrapper .search-btn:before{width:24px;height:24px;}body>div.mobile-contact-wrapper .connect-btn{height:48px;padding:0 24px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;text-transform:uppercase;border-radius:25px;color:var(--pillTextColor);background:var(--pillBackgroundColor);border:1px solid rgba(255, 255, 255, 0.2);cursor:pointer;font-size:10px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:0.4px;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-transition:all .4s;transition:all .4s;box-shadow:0 0 0 0 rgba(255, 255, 255, 0.2);-webkit-animation:pulsate 2s ease infinite;animation:pulsate 2s ease infinite;}body>div.mobile-contact-wrapper .connect-btn:before{width:16px;height:16px;}body>div.mobile-contact-wrapper .pop-up{display:none;position:fixed;bottom:0;left:0;width:100%;-webkit-transition:all .3s;transition:all .3s;border-radius:16px 16px 0 0;color:var(--textColor);background:var(--backgroundColor);}@media (max-height: 850px){body>div.mobile-contact-wrapper .pop-up{max-height:85vh;overflow-y:auto;}}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up{max-height:none;overflow-y:initial;max-width:637px;border-radius:16px;bottom:28px;left:19px;}}body>div.mobile-contact-wrapper .pop-up .lp-container{padding-top:24px;padding-bottom:24px;-webkit-box-pack:center;-ms-flex-pack:center;
60-webkit-justify-content:center;justify-content:center;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up .lp-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:40px;padding-bottom:40px;min-height:450px;padding-left:56px;padding-right:56px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}body>div.mobile-contact-wrapper .pop-up .close-btn{width:44px;height:44px;background-color:transparent;border-color:transparent;display:block;margin:24px auto 0;-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;color:var(--textColor);cursor:pointer;padding:10px;border:0;}body>div.mobile-contact-wrapper .pop-up .close-btn:before{width:24px;height:24px;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up .close-btn{position:absolute;top:14px;right:12px;margin:0;}}body>div.mobile-contact-wrapper .pop-up .icon-btn{width:44px;height:44px;border-radius:999px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-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;margin-left:8px;color:var(--textColor);position:relative;}body>div.mobile-contact-wrapper .pop-up .icon-btn:after{position:absolute;bottom:0;width:100%;left:0;border-radius:999px;
60height:100%;content:'';border:solid 1px var(--textColor);opacity:.3;}body>div.mobile-contact-wrapper .pop-up .icon-btn:before{width:24px;height:24px;}body>div.mobile-contact-wrapper .success-block{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .success-block{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}body>div.mobile-contact-wrapper .success-block .lp-btn{margin-top:24px;}body>div.mobile-contact-wrapper .contact-form{margin:0;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .contact-form__item{width:100%;}}body>div.mobile-contact-wrapper .contact-form__item .lp-input{width:100%;}body>div.mobile-contact-wrapper .contact-form__item .is-placeholder{color:#818181;}body>div.mobile-contact-wrapper .contact-form__item+.contact-form__item{margin-top:16px;}body>div.mobile-contact-wrapper .contact-form.show-success .contact-form__container,body>div.mobile-contact-wrapper .contact-form.success .contact-form__container{display:none;}body>div.mobile-contact-wrapper .contact-form.show-success .success-block,body>div.mobile-contact-wrapper .contact-form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.mobile-contact-wrapper .contact-form .lp-disclaimer{margin-top:16px;}body>div.mobile-contact-wrapper .contact-form .lp-h3{margin-bottom:16px;}body>div.mobile-contact-wrapper .success-message{font-size:22px;}@-webkit-keyframes pulsate{0%{box-shadow:0 0 0 0 rgba(255, 255, 255, 0.2);}50%{box-shadow:0 0 4px 6px rgba(255, 255, 255, .5);}100%{box-shadow:0 0 12px 12px rgba(255, 255, 255, 0);}}
61        </style>
62    <style id="custom-style-css">.button-style-1{color:rgba(255, 255, 255, 1)!important;background-color:rgba(35, 42, 48, 1)!important;border-color:rgba(35, 42, 48, 1)!important;}.button-style-1:hover{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.pagination-style-1 li a{color:rgba(35, 42, 48, 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(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.pagination-style-1 li.active a{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.hyperlink-style-1{color:rgba(0, 0, 0, 1)!important;}.hyperlink-style-1:hover{color:rgba(171, 99, 51, 1)!important;}.social_icons-style-1 a{border-color:rgba(35, 42, 48, 1)!important;background-color:rgba(35, 42, 48, 1)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(170, 185, 192, 1)!important;background-color:rgba(170, 185, 192, 1)!important;color:rgba(35, 42, 48, 1)!important;}.social_icons-style-1 a i{color:inherit!important;}
62.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.button-style-2{color:rgba(35, 42, 48, 1)!important;background-color:rgba(247, 247, 247, 1)!important;border-color:rgba(247, 247, 247, 1)!important;}.button-style-2:hover{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:rgba(171, 99, 51, 1)!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, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.pagination-style-2 li.active a{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(35, 42, 48, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(170, 185, 192, 1)!important;background-color:rgba(170, 185, 192, 1)!important;color:rgba(35, 42, 48, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}
62.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.button-style-3{color:rgba(35, 42, 48, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(35, 42, 48, 1)!important;}.button-style-3:hover{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.button-style-4{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-4:hover{color:rgba(35, 42, 48, 1)!important;background-color:rgba(170, 185, 192, 1)!important;border-color:rgba(170, 185, 192, 1)!important;}.button-style-5{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 35, 73, 1)!important;border-color:rgba(0, 35, 73, 1)!important;}.button-style-5:hover{color:rgba(0, 35, 73, 1)!important;background-color:rgba(0, 0, 0, 0.01)!important;border-color:rgba(0, 35, 73, 1)!important;}.button-style-6{color:#000000!important;background-color:#FFFFFF!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-6:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.button-style-7{color:rgba(255, 255, 255, 1)!important;background-color:rgba(233, 22, 29, 1)!important;border-color:rgba(233, 22, 29, 1)!important;}.button-style-7:hover{color:rgba(233, 22, 29, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(233, 22, 29, 1)!important;}</style>
63        <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode
64             defaults, and dynamically loads the locale + main (and banner if needed). -->
65        
65<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="4d649273-d03b-4e27-a6a8-89e21a8a5908"></script>
65
66
67
68        
68<script>
69            (function utmParse() {
70                const url = new URL(window.location.href);
71                if (url.search) {
72                    const utm = url.search.split(/\?|&/g).reduce((acc, current) => {
73                        const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g);
74                        if (matched) {
75                        acc[matched[0]] = current.replace(`${matched[0]}=`, '');
76                        }
77                        return acc;
78                    }, {});
79                    if (Object.keys(utm).length) {
80                        window.localStorage.setItem('utm_vars', JSON.stringify(utm));
81                    } else {
82                        // Remove old utm vars
83                        window.localStorage.removeItem('utm_vars');
84                    }
85                }
86                // Set referrer in local storage
87                // This is meant to be stored once to avoid self-referrals and to have the first referrer only.
88                if (!window.localStorage.getItem('referrer')) {
89                    // Capture the Referrer URL
90                    const referrer = document.referrer;
91                    if (referrer) {
92                        // Only store the referrer if it comes from outside the current domain (to avoid self-referrals)
93                        const currentDomain = window.location.hostname;
94                        const referrerDomain = new URL(referrer).hostname;
95
96                        if (referrerDomain !== currentDomain) {
97                            // Store it in localStorage
98                            localStorage.setItem('referrer', referrer);
99                        }
100                    }
101                }
102            })();
103        </script>
103
104        
105    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
106</head>
107<body>
108    <div id="google_translate_element" style="display: none"></div>
109
110        <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b">
111            <div class="redesign">
112  <div class="content-container header">
113    <div class="container header__container">
114      <div class="navbar">
115        <div class="logo">
116          <a href="/" class="logo__link">
117            <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/dpcqeuty2d9xsncctzld" 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/dpcqeuty2d9xsncctzld 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/dpcqeuty2d9xsncctzld 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/dpcqeuty2d9xsncctzld 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/dpcqeuty2d9xsncctzld 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/dpcqeuty2d9xsncctzld 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/dpcqeuty2d9xsncctzld 3456w" class="logo__img light" alt="">
118            <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/fmglixzx06g35ck6vuxv" 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/fmglixzx06g35ck6vuxv 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/fmglixzx06g35ck6vuxv 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/fmglixzx06g35ck6vuxv 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/fmglixzx06g35ck6vuxv 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/fmglixzx06g35ck6vuxv 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fmglixzx06g35ck6vuxv 3456w" class="logo__img dark" alt="">
119          </a>
120        </div>
121        <div class="navigation">
122          <ul>
123            <li class="navigation__item">
124              <a  href="/agent/rich-richardson" class="navigation__link wow fadeInUp" data-wow-delay="2.0"><span>Meet Rich</span></a>
125            </li>
126            <li class="navigation__item">
127              <a  href="/team" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Meet Team Rich Richardson</span></a>
128            </li>
129            <li class="navigation__item sub-nav-container">
130              <a href="#" class="navigation__link wow fadeInUp">Properties</a>
131              <div class="sub-nav">
132                <ul>
133                  <li class="sub-nav__item"><a  href="/properties/sale" class="nav-link sub-nav__link feature"><span>Featured Properties</span></a></li>
134                  <li class="sub-nav__item"><a  href="/properties/sold" class="nav-link sub-nav__link feature"><span>Notable Transactions</span></a></li>
135                </ul>
136              </div>
137            </li>
138            <li class="navigation__item">
139              <a  href="/home-search/listings" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Home Search</span></a>
140            </li>
141            <li class="navigation__item">
142              <a data-type="CONTACT_US" class="navigation__link wow fadeInUp"><span>Let's Connect</span></a>
143            </li>
144            <li class="navigation__item">
145              <a  href="tel:4046801144" class="navigation__link wow fadeInUp" data-wow-delay="2.5"><span>(404) 680-1144</span></a>
146            </li>
147          </ul>
148        </div>
149        <div class="buttons-wrapper">
150          <button type="button" class="hamburger-component hamburger">
151            <span class="hamburger__bars"></span>
152          </button>
153        </div>
154      </div>
155    </div>
156  </div>
157</div>
158
159        </nav>
160        <div id="global-sidemenu" class="sidemenu" data-el-id="11fa925d-d2dd-4213-a0fa-d46f769e2c18">
161            <div class="sidebar">
162  
163  <button class="toggle sidebar__close close"></button>
164  <div class="sidebar__content">
165
166    <ul class="sidebar__nav">
167      <li class="sidebar__nav-item">
168        <a  href="/" class="sidebar__nav-link">Home</a>
169      </li>
170      <li class="sidebar__nav-item">
171        <a  href="/agent/rich-richardson" class="sidebar__nav-link">Meet Rich</a>
172      </li>
173      <li class="sidebar__nav-item">
174        <a  href="/team" class="sidebar__nav-link">Meet the Team</a>
175      </li>
176      <li class="sidebar__nav-item sub-nav-container">
177        <div class="sub-nav">
178          <ul class="sidebar__subnav">
179            <li class="sidebar__subnav-item"><a  href="/properties/sale" class="sidebar__subnav-link">Featured Properties</a></li>
180            <li class="sidebar__subnav-item"><a  href="/properties/sold" class="sidebar__subnav-link">Notable Transactions</a></li>
181          </ul>
182        </div>
183        <a href="#" class="sidebar__nav-link link main-nav">Properties</a>
184      </li>
185      <li class="sidebar__nav-item">
186        <a  href="/home-search/listings" class="sidebar__nav-link">Home Search</a>
187      </li>
188      <li class="sidebar__nav-item sub-nav-container">
189        <div class="sub-nav">
190          <ul class="sidebar__subnav">
191            <li class="sidebar__subnav-item"><a  href="/neighborhoods" class="sidebar__subnav-link">Neighborhoods</a></li>
192            <li class="sidebar__subnav-item"><a target="_blank" href="https://www.schooldigger.com/go/GA/search.aspx" class="sidebar__subnav-link">Schools</a></li>
193          </ul>
194        </div>
195        <a href="#" class="sidebar__nav-link link main-nav">Neighborhoods + Schools</a>
196      </li>
197      <li class="sidebar__nav-item">
198        <a  href="/bolst-cofounder" class="sidebar__nav-link">Bolst Cofounder</a>
199      </li>
200      <li class="sidebar__nav-item sub-nav-container">
201        <div class="sub-nav">
202          <ul class="sidebar__subnav">
203            <li class="sidebar__subnav-item"><a  href="/buyers-guide" class="sidebar__subnav-link">Buyer&#x27;s Guide</a></li>
204            <li class="sidebar__subnav-item"><a  href="/sellers-guide" class="sidebar__subnav-link">Seller&#x27;s Guide</a></li>
205          </ul>
206        </div>
207        <a href="#" class="sidebar__nav-link link main-nav">Resources</a>
208      </li>
209      <li class="sidebar__nav-item">
210        <a  href="/blog" class="sidebar__nav-link">Blog</a>
211      </li>
212      <li class="sidebar__nav-item">
213        <a  href="/contact-us" class="sidebar__nav-link">Let's Connect</a>
214      </li>
215      <li class="sidebar__nav-item">
216        <a  href="/testimonials" class="sidebar__nav-link">Testimonials</a>
217      </li>
218    </ul>
219  </div>
220</div>
221        </div>
222        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51">
223            <div class="btn-holder" 
224style="
225--backgroundColor: rgba(247, 247, 247, 1); 
226--textColor: rgba(35, 42, 48, 1); 
227--pillTextColor: rgba(255, 255, 255, 1); 
228--pillBackgroundColor: rgba(35, 42, 48, 1);">
229
230    <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Contact Us</button>
231</div>
232
233
234<div class="pop-up" style="--backgroundColor: rgba(247, 247, 247, 1); --textColor: rgba(35, 42, 48, 1);">
235  <div class="lp-container">
236    <form data-type="contact-form" class="contact-form">
237      <div class="contact-form__container">
238          <h3 class="lp-h3">Leave a Message</h3>
239      
240        <div class="contact-form__content">
241          <div class="contact-form__inputs-container">
242            <div class="contact-form__item">
243              <input
244                id="__FullName"
245                type="text" name="name"
246                class="lp-input lp-input--light"
247                required
248                placeholder="Full Name">
249            </div>
250            <div class="contact-form__item">
251              <input
252                id="__Email"
253                type="email" name="email"
254                class="lp-input js-email-input lp-input--light"
255                required
256                placeholder="Email">
257            </div>
258            <div class="contact-form__item"> 
259              <input
260                class="lp-input lp-input--light"
261                type="tel" 
262                placeholder="Phone"
263                id="__Phone"
264                name="phone"
265                required>
266            </div>
267
268            <div class="contact-form__item input-group-select">
269              <select name="interest" id="-field-interest" placeholder="Interest"
270                class="lp-input dropdown-select js-select js-form-element lp-input--light" required>
271                <option value="" disabled selected data-label="Interest">Interested in...</option>
272                <option value="Selling &amp; Buying">Selling &amp; Buying</option>
273                <option value="Selling">Selling</option>
274                <option value="Buying">Buying</option>
275                <option value="Renting">Renting</option>
276                <option value="Other">Other</option>
277              </select>
278              <label for="-field-interest" class="lp-label sr-only">Interest</label>
279            </div>
280
281            <div class="contact-form__item">
282              <textarea
283                name="message"
284                rows="4"
285                id="__Message"
286                class="lp-input lp-input--light"
287                placeholder="Message"
288                required></textarea>
289            </div>
290            <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
291  <label class='lp-tcr-content'>
292    <span class='lp-tcr-checkbox'>
293      <input
294        type='checkbox'
295        id='-termsAccepted'
296        name='termsAccepted'
297        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
298        oninput="this.setCustomValidity('')"
299        required
300      /></span>
301    <span class='lp-tcr-message'>
302      
303        I agree to be contacted by
304        Rich Richardson
305        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
306        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
307        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
308    </span>
309  </label>
310
311</div>
312            <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit  contact-form__item">Submit</button>
313            
314            <div class="lp-h-pot">
315              <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
316            </div>
317            
318            <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
319            <input type="hidden" name="button_text" value="Contact Us">
320          </div>
321        </div>
322      </div>
323
324
325      <div class="success-block">
326          <h3 class="lp-h3 success-message">Thank you for your message. We will be in touch with you shortly.</h3>
327
328      </div>
329    </form>
330
331    <button type="button" class="close-btn lp-ico lp-ico-close"></button>
332
333    
334  </div>
335</div>
336
337
338        </div>
339        <section  class="image-section is-font-color-light is-background-color-light" id="section-7616ebb1-721c-4d8d-a841-e30b8b294494" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb">
340    <div class="redesign custom-intro">
341    <div class="container">
342        <h1 class="custom-intro__title">Blog</h1>
343        
344    </div>
345</div>
346
347</section>
348<section id="section-247e796e-9beb-412d-bb50-69569f8459de"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="1e77e4a0-6624-43db-b736-bd434565fece">
349<script type="text/x-handlebars-template" class="gridItem pagination-script"><a href="/blog/{{slug}}" class="blog-list__item">
350  <div class="blog-list__item-image">
351    
352    
353
354    {{#if media.length}}
355      {{{mediaImage media.[0] alt=title}}}
356    {{/if}}
357  </div>
358  
359  <div class="blog-list__item-content">
360    <h4 class="serif">{{title}}</h4>
361    <ul class="blog-list__item-details">
362      
363      {{#isEmpty customAuthor}}
364        {{#if (or createdBy.firstName createdBy.lastName)}}<li class="blog-list__item-author">{{createdBy.firstName}} {{createdBy.lastName}}</li>{{/if}}
365      {{else}}
366        <li class="blog-list__item-author">{{customAuthor}}</li>
367      {{/isEmpty}}
368 
369      <li class="blog-list__item-date">{{hbFormatDate publishedAt 'MM/DD/YY'}}</li>            
370    </ul>
371    
372    {{#if subtitle}}
373    <p>{{truncate (striptags subtitle) 130 "..."}}</p>
374    {{/if}}
375    <span class="link hyperlink-style-1">Read MORE</span>
376  </div>
377</a>
378</script>
378
379
380
381
382
383
384
385<div class="redesign blog-list">
386
387  
388  <div class="container blog-list__container data-container hide-date hide-author">
389      <a href="/blog/johns-creek-built-the-walk-before-the-destination-and-medley-finishes-it-on-oct-29" class="blog-list__item">
390        <div class="blog-list__item-image">
391          
392          
393      
394            <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/9118ae0b-59cd-42e3-83cd-f17e134c9381" srcset="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/9118ae0b-59cd-42e3-83cd-f17e134c9381 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/9118ae0b-59cd-42e3-83cd-f17e134c9381 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9118ae0b-59cd-42e3-83cd-f17e134c9381 1536w" alt="Johns Creek Built the Walk Before the Destination, and Medley Finishes It on Oct. 29" loading="lazy">
395        </div>
396        
397        <div class="blog-list__item-content">
398          <h4 class="serif">Johns Creek Built the Walk Before the Destination, and Medley Finishes It on Oct. 29</h4>
399          <ul class="blog-list__item-details">
400            
401              
402       
403            <li class="blog-list__item-date">10/8/26</li>            
404          </ul>
405          
406          <span class="link hyperlink-style-1">Read MORE</span>
407        </div>
408      </a>
409      <a href="/blog/the-trail-at-milton-city-park-and-preserve-is-finally-done-the-parking-lot-isnt" class="blog-list__item">
410        <div class="blog-list__item-image">
411          
412          
413      
414            <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/3c903dd0-100a-435d-ad99-2e1e9f6e2111" srcset="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/3c903dd0-100a-435d-ad99-2e1e9f6e2111 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/3c903dd0-100a-435d-ad99-2e1e9f6e2111 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3c903dd0-100a-435d-ad99-2e1e9f6e2111 1536w" alt="Charcoal-brick house corner above a stone terrace, with deep lawn and a gold-turning oak." loading="lazy">
415        </div>
416        
417        <div class="blog-list__item-content">
418          <h4 class="serif">The Trail At Milton City Park And Preserve Is Finally Done. The Parking Lot Isn&#x27;t.</h4>
419          <ul class="blog-list__item-details">
420            
421              
422       
423            <li class="blog-list__item-date">10/1/26</li>            
424          </ul>
425          
426          <span class="link hyperlink-style-1">Read MORE</span>
427        </div>
428      </a>
429      <a href="/blog/riverside-park-went-dark-in-2026-roswell-quietly-moved-the-party-downtown" class="blog-list__item">
430        <div class="blog-list__item-image">
431          
432          
433      
434            <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/84151a57-2c73-43d8-b355-0ed678c0cf32" srcset="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/84151a57-2c73-43d8-b355-0ed678c0cf32 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/84151a57-2c73-43d8-b355-0ed678c0cf32 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/84151a57-2c73-43d8-b355-0ed678c0cf32 1408w" alt="Red-brick Southern home with a columned portico, herringbone walk, clipped hedges, and magnolia beneath an oak canopy." loading="lazy">
435        </div>
436        
437        <div class="blog-list__item-content">
438          <h4 class="serif">Riverside Park Went Dark in 2026. Roswell Quietly Moved the Party Downtown.</h4>
439          <ul class="blog-list__item-details">
440            
441              
442       
443            <li class="blog-list__item-date">09/24/26</li>            
444          </ul>
445          
446          <span class="link hyperlink-style-1">Read MORE</span>
447        </div>
448      </a>
449      <a href="/blog/decatur-has-two-new-developments-right-now-only-one-opens-this-year" class="blog-list__item">
450        <div class="blog-list__item-image">
451          
452          
453      
454            <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/57e8050f-bdad-4a26-a279-fa2dee10e032" srcset="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/57e8050f-bdad-4a26-a279-fa2dee10e032 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/57e8050f-bdad-4a26-a279-fa2dee10e032 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/57e8050f-bdad-4a26-a279-fa2dee10e032 1408w" alt="Symmetrical two-story brick home with a green door, white-columned portico, magnolia canopy, and diagonal brick walkway." loading="lazy">
455        </div>
456        
457        <div class="blog-list__item-content">
458          <h4 class="serif">Decatur Has Two &quot;New Developments&quot; Right Now. Only One Opens This Year.</h4>
459          <ul class="blog-list__item-details">
460            
461              
462       
463            <li class="blog-list__item-date">09/17/26</li>            
464          </ul>
465          
466          <span class="link hyperlink-style-1">Read MORE</span>
467        </div>
468      </a>
469      <a href="/blog/the-sandy-springs-tax-bill-you-see-isnt-the-one-youll-pay" class="blog-list__item">
470        <div class="blog-list__item-image">
471          
472          
473      
474            <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/79c73d62-2912-4662-a985-a8707e9c5e6d" srcset="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/79c73d62-2912-4662-a985-a8707e9c5e6d 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/79c73d62-2912-4662-a985-a8707e9c5e6d 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/79c73d62-2912-4662-a985-a8707e9c5e6d 1408w" alt="Modern dark-brick home behind a curving bluestone walk and lawn, shaded by an oak canopy." loading="lazy">
475        </div>
476        
477        <div class="blog-list__item-content">
478          <h4 class="serif">The Sandy Springs Tax Bill You See Isn&#x27;t the One You&#x27;ll Pay</h4>
479          <ul class="blog-list__item-details">
480            
481              
482       
483            <li class="blog-list__item-date">09/10/26</li>            
484          </ul>
485          
486          <span class="link hyperlink-style-1">Read MORE</span>
487        </div>
488      </a>
489      <a href="/blog/atlantas-new-tree-ordinance-just-repriced-what-a-tuxedo-park-teardown-is-worth" class="blog-list__item">
490        <div class="blog-list__item-image">
491          
492          
493      
494            <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/b1a34254-d1f4-40ff-a5d8-dd7967c02dc6" srcset="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/b1a34254-d1f4-40ff-a5d8-dd7967c02dc6 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/b1a34254-d1f4-40ff-a5d8-dd7967c02dc6 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b1a34254-d1f4-40ff-a5d8-dd7967c02dc6 1408w" alt="Symmetrical two-story brick estate beneath arching oak canopies, with a broad lawn and brick path leading to its arched entry." loading="lazy">
495        </div>
496        
497        <div class="blog-list__item-content">
498          <h4 class="serif">Atlanta&#x27;
498s New Tree Ordinance Just Repriced What a Tuxedo Park Teardown Is Worth</h4>
499          <ul class="blog-list__item-details">
500            
501              
502       
503            <li class="blog-list__item-date">09/10/26</li>            
504          </ul>
505          
506          <span class="link hyperlink-style-1">Read MORE</span>
507        </div>
508      </a>
509  </div>
510  <div class="empty-results">Sorry, we couldn't find any results that match that search. Try another search.</div>
511  <div class="pagination-container pagination-container--dark pagination-style-1"></div>
512</div>
513</section>
514<section id="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6"  class="solid-section is-font-color-light is-background-color-light" data-el-id="c486d5ea-5179-43ae-904c-a0e6d0289d98">
515  <div class="popup-modal redesign lp-vertical-paddings">
516  <div class="lp-container popup-modal__container">
517    <form class="popup-modal__form popup-modal__form--with-image" data-type="contact-form" style='background-color: rgba(35, 42, 48, 1);' data-delay="5000">
518          <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/mcqjbzmdubyarnamnj4e" 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/mcqjbzmdubyarnamnj4e 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/mcqjbzmdubyarnamnj4e 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/mcqjbzmdubyarnamnj4e 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/mcqjbzmdubyarnamnj4e 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/mcqjbzmdubyarnamnj4e 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/mcqjbzmdubyarnamnj4e 3456w" sizes="50vw" alt="Form Image" class="image" loading="lazy">
519      <div class="form-group">
520        
521        <div class="lp-title-group popup-modal__left-align">
522          <h2 class="lp-h2">Get Access To Our Private Listings</h2>
523          <div class="lp-h6 lp-text--subtitle"><p>Fill out the form below to receive our comprehensive list of market listings.</p></div>
524        </div>
525        
526        <div class="form-inputs-wrap ">
527
528          <div class="input-container">
529            <input id="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-mp-name" name="name" type="text" class="lp-input lp-input--light popup-modal__input" placeholder="Name" required>
530            <span class="input-icon"></span>
531          </div>
532        
533        
534          <div class="input-container">
535            <input id="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-mp-email" name="email" type="email" class="lp-input lp-input--light popup-modal__input" placeholder="Email" required pattern="[a-zA-Z0-9.!#$%&amp;’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+">
536            <span class="input-icon"></span>
537          </div>
538          
539          <div class="input-container">
540            <input id="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-mp-phone" name="phone" type="tel" class="lp-input lp-input--light popup-modal__input" placeholder="Phone" required>
541            <span class="input-icon"></span>
542          </div>
543
544          <div class="lp-h-pot">
545            <label for="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-middleName">Middle Name</label>
546            <input id="section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
547          </div>
548          <div class="lp-disclaimer">  <label style='display: none;' for='section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-termsAccepted'>Opt In/Disclaimer Consent:</label>
549  <label class='lp-tcr-content'>
550    <span class='lp-tcr-checkbox'>
551      <input
552        type='checkbox'
553        id='section-552d56a9-1f0c-4092-837c-0f3b8aa080b6-termsAccepted'
554        name='termsAccepted'
555        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
556        oninput="this.setCustomValidity('')"
557        required
558      /></span>
559    <span class='lp-tcr-message'>
560      
561        I agree to be contacted by
562        Rich Richardson
563        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
564        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
565        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
566    </span>
567  </label>
568
569</div>
570          
571          <input type="hidden" name="source" value="CONTACT_INQUIRY"> 
572          <button class="popup-modal__submit lp-btn lp-btn--light lp-btn--filled button-style-2" type="submit">Submit</button>
573       </div>
574       
575      </div>
576
577      
578      
579      <div class="thank-you">
580        <div class="lp-title-group">
581          <h2 class="lp-h2">Thank You!</h2>
582          <p class="lp-h6 lp-text--subtitle">Find all current listings available</p>
583        </div>
584        
585                <a
586                    href="/properties/sale"
587                    
588                    class="lp-btn lp-btn--dark lp-btn--outline button-style-2"
589                    
590                    
591                    
592                    
593                    
594                    >
595                            See Your Listing
596                    </a>
597      </div>
598    </form>
599    
600  </div>
601</div>
602
603</section>
604<section  class="image-section is-font-color-light is-background-color-light" id="section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c">
605    
605<script>
606  (function(){
607    const sectionId = 'section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2'
608    const section = document.querySelector(`#${sectionId}`);
609    var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image');
610
611    if('true' === 'true') {
612      section.classList.add('parallax-enabled');
613      section.style.setProperty('--sectionBackground', sectionBg);
614      section.style.setProperty('background', 'none');
615    }
616  })()
617</script>
617
618<div class="redesign work-with-us parallax">
619	<div class="container">
620			<h2 class="serif">Work With Us</h2>
621			<div class="description">We pride ourselves in providing personalized solutions that bring our clients closer to their dream properties and enhance their long-term wealth. Contact us today to find out how we can be of assistance to you!
622</div>
623		<div class="btn-container">
624              <a
625                  role="button"
626                  data-type="CONTACT_US"
627                  class="btn btn--primary-light button-style-2"
628                  
629                  
630                  
631                  
632                  
633                  >
634                          Contact Us
635                  </a>
636    </div>
637	</div>
638</div> 
639</section>
640<section id="section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284">
641  
641<script type="text/x-handlebars-template" class="jsIGItem">
642    <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}">
643      <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div>
644      <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div>
645      {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}}
646    </a> 
647</script>
647
648<div class="ig-feed redesign">
649  <div class="ig-feed-top lp-container">
650    <div class="top-wrapper">
651      <div class="top-left">
652          <h3 class="lp-h3 title">Follow Me on Instagram</h3>
653        <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a>
654      </div>
655      <div class="top-right">
656          <a href="#" target="_blank" class="lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width follow-button jsIGLink button-style-1">Follow Me</a>
657        <a class="nav-button top-nav-prev hidden-control button-style-1">
658          <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
659        </a>
660        <a class="nav-button top-nav-next hidden-control button-style-1">
661          <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
662        </a>
663      </div>
664    </div>
665  </div>
666  <div class="lp-container ig-feed-container ">
667    <div class="ig-feed-feed" data-limit="33">
668    </div>
669  </div>
670  <div class="bottom-controls">
671    <a class="bottom-nav-button bottom-nav-prev button-style-1">
672      <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
673    </a>
674    <a class="bottom-nav-button bottom-nav-next button-style-1">
675      <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
676    </a>
677  </div>
678</div>
679
680</section>
681
682        <div id="modals" class="modals"></div>
683        <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="874a9373-949d-4275-b72f-04c2a6ec373b">
684            <div class="footer redesign  no_newsletter "> 
685    <div class="container">
686        <h3>Team Rich Richardson</h3>
687        <div class="info-wrap">
688            <div class="info-wrap-contact agent_box">
689                <div class="info-wrap-contact_zone type_user">
690                    <h4 class="serif">Get Started</h4>
691                    <div class="info-wrap-contact_cell">
692                        <i>
693                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
694                                <path d="M2 0C0.903517 0 0 0.903517 0 2V16.6667C0 17.7631 0.903517 18.6667 2 18.6667H28C29.0965 18.6667 30 17.7631 30 16.6667V2C30 0.903517 29.0965 0 28 0H2ZM2.4375 1.33333H27.5625L15.6458 11.4896C15.3389 11.7512 14.6612 11.7512 14.3542 11.4896L2.4375 1.33333ZM1.33333 2.13542L10.1979 9.6979L1.33333 16.5729V2.13542ZM28.6667 2.13542V16.5729L19.8021 9.6979L28.6667 2.13542ZM11.2396 10.5833L13.4896 12.5C14.3543 13.2369 15.6457 13.2369 16.5104 12.5L18.7604 10.5833L27.4687 17.3333H2.53125L11.2396 10.5833Z" fill="#1A1A1A" />
695                            </svg>
696                        </i>
697                        <p class="contact_title">Email</p>
698                        <a href="/cdn-cgi/l/email-protection#2d5f444e456d59484c405f5f034e4240" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2"><span class="__cf_email__" data-cfemail="5f2d363c371f2b3a3e322d2d713c3032">[email&#160;protected]</span></a>
699                    </div>
700                    <div class="info-wrap-contact_cell">
701                        <i><svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
702                        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.23
70213 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A" />
703                        </svg></i>
704                        <p class="contact_title">Phone Number</p>
705                        <a href="tel:4046801144" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2">M: (404) 680-1144</a>
706                    </div>
707                </div>
708                <div class="info-wrap-contact_zone type_user">
709                    <div class="info-wrap-contact_cell">
710                        <i>
711                        <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
712                            <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A" />
713                        </svg>
714                    </i>
715                        <p class="contact_title">Phone Number</p>
716                        <a href="tel:4044822293" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2">O: (404) 482-2293</a>
717                    </div>
718                </div>
719                <div class="info-wrap-contact_zone">
720                    <div class="info-wrap-contact_cell">
721                        <i>
722                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
723                                <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 3
7230.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A" />
724                                <path d="M6.57515 19.1142C6.6671 19.422 6.95006 19.6323 7.2713 19.6323C7.59215 19.6323 7.87511 19.422 7.96746 19.1142C8.67742 16.7514 10.0393 15.2447 11.3559 13.788C12.9944 11.9747 14.5422 10.2615 14.5422 7.2717C14.5422 3.39788 11.1451 0 7.2713 0C3.39827 0 0 3.39748 0 7.2717C0 10.2615 1.54819 11.9747 3.18674 13.788C4.50328 15.2447 5.86479 16.7514 6.57515 19.1142ZM7.2713 1.45426C10.316 1.45426 13.0883 4.22663 13.0883 7.2717C13.0883 9.70191 11.7852 11.1435 10.2769 12.8121C9.2461 13.9534 8.10992 15.2096 7.2713 16.9199C6.43229 15.2096 5.29651 13.953 4.2657 12.8121C2.75698 11.1432 1.45426 9.70191 1.45426 7.2717C1.45426 4.22663 4.22663 1.45426 7.2713 1.45426Z" fill="#1A1A1A" />
725                                <path d="M7.26193 10.1616C8.8705 10.1616 10.1795 8.86084 10.1795 7.26175C10.1795 5.66305 8.87089 4.3623 7.26193 4.3623C5.65297 4.3623 4.34473 5.66305 4.34473 7.26175C4.34512 8.86084 5.65336 10.1616 7.26193 10.1616ZM7.26193 5.81657C8.06898 5.81657 8.72527 6.46536 8.72527 7.26175C8.72527 8.05932 8.06898 8.70733 7.26193 8.70733C6.45528 8.70733 5.79899 8.05893 5.79899 7.26175C5.79899 6.46536 6.45528 5.81657 7.26193 5.81657Z" fill="#1A1A1A" />
726                            </svg>
727                        </i>
728                        <p class="info-wrap-contact_title">Address</p>
729                        <p class="info-wrap-contact_link grey-text"><p>620 GLEN IRIS DR NE UNIT 1</p>
730<p>ATLANTA GA 30308</p></p>
731                    </div>
732                </div>
733            </div>
734        </div>
735        <div class="text_footer first_text_footer">
736            <div class="images_box">
737                <div class="img_size">
738                    <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rp0akum0uzqujfgkg6dr" 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/rp0akum0uzqujfgkg6dr 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rp0akum0uzqujfgkg6dr 844w" alt="Footer Image" sizes="200px">
739                </div>
740            </div>
741            <div class="luxury-text">
742                <p style="font-size: 12px;">All information is deemed reliable but not guaranteed and should be independently reviewed and verified.<br><br></p>
743<p style="opacity: 1;"><img style="width: 100px; height: auto; filter: invert(1);" src="https://media-production.lp-cdn.com/media/d684a1ed-6f8b-4df2-9370-dbc78886cc0d"></p>
744            </div>
745        </div>
746        <div class="text_footer second_text_footer">
747            <div class="text_content_wrap">
748                <div>
749                    <div>&nbsp;</div>
750<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style>
751                </div>
752            </div>
753        </div>
754        <div class="info-privacy">
755          <div class="form-row info-privacy__row">
756
757            <div class="form-col form-col--powered powered-box">
758                    <div class="img-wrap">
759                        <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/yx3xrks5spqir2skpzkx" 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/yx3xrks5spqir2skpzkx 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/yx3xrks5spqir2skpzkx 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/yx3xrks5spqir2skpzkx 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/yx3xrks5spqir2skpzkx 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/yx3xrks5spqir2skpzkx 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/yx3xrks5spqir2skpzkx 3456w" sizes="200px" alt="">
760                    </div>
761                <div class="powered_zone">
762                    Real Estate Website Design by <a href="https://www.luxurypresence.com/real-estate-website-design/" target="_blank" class="lp-link grey-text luxury-link underlined hyperlink-style-2">Luxury Presence</a>
763                </div>
764            </div>
765
766            <div class="form-col form-col--copyright">
767              <div class="copy_zone">
768                <span class="copy_words">Copyright &copy;</span> <span class="auto-year-update">2026</span>
769                | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-2">Privacy Policy</a>
770
771              </div>
772            </div>
773
774            <div class="form-col form-col--socials">
775                <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone">
776                
777                        <li>
778                          <a
779                            href="https://www.facebook.com/teamrichrichardson"
780                            class="lp-socials__link socials__item socials__link wow fadeInUp"
781                            data-wow-delay="0s"
782                            target="_blank"
783                            aria-label="FACEBOOK"
784                          >
785                              <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
786                          </a>
787                        </li>
788                        <li>
789                          <a
790                            href="https://www.instagram.com/teamrichrichardson/?hl&#x3D;en"
791                            class="lp-socials__link socials__item socials__link wow fadeInUp"
792                            data-wow-delay="0.1s"
793                            target="_blank"
794                            aria-label="INSTAGRAM"
795                          >
796                              <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
797                          </a>
798                        </li>
799                        <li>
800                          <a
801                            href="https://www.linkedin.com/in/rich-richardson-8942b44/"
802                            class="lp-socials__link socials__item socials__link wow fadeInUp"
803                            data-wow-delay="0.2s"
804                            target="_blank"
805                            aria-label="LINKEDIN"
806                          >
807                              <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
808                          </a>
809                        </li>
810                        <li>
811                          <a
812                            href="https://www.google.com/search?q&#x3D;Team+Rich+Richardson++GA&amp;sca_esv&#x3D;17cd44fc334c6f6b&amp;rlz&#x3D;1C1GCEB_enPH922PH922&amp;ei&#x3D;6FG6ZuKQLavO2roP2bS44AQ&amp;ved&#x3D;0ahUKEwjipNaiiPCHAxUrp1YBHVkaDkwQ4dUDCA8&amp;uact&#x3D;5&amp;oq&#x3D;Team+Rich+Richardson++GA&amp;gs_lp&#x3D;Egxnd3Mtd2l6LXNlcnAiGFRlYW0gUmljaCBSaWNoYXJkc29uICBHQTIIEAAYgAQYogQyCBAAGIAEGKIEMggQABiABBiiBEjyAlAAWABwAHgAkAEAmAF-oAF-qgEDMC4xuAEDyAEA-AEC-AEBmAIBoAKKAZgDAOIDBRIBMSBAkgcDMC4xoAfGAQ&amp;sclient&#x3D;gws-wiz-serp#lrd&#x3D;0x88f508c1162669a3:0x1d54375e2f411425,1,,,,"
813                            class="lp-socials__link socials__item socials__link wow fadeInUp"
814                            data-wow-delay="0.3s"
815                            target="_blank"
816                            aria-label="GOOGLE"
817                          >
818                              <span class="lp-i lp-i--google" aria-hidden="true"></span>
819                          </a>
820                        </li>
821                        <li>
822                          <a
823                            href="https://www.zillow.com/profile/TeamRR"
824                            class="lp-socials__link socials__item socials__link wow fadeInUp"
825                            data-wow-delay="0.4s"
826                            target="_blank"
827                            aria-label="ZILLOW"
828                          >
829                              <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
830                          </a>
831                        </li>
832                  </ul>            </div>
833          </div>
834        </div>
835    </div>
836</div>
837
838        </footer>
839
840        <div id="modal-global-contact-us" class="modal "
841            data-el-id=""
842            style="background-color: ;"
843            >
844            <div class="modal-content">
845                <div class="contact-form redesign " style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/xr52fnlqupos3cacoaf8')">
846          <div class="container">
847              <div class="section-details" style="--colorTxt: #ffffff">
848                  <h2>Contact Details</h2>
849                  
850                  <div class="info-zone">
851        
852                          <div class="info-zone_contact type_user">
853                                <h4 class="serif">Team Rich Richardson</h4>
854                                <div class="info-zone_contact_cell">
855                                        <i>
856                                            <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
857                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A"/>
858                                            </svg>
859                                        </i>
860                                    <p class="contact_title">Phone</p>
861                                    <a href="tel:M: (404) 680-1144" class="lp-link info-zone_contact_link link hyperlink-style-2">M: (404) 680-1144</a>
862                                </div>
863                          </div>
864                          <div class="info-zone_contact type_user">
865                                <div class="info-zone_contact_cell">
866                                        <i>
867                                            <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
868                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.48
86815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A"/>
869                                            </svg>
870                                        </i>
871                                    <p class="contact_title">Phone</p>
872                                    <a href="tel:O: (404) 482-2293" class="info-zone_contact_link hvr_animation link link--white hyperlink-style-2">O: (404) 482-2293</a>
873                                </div>
874                                <div class="info-zone_contact_cell">
875                                        <i>
876                                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
877                                                <path d="M2 0C0.903517 0 0 0.903517 0 2V16.6667C0 17.7631 0.903517 18.6667 2 18.6667H28C29.0965 18.6667 30 17.7631 30 16.6667V2C30 0.903517 29.0965 0 28 0H2ZM2.4375 1.33333H27.5625L15.6458 11.4896C15.3389 11.7512 14.6612 11.7512 14.3542 11.4896L2.4375 1.33333ZM1.33333 2.13542L10.1979 9.6979L1.33333 16.5729V2.13542ZM28.6667 2.13542V16.5729L19.8021 9.6979L28.6667 2.13542ZM11.2396 10.5833L13.4896 12.5C14.3543 13.2369 15.6457 13.2369 16.5104 12.5L18.7604 10.5833L27.4687 17.3333H2.53125L11.2396 10.5833Z" fill="#1A1A1A"/>
878                                            </svg>
879                                        </i>
880                                    <p class="contact_title">Email</p>
881                                    <a href="/cdn-cgi/l/email-protection#691b000a01291d0c08041b1b470a0604" class="info-zone_contact_link hvr_animation link link--white hyperlink-style-2"><span class="__cf_email__" data-cfemail="74061d171c340011151906065a171b19">[email&#160;protected]</span></a>
882                                </div>
883                          </div>
884                          <div class="info-zone_contact">
885                                <div class="info-zone_contact_cell">
886                                        <i>
887                                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
888                                                <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 30.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A"/>
889                                                <path d="M6.57515 19.1142C6.6671 19.422 6.95006 19.6323 7.2713 19.6323C7.59215 19.6323 7.87511 19.422 7.96746 19.1142C8.67742 16.7514 10.0393 15.2447 11.3559 13.788C12.9944 11.9747 14.5422 10.2615 14.5422 7.2717C14.5422 3.39788 11.1451 0 7.2713 0C3.39827 0 0 3.39748 0 7.2717C0 10.2615 1.54819 11.9747 3.18674 13.788C4.50328 15.2447 5.86479 16.7514 6.57515 19.1142ZM7.2713 1.45426C10.316 1.45426 13.0883 4.22663 13.0883 7.2717C13.0883 9.70191 11.7852 11.1435 10.2769 12.8121C9.2461 13.9534 8.10992 15.2096 7.2713 16.9199C6.43229 15.2096 5.29651 13.953 4.2657 12.8121C2.75698 11.1432 1.45426 9.70191 1.45426 7.2717C1.45426 4.22663 4.22663 1.45426 7.2713 1.45426Z" fill="#1A1A1A"/>
890                                                <path d="M7.26193 10.1616C8.8705 10.1616 10.1795 8.86084 10.1795 7.26175C10.1795 5.66305 8.87089 4.3623 7.26193 4.3623C5.65297 4.3623 4.34473 5.66305 4.34473 7.26175C4.34512 8.86084 5.65336 10.1616 7.26193 10.1616ZM7.26193 5.81657C8.06898 5.81657 8.72527 6.46536 8.72527 7.26175C8.72527 8.05932 8.06898 8.70733 7.26193 8.70733C6.45528 8.70733 5.79899 8.05893 5.79899 7.26175C5.79899 6.46536 6.45528 5.81657 7.26193 5.81657Z" fill="#1A1A1A"/>
891                                            </svg>
892                                        </i>
893                                    <p class="info-wrap-contact_title">Address</p>
894                                    <p class="info-zone_contact_link pre-line">620 GLEN IRIS DR NE UNIT 1
895        ATLANTA, GA 30308</p>
896                                </div>
897                          </div>
898                        <div class="info-zone_contact">
899                            <div class="info-zone_contact_cell">
900                                <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p>
901                            </div>
902                        </div>
903                        <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__c
903ontact-column">
904                        
905                                <li>
906                                  <a
907                                    href="https://www.facebook.com/teamrichrichardson"
908                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
909                                    data-wow-delay="0s"
910                                    target="_blank"
911                                    aria-label="FACEBOOK"
912                                  >
913                                      <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
914                                  </a>
915                                </li>
916                                <li>
917                                  <a
918                                    href="https://www.instagram.com/teamrichrichardson/?hl&#x3D;en"
919                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
920                                    data-wow-delay="0.1s"
921                                    target="_blank"
922                                    aria-label="INSTAGRAM"
923                                  >
924                                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
925                                  </a>
926                                </li>
927                                <li>
928                                  <a
929                                    href="https://www.linkedin.com/in/rich-richardson-8942b44/"
930                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
931                                    data-wow-delay="0.2s"
932                                    target="_blank"
933                                    aria-label="LINKEDIN"
934                                  >
935                                      <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
936                                  </a>
937                                </li>
938                                <li>
939                                  <a
940                                    href="https://www.google.com/search?q&#x3D;Team+Rich+Richardson++GA&amp;sca_esv&#x3D;17cd44fc334c6f6b&amp;rlz&#x3D;1C1GCEB_enPH922PH922&amp;ei&#x3D;6FG6ZuKQLavO2roP2bS44AQ&amp;ved&#x3D;0ahUKEwjipNaiiPCHAxUrp1YBHVkaDkwQ4dUDCA8&amp;uact&#x3D;5&amp;oq&#x3D;Team+Rich+Richardson++GA&amp;gs_lp&#x3D;Egxnd3Mtd2l6LXNlcnAiGFRlYW0gUmljaCBSaWNoYXJkc29uICBHQTIIEAAYgAQYogQyCBAAGIAEGKIEMggQABiABBiiBEjyAlAAWABwAHgAkAEAmAF-oAF-qgEDMC4xuAEDyAEA-AEC-AEBmAIBoAKKAZgDAOIDBRIBMSBAkgcDMC4xoAfGAQ&amp;sclient&#x3D;gws-wiz-serp#lrd&#x3D;0x88f508c1162669a3:0x1d54375e2f411425,1,,,,"
941                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
942                                    data-wow-delay="0.3s"
943                                    target="_blank"
944                                    aria-label="GOOGLE"
945                                  >
946                                      <span class="lp-i lp-i--google" aria-hidden="true"></span>
947                                  </a>
948                                </li>
949                                <li>
950                                  <a
951                                    href="https://www.zillow.com/profile/TeamRR"
952                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
953                                    data-wow-delay="0.4s"
954                                    target="_blank"
955                                    aria-label="ZILLOW"
956                                  >
957                                      <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
958                                  </a>
959                                </li>
960                          </ul>          </div>
961              </div>
962              <div class="section-message">
963                  <form data-type="contact-form">
964                      <h2>Submit a Message</h2>
965                       <div class="h-pot">
966                        <label for="-middleName">Middle Name</label>
967                        <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
968                      </div>
969        
970        
971                      <div class="lp-input-group">
972                          <label for="prod-name" class="lp-label">Name</label>
973                          <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light">
974                      </div>
975                      <div class="lp-input-group">
976                          <label for="prod-email" class="lp-label">Email</label>
977                          <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light">
978                      </div>
979                      <div class="lp-input-group">
980                          <label for="prod-phone" class="lp-label">Phone</label>
981                          <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light">
982                      </div>
983                      <div class="lp-input-group m16">
984                          <label for="prod-message" class="lp-label">Message</label>
985                          <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea>
986                      </div>
987        
988                      <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
989          <label class='lp-tcr-content'>
990            <span class='lp-tcr-checkbox'>
991              <input
992                type='checkbox'
993                id='-termsAccepted'
994                name='termsAccepted'
995                oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
996                oninput="this.setCustomValidity('')"
997                required
998              /></span>
999            <span class='lp-tcr-message'>
1000              
1001                I agree to be contacted by
1002                Rich Richardson
1003                via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
1004                You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
1005                <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
1006            </span>
1007          </label>
1008        
1009        </div>
1010                      
1011                      <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
1012                      
1013                      
1014                      <button type="submit" class="submitButton lp-btn button-style-2">
1015                          <span class="label-initial">Submit</span>
1016                          <span class="label-loading">Submitting</span>
1017                          <span class="label-success">Submitted</span>
1018                          <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span>
1019                      </button>
1020                      <p class="success-message success hide">
1021                        Message sent successfully!
1022                      </p>
1023                  </form>
1024                  
1025                  
1026              </div>
1027          </div>
1028        </div>
1029        
1030            </div>
1031            <button class="close lp-close" type="button" aria-label="close modal">
1032                <span class="lp-close-icon" aria-hidden="true"></span>
1033            </button>
1034        </div>
1035        <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;">
1036          <style>
1037            #qualifying-questions-modal .custom-select-toggle {
1038              border: 1px solid #848484;
1039              border-radius: 8px;
1040              padding: 12px 16px;
1041            }
1042        
1043            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
1044              color: #848484;
1045            }
1046        
1047            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
1048              color: #848484;
1049              opacity: 1;
1050            }
1051        
1052            #qualifying-questions-modal .disclaimer-more {
1053              display: none;
1054            }
1055        
1056            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
1057              display: inline;
1058            }
1059        
1060            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
1061              display: none;
1062            }
1063          </style>
vendor: 119 bytes, lines 1063-1064
1063
1064          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1064<script>
1065            function toggleDisclaimerQualifyingQuestionsModal() {
1066              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
1067              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
1068        
1069              if (disclaimerText.classList.contains('collapsed')) {
1070                disclaimerText.classList.remove('collapsed');
1071                toggleButton.textContent = 'Read less';
1072                toggleButton.setAttribute('aria-expanded', 'true');
1073              } else {
1074                disclaimerText.classList.add('collapsed');
1075                toggleButton.textContent = 'Read more';
1076                toggleButton.setAttribute('aria-expanded', 'false');
1077              }
1078            }
1079          </script>
1079
1080          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
1081            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
1082              <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;">
1083                <span aria-hidden="true">&times;</span>
1084              </button>
1085              <div style="padding: 40px 30px 32px;">
1086                <div style="text-align: left; margin-bottom: 32px;">
1087                  <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;">
1088                    Thanks, please provide more information to help serve you
1089                  </h2>
1090                </div>
1091                <form id="qualifying-questions-modal-form" data-type="contact-form">
1092                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
1093                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
1094                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
1095                  <label for="qualifying-questions-modal-email" style="display:none;">
1096                    Email
1097                  </label>
1098                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
1099                    Trigger Source
1100                  </label>
1101        
1102                  <div style="margin-bottom: 20px;">
1103                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
1104                      Phone Number
1105                    </label>
1106                    <input
1107                      type="tel"
1108                      id="qualifying-questions-modal-phoneNumber"
1109                      name="phoneNumber"
1110                      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;"
1111                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
1112                      required
1113                      placeholder="Phone"
1114                      aria-label="Phone Number"
1115                      inputmode="tel"
1116                      autocomplete="tel"
1117                      onfocus="this.style.borderColor='black';"
1118                      onblur="this.style.borderColor='#848484';"
1119                    />
1120                  </div>
1121        
1122                  <div style="margin-bottom: 20px;">
1123                    <label for="qualifying-questions-modal-interest" style="display:none;">
1124                      Interest
1125                    </label>
1126                    <select
1127                      id="qualifying-questions-modal-interest"
1128                      name="interest"
1129                      required
1130                      data-label="Interest"
1131                      aria-label="Interest"
1132                      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;"
1133                      onfocus="this.style.borderColor='black'; this.style.color='black';"
1134                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
1135                    >
1136                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
1137                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
1138                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
1139                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
1140                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
1141                      <option value="Other" style="background: #fff; color: black;">Other</option>
1142                    </select>
1143                  </div>
1144        
1145                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
1146                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
1147                    <label class='lp-tcr-content'>
1148                      <span class='lp-tcr-checkbox'>
1149                        <input
1150                          type='checkbox'
1151                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
1152                          name='termsAccepted'
1153                          aria-describedby='qualifying-questions-modal-disclaimer-text'
1154                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
1155                          oninput="this.setCustomValidity('')"
1156                          required
1157                        /></span>
1158                      <span class='lp-tcr-message'>
1159                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
1160                          
1161                            I agree to be contacted by
1162                            <strong>Rich Richardson</strong>
1163                            via call, email, and text <span class="disclaimer-more">for real estate services. 
1164                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
1165                            You can also click the unsubscribe link in the emails. 
1166                            Message and data rates may apply. Message frequency may vary.</span>
1167                            <span class="disclaimer-ellipsis">...</span>
1168                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
1169                        </div>
1170                        <button
1171                          id="qualifying-questions-modal-toggle-disclaimer"
1172                          type="button"
1173                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
1174                          aria-expanded="false"
1175                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
1176                        >
1177                          Read more
1178                        </button>
1179                      </span>
1180                    </label>
1181                  </div>
1182        
1183                  <div>
1184                    <button
1185                      type="submit"
1186                      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;"
1187                      onmouseover="this.style.background='transparent'; this.style.color='black';"
1188                      onmouseout="this.style.background='black'; this.style.color='white';"
1189                    >
1190                      Submit
1191                    </button>
1192                  </div>
1193                </form>
1194              </div>
1195            </div>
1196          </div>
1197        </div>
1198
1199    
1199<script>
1200        (function() {
1201        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
1202
1203        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
1204            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
1205            entries.forEach(function(video) {
1206                if (video.isIntersecting) {
1207                for (var source in video.target.children) {
1208                    var videoSource = video.target.children[source];
1209                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
1210                    videoSource.src = videoSource.dataset.src;
1211                    }
1212                }
1213
1214                video.target.load();
1215                video.target.classList.remove("lazy");
1216                lazyVideoObserver.unobserve(video.target);
1217                }
1218            });
1219            });
1220
1221            lazyVideos.forEach(function(lazyVideo) {
1222                lazyVideoObserver.observe(lazyVideo);
1223            });
1224        }
1225        })();
1226    </script>
1226
1227
1228        <!-- Global site tag (gtag.js) - Google Analytics -->
1229        
1229<script defer src="https://www.googletagmanager.com/gtag/js"></script>
1229
1230
1231            <!-- Google Tag Manager -->
1232            
1232<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1233                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1234                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
1235                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1236            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
1236
1237            <!-- End Google Tag Manager -->
1238
1239
1240        <!-- LP Tracker (divolte.js) - LP Divolte -->
1241            
1241<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
1241
1242        <!-- LP Tracker (eventBus) - LP EventBus -->
1243            
1243<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
1243
1244
1245    
1245<script>
1246        window.dataLayer = window.dataLayer || [];
1247        document.sendGoogleTagManagerEvent = function() {
1248            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
1249            if (window.navigator.globalPrivacyControl) {
1250                return;
1251            }
1252
1253            dataLayer.push(arguments);
1254        }
1255
1256        document.sendGoogleTagManagerEvent('js', new Date());
1257            document.sendGoogleTagManagerEvent('config', 'G-W6XMG1M6F4', { page: location.pathname, location: location.href });
1258        document.sendGoogleAnalyticsEvent = function(googleEvent) {
1259            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
1260                event_category: googleEvent.eventCategory,
1261                event_label: googleEvent.eventLabel,
1262                value: googleEvent.eventValue,
1263                page: googleEvent.page,
1264                location: googleEvent.location
1265            })
1266        };
1267
1268        document.addEventListener("DOMContentLoaded", function() {
1269            (function() {
1270                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
1271                var date = new Date();
1272                var elements = document.getElementsByClassName('auto-year-update');
1273                var i;
1274                for (i = 0; i < elements.length; i++) {
1275                    elements[i].innerText = date.getFullYear();
1276                }
1277            })();
1278            if (window.divolteLp) {
1279                window.divolteLp('sendLpPageView', {});
1280            }
1281            if (window.eventBusLp) {
1282                window.eventBusLp('sendLpPageView', {});
1283            }
1284        });
1285    </script>
1285
1286
1287
1288    
1288<script>
1289    // Function to dynamically load a script
1290    function loadScript(url, callback) {
1291        var script = document.createElement('script');
1292        script.type = 'text/javascript';
1293        script.src = url;
1294        script.defer = true;
1295        script.async = true;
1296        script.onload = callback;
1297        document.head.appendChild(script);
1298    }
1299
1300    // Function to dynamically load CSS file
1301    function loadCSS(url) {
1302        var link = document.createElement("link");
1303        link.rel = "stylesheet";
1304        link.href = url;
1305        document.head.appendChild(link);
1306    }
1307
1308    // Global methods / variables that can be accessed by element js
1309    window.luxuryPresence = {
1310        libs: {
1311            loadJs: loadScript,
1312            loadCss: loadCSS,
1313            jsLibsMap: {
1314                paroller: {
1315                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
1316                    isLoaded: false,
1317                },
1318                ionRangeSlider: {
1319                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
1320                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
1321                    isLoaded: false,
1322                    requires: ['jquery'],
1323                },
1324                splide: {
1325                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
1326                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
1327                    isLoaded: false,
1328                },
1329                wow: {
1330                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
1331                    isLoaded: false,
1332                },
1333                jquery: {
1334                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
1335                    isLoaded: false,
1336                },
1337                slick: {
1338                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
1339                    isLoaded: false,
1340                    requires: ['jquery'],
1341                },
1342                libphonenumber: {
1343                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
1344                    isLoaded: false,
1345                },
1346            },
1347        },
1348    };
1349    </script>
1349
1350    
1350<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>
1350
1351    
1351<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1351
1352    
1352<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1352
1353    
1353<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1353
1354    
1354<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>
1354
1355    
1355<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>
1355
1356    
1356<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>
1356
1357
1358    <!-- GOOGLE TRANSLATE SCRIPT -->
1359    
1359<script>
1360        function googleTranslateElementInit() {
1361            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
1362            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
1363            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
1364            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
1365                translate.innerText = '';
1366                new google.translate.TranslateElement({
1367                    pageLanguage: 'en',
1368                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
1369                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
1370                }, translate);
1371            });
1372        }
1373    </script>
1373
1374    
1374<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1374
1375            
1375<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1375
1376
1377    <!-- GOOGLE TRANSLATE SCRIPT END-->
1378    
1378<script>
1379
1380        // UI helpers
1381        (function () {
1382
1383            function getSideMenu () {
1384                return document.querySelector('body > div.sidemenu');
1385            }
1386
1387            function sideMenuHide (instant) {
1388                var sideMenu = getSideMenu();
1389                if (!sideMenu || !sideMenu.classList.contains('visible')) {
1390                  return;
1391                }
1392                sideMenu.classList.remove('visible');
1393                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
1394                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
1395            }
1396
1397            function sideMenuShow () {
1398                var sideMenu = getSideMenu();
1399                if (!sideMenu || sideMenu.classList.contains('visible')) {
1400                  return;
1401                }
1402                sideMenu.classList.add('visible');
1403                sideMenu.dispatchEvent(new Event('lpui-show'));
1404                window.dispatchEvent(new Event('lpui-sidemenu-show'));
1405            }
1406
1407            function sideMenuToggle () {
1408                var sideMenu = getSideMenu();
1409                if (!sideMenu) {
1410                  return;
1411                }
1412                var isSideMenuVisible = sideMenu.classList.contains('visible');
1413                if (isSideMenuVisible) {
1414                    sideMenuHide();
1415                } else {
1416                    sideMenuShow();
1417                }
1418            }
1419
1420            var scrollLockRequests = {};
1421            window.__debug_scrollLockRequests = scrollLockRequests;
1422            var hideScrollStyles = ''+
1423                    'body {'+
1424                    'overflow: hidden;' +
1425                    '}';
1426            var hideScrollId = 'hide-body-scroll-style';
1427
1428            function scrollLock () {
1429                var style = document.createElement('style');
1430                style.id = hideScrollId;
1431                style.textContent = hideScrollStyles;
1432                document.head.appendChild(style);
1433                window.dispatchEvent(new Event('lpui-scroll-locked'));
1434            }
1435
1436            function scrollUnlock () {
1437                document.getElementById(hideScrollId)?.remove();
1438                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
1439            }
1440
1441            function requestScrollLock (lockId) {
1442                var wasLocked = Object.keys(scrollLockRequests).length > 0;
1443                scrollLockRequests[lockId || '__anonymous_lock'] = true;
1444                if (!wasLocked) {
1445                    scrollLock();
1446                }
1447            }
1448
1449            function releaseScrollLock (lockId) {
1450                if (lockId) {
1451                    delete scrollLockRequests[lockId];
1452                    if (!Object.keys(scrollLockRequests).length) {
1453                        scrollUnlock();
1454                    }
1455                } else {
1456                    scrollLockRequests = {};
1457                    window.__debug_scrollLockRequests = scrollLockRequests;
1458                    scrollUnlock();
1459                }
1460            }
1461
1462            function showModal (modalId, options) {
1463                var modal = document.getElementById(modalId);
1464                if (!modal) {
1465                    return;
1466                }
1467
1468                if (!modal.classList.contains('visible')) {
1469                    modal.classList.add('visible');
1470                    if (options && options.scrollLock) {
1471                        window.lpUI.requestScrollLock(modalId);
1472                    }
1473                    modal.dispatchEvent(new Event('lpui-show'));
1474                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
1475                }
1476
1477                const visibleModals = document.querySelectorAll('.modal.visible');
1478
1479                if (visibleModals.length > 1) {
1480
1481                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
1482                        const zIndex = window.getComputedStyle(modal).zIndex;
1483                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
1484                        return Math.max(maxZIndex, parsedZIndex);
1485                    }, 0);
1486
1487                    modal.style.zIndex = maxZIndex + 1;
1488                }
1489
1490            }
1491
1492            function _hideModal (modalEl) {
1493                if (!modalEl) {
1494                    return;
1495                }
1496                if (!modalEl.classList.contains('visible')) {
1497                    return;
1498                }
1499                modalEl.classList.remove('visible');
1500                modalEl.style.zIndex = '';
1501                modalEl.dispatchEvent(new Event('lpui-hide'));
1502                var modalId = modalEl.getAttribute('id');
1503                if (modalId) {
1504                    window.lpUI.releaseScrollLock(modalId);
1505                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
1506                }
1507            }
1508
1509            function hideModal (modalId) {
1510                _hideModal(document.getElementById(modalId));
1511            }
1512
1513            function hideClosestModal (el) {
1514              const modal = el?.closest('.modal');
1515              if (!modal) {
1516                return;
1517              }
1518              if (modal.classList) {
1519                _hideModal(modal);
1520                return;
1521              }
1522              if (modal.length && modal[0].classList) {
1523                _hideModal(modal[0]);
1524              }
1525            }
1526
1527            window.lpUI = {
1528                sideMenuHide: sideMenuHide,
1529                sideMenuShow: sideMenuShow,
1530                sideMenuToggle: sideMenuToggle,
1531                requestScrollLock: requestScrollLock,
1532                releaseScrollLock: releaseScrollLock,
1533                showModal: showModal,
1534                hideModal: hideModal,
1535                hideClosestModal: hideClosestModal
1536            }
1537        })();
1538
1539        var stringifyPrimitive = function(v) {
1540            switch (typeof v) {
1541                case 'string':
1542                    return v;
1543
1544                case 'boolean':
1545                    return v ? 'true' : 'false';
1546
1547                case 'number':
1548                    return isFinite(v) ? v : '';
1549
1550                default:
1551                    return '';
1552            }
1553        };
1554
1555        function objectToQuerystring(obj, sep, eq, name) {
1556            // https://github.com/Gozala/querystring/blob/master/encode.js
1557            sep = sep || '&';
1558            eq = eq || '=';
1559            if (obj === null) {
1560                obj = undefined;
1561            }
1562
1563            if (typeof obj === 'object') {
1564                return Object.keys(obj).map(function(k) {
1565                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
1566                    if (Array.isArray(obj[k])) {
1567                        return obj[k].map(function(v) {
1568                            return ks + encodeURIComponent(stringifyPrimitive(v));
1569                        }).join(sep);
1570                    } else {
1571                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
1572                    }
1573                }).filter(Boolean).join(sep);
1574
1575            }
1576
1577            if (!name) return '';
1578            return encodeURIComponent(stringifyPrimitive(name)) + eq +
1579                    encodeURIComponent(stringifyPrimitive(obj));
1580        }
1581
1582        function getPath(url, options) {
1583            var parser = document.createElement('a');
1584            parser.href = url || '';
1585            var path = parser.pathname || '';
1586            if (path[0] !== '/') {
1587              // IE does not return path starting with a slash
1588              path = '/' + path;
1589            }
1590
1591            if (options && options.queryString) {
1592                path += parser.search;
1593            }
1594
1595            return path;
1596        }
1597
1598        function getMLSAutocomplete(keyword) {
1599            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1600            var query = {
1601                kind: 'listings',
1602                query: keyword
1603            };
1604
1605            return superagent
1606                .get(searchURL)
1607                .query(query)
1608                .then(function(res) {
1609                    var data = res.body || [];
1610                    // Array of listing_auto_complete documents: id, display_address, city, state,
1611                    // price, sold_price, status, status_modified_at, photo_urls (array of URLs).
1612
1613                    return data;
1614                });
1615        }
1616
1617        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
1618            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1619
1620            return superagent
1621                .get(searchURL)
1622                .query({ kind: 'listings', query: keyword, ...filters })
1623                .then(function(res) {
1624                    // Same response shape as getMLSAutocomplete.
1625                    return res.body || [];
1626                });
1627        }
1628
1629        function makeMlsLink(data) {
1630            // Code Dupe from utils/googlePlace
1631            // mapping of google data type to mls data type
1632            var mapping = {
1633                neighborhood: 'neighborhood',
1634                locality: 'place',
1635                administrative_area_level_2: 'county',
1636                administrative_area_level_1: 'state',
1637                postal_code: 'postalcode',
1638            };
1639
1640            function _filterTypes(types) {
1641                return types.filter(function(type) { return type !== 'political' });
1642            }
1643
1644            if (!data || !Object.keys(data).length) {
1645                return '/home-search/listings';
1646            }
1647
1648            var newData = {};
1649            _filterTypes(data.types).forEach(function(type) {
1650                if (mapping[type]) {
1651                    newData.search_type = mapping[type];
1652                }
1653            });
1654            newData.omnibox = data.formatted_address;
1655            data.address_components.forEach(function(component) {
1656                _filterTypes(component.types).forEach(function(type) {
1657                    if (mapping[type]) {
1658                        newData[mapping[type]] = component.long_name;
1659                    }
1660                });
1661            });
1662            var bounds = data.geometry.bounds;
1663            var convertedData = Object.assign(bounds, newData);
1664
1665            return '/home-search/listings?' + objectToQuerystring(convertedData);
1666        }
1667
1668        function debounce(func, wait) {
1669            let timeout;
1670            return function(...args) {
1671                const context = this;
1672                clearTimeout(timeout);
1673                timeout = setTimeout(() => func.apply(context, args), wait)
1674            }
1675        }
1676
1677        // Global methods / variables that can be accessed by element js
1678        window.luxuryPresence = {
1679            ...window.luxuryPresence,
1680            defaults: {
1681                companyId: '62dea509-9e98-4ea1-8332-c3f17e7eb5f7',
1682                apiGatewayUrl: '/api-gw',
1683                routerUrl: '/api-nv',
1684                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\
1684n    }\n    propertiesCount(\n    \n      agentIds: $agentIds\n      teamIds: $teamIds\n      propertyId: $propertyId\n      propertyIds: $propertyIds\n      prioritizeIds: $prioritizeIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      statusId: $statusId\n      statusIds: $statusIds\n      excludeStatusId: $excludeStatusId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n      officeIds: $officeIds\n      addressState: $addressState\n      addressCity: $addressCity\n      developmentId: $developmentId\n      featuredListing: $featuredListing\n      leaseProperty: $leaseProperty\n      search: $search\n      searchTermMode: $searchTermMode\n      salesPriceGTE: $salesPriceGTE\n      salesPriceLTE: $salesPriceLTE\n      leasePriceGTE: $leasePriceGTE\n      leasePriceLTE: $leasePriceLTE\n      livingSpaceSizeGTE: $livingSpaceSizeGTE\n      livingSpaceSizeLTE: $livingSpaceSizeLTE\n      bathCountGTE: $bathCountGTE\n      bathCountLTE: $bathCountLTE\n      bedroomCountGTE: $bedroomCountGTE\n      bedroomCountLTE: $bedroomCountLTE\n      architectureStyle: $architectureStyle\n      lifestyle: $lifestyle\n      propertyTypeId: $propertyTypeId\n      propertyTypeIds: $propertyTypeIds\n      spaceTypeIds: $spaceTypeIds\n      tag: $tag\n      archived: $archived\n      globalProperty: $globalProperty\n      withGeo: $withGeo\n      openHouse: $openHouse\n      displayMLSListings: $displayMLSListings\n      advancedFilters: $advancedFilters\n      seasonalPriceId: $seasonalPriceId\n\n    ) {\n      count\n    }\n  }\n","pressReleases":"\n  query PressReleases (\n    $companyId: ID\n    $pressReleaseIds: [ID!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n    $categories: [String!]\n    $propertyId: [ID!]\n    $developmentId: [ID!]\n    $agentId: [ID!]\n    $teamId: [ID!]\n    $year: [Int!]\n  ) {\n    pressReleases (\n      companyId: $companyId\n      pressReleaseIds: $pressReleaseIds\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      categories: $categories\n      propertyId: $propertyId\n      developmentId: $developmentId\n      agentId: $agentId\n      teamId: $teamId\n      year: $year\n    ) {\n      items {\n        id\n        title\n        description\n        author\n        externalUrl\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        publishedAt\n        categories\n      }\n      total\n    }\n  }\n","posts":"\n  query Posts (\n    $companyId: String\n    $postId: [ID!]\n    $slug: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n    $featured: Boolean\n    $categoryId: [String!]\n    $neighborhoodId: [String!]\n  ) {\n    posts (\n      companyId: $companyId\n      postId: $postId\n      slug: $slug\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      featured: $featured\n      postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n      categoryId: $categoryId\n      neighborhoodId: $neighborhoodId\n    ) {\n      items {\n        id\n        postId\n        title\n        subtitle\n        description\n        status: postStatus\n        featured\n        slug\n        categories {\n          id\n          name\n        }\n        createdAt\n        publishedAt\n        updatedAt\n        scheduledAt\n        createdBy {\n          ... on Agent {\n            firstName\n            lastName\n          }\n        }\n        customAuthor\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        seoTitle\n        seoDescription\n      }\n      total\n    }\n  }\n","testimonials":"\n  query Testimonials (\n    $companyId: String\n    $agentId: ID\n    $teamId: ID\n    $testimonialIds: [ID!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: String\n    $search: String\n  ) {\n    testimonials (\n      companyId: $companyId\n      agentId: $agentId\n      teamId: $teamId\n      testimonialIds: $testimonialIds\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n    ) {\n      items {\n        id\n        testimonialId\n        body\n        author\n        position\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        seoTitle\n        seoDescription\n        agents {\n          slug\n          email\n          firstName\n          lastName\n          avatar {\n            smallUrl\n            height\n            width\n          }\n        }\n      }\n      total\n    }\n  }\n","neighborhoods":"\n  query Neighborhoods (\n    $neighborhoodId: ID\n    $companyId: String\n    $search: String\n    $tag: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n  ) {\n    neighborhoods (\n      neighborhoodId: $neighborhoodId\n      companyId: $companyId\n      search: $search\n      tag: $tag\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n    ) {\n      id\n      name\n      description\n      descriptionShort\n      slug\n      tags\n      googlePlaceData\n      mlsLink\n      createdAt\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n    }\n    neighborhoodsCount(\n      companyId: $companyId\n      search: $search\n      tag: $tag\n    ) {\n      count\n    }\n  }\n","developments":"\n  query Developments (\n    $companyId: ID!\n    $developmentIds: [ID!]\n    $agentId: String\n    $slug: String\n    $search: String\n    $tag: [String!]\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirection\n    $neighborhoodId: ID\n    $neighborhoodIds: [ID!]\n  ) {\n    developments (\n      companyId: $companyId\n      developmentIds: $developmentIds\n      agentId: $agentId\n      slug: $slug\n      search: $search\n      tag: $tag\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      items {\n        id\n        name\n        description\n        descriptionShort\n        slug\n        createdAt\n        updatedAt\n        media {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        logoMedia {\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n          height\n          width\n          altTagText\n        }\n        websiteUrl\n        videoUrl\n        googlePlaceData\n        coordinates\n        mlsLink\n        seoTitle\n        seoDescription\n        featuresAndAmenities {\n          featureIds\n          features {\n            featureId\n            name\n          }\n          description\n        }\n        latitude\n        longitude\n        addressLine1\n        addressLine2\n        city\n        state\n        zipCode\n        country\n        yearCompleted\n        residences\n        availability\n        neighborhoodId\n        developer\n        architect\n        interiorDesigner\n        stories\n        buildingHeight\n        buildingHeightUnit\n        bedMin\n        bedMax\n        bathMin\n        bathMax\n        livingSpaceMin\n        livingSpaceMa
1684x\n        livingSpaceUnit\n        lotSizeMin\n        lotSizeMax\n        lotSizeUnit\n        priceMin\n        priceMax\n        priceCurrency\n        tags\n      }\n      total\n    }\n  }\n","pois":"\n  query PointsOfInterest (\n    $regionId: UUID!\n    $radius: Int\n    $offset: Int\n    $limit: Int\n    $categories: [AreasOfInterestCategories!]\n    $sortBy: AreasOfInterestSorting\n  ) {\n    pois: areasOfInterest (\n      input: {\n        regionId: $regionId\n        radius: $radius\n        offset: $offset\n        limit: $limit\n        categories: $categories\n        sortBy: $sortBy\n      }\n    ) {\n      items {\n        name\n        imageUrl\n        url\n        reviewCount\n        rating\n        price\n        displayPhone\n        distance\n        category\n        location {\n          address1\n          address2\n          address3\n          city\n          zipCode\n          country\n          state\n        }\n      }\n      total\n    }\n  }\n","offices":"\n  query Offices (\n    $companyId: ID!\n    $officeIds: [ID!]\n    $officeMlsIds: [String!]\n    $externalIds: [String!]\n    $externalSource: String\n    $agentId: ID\n    $archived: Boolean\n    $tags: [String!]\n    $slug: String\n    $search: String\n    $sort: String\n    $sortDir: SortDirection\n    $offset: Int\n    $limit: Int\n  ) {\n    offices (\n      companyId: $companyId\n      officeIds: $officeIds\n      officeMlsIds: $officeMlsIds\n      externalIds: $externalIds\n      externalSource: $externalSource\n      agentId: $agentId\n      archived: $archived\n      tags: $tags\n      slug: $slug\n      search: $search\n      sort: $sort\n      sortDir: $sortDir\n      offset: $offset\n      limit: $limit\n    ) {\n      items {\n        id\n        companyId\n        name\n        slug\n        officeMlsId\n        shortDescription\n        fullDescription\n        addressLine1\n        addressLine2\n        addressCity\n        addressState\n        addressPostalCode\n        addressCountry\n        phone\n        email\n        officeHours\n        coordinates\n        googlePlaceData\n        seoTitle\n        seoDescription\n        fullAddress\n        tags\n        media {\n          id\n          originalUrl\n          thumbnailUrl\n          smallUrl\n          mediumUrl\n          largeUrl\n          xLargeUrl\n          xxLargeUrl\n        }\n      }\n      total\n    }\n  }\n","teams":"\n  query Teams (\n    $companyId: ID\n    $teamIds: [ID!]\n    $agentId: ID\n    $externalIds: [String!]\n    $externalSource: String\n    $slug: String\n    $search: String\n    $sort: String\n    $sortDir: String\n    $offset: Int\n    $limit: Int\n  ) {\n    teams (\n      companyId: $companyId\n      teamIds: $teamIds\n      agentId: $agentId\n      externalIds: $externalIds\n      externalSource: $externalSource\n      slug: $slug\n      search: $search\n      sort: $sort\n      sortDir: $sortDir\n      offset: $offset\n      limit: $limit\n    ) {\n      items {\n        id\n        companyId\n        name\n        email\n        shortBio\n        addressLine1\n        addressLine2\n        addressCity\n        addressState\n        addressCountry\n        phoneNumber1\n        phoneNumber2\n        postalCode\n        avatar {\n          id\n          thumbnailUrl\n          smallUrl\n          mediumUrl\n          largeUrl\n        }\n        urlWebsite\n        socialLinks\n        socialLinksArray\n        tags\n        seoTitle\n        seoDesc\n        slug\n        displayOrder\n      }\n      total\n    }\n  }\n"},
1685                propertyPlaceholderImage: {"id":"e87a15ed-6ef5-493d-827e-d54ef6df701b","alt":null,"bytes":13728,"width":1500,"format":"png","height":1500,"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/gyrjm1qqli4as1dzaifa","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/gyrjm1qqli4as1dzaifa","authorUrl":null,"createdAt":"2024-10-03T18:50:57.243Z","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/gyrjm1qqli4as1dzaifa","sourceUrl":null,"updatedAt":"2024-10-03T18:50:57.243Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/gyrjm1qqli4as1dzaifa","__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/gyrjm1qqli4as1dzaifa","description":null,"displayName":"agent_team-rich-richardson","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/gyrjm1qqli4as1dzaifa","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/gyrjm1qqli4as1dzaifa","originalFileName":"Agent_Team Rich Richardson","cloudinaryPublicId":"gyrjm1qqli4as1dzaifa"}
1686            },
1687            objectToQuerystring: objectToQuerystring,
1688            getPath: getPath,
1689            getMLSAutocomplete: getMLSAutocomplete,
1690            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
1691            makeMlsLink: makeMlsLink,
1692            debounce: debounce,
1693        };
1694
1695        var wowOffset = 100;
1696    </script>
1696
1697    
1697<script>
1698        (()=>{function e(e){return e&&e.__esModule?e.default:e}var t=globalThis,r={},i={},s=t.parcelRequired4f7;null==s&&((s=function(e){if(e in r)return r[e].exports;if(e in i){var t=i[e];delete i[e];var s={id:e,exports:{}};return r[e]=s,t.call(s.exports,s,s.exports),s.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){i[e]=t},t.parcelRequired4f7=s);var o=s.register;o("ikl6F",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.formatMoney=e.exports.convertAmount=e.exports.fetchExchangeRates=e.exports.toSupportedToCurrency=e.exports.toSupportedFromCurrency=e.exports.SUPPORTED_TO_CURRENCIES=e.exports.SUPPORTED_FROM_CURRENCIES=e.exports.DISPLAY_CURRENCIES=e.exports.writeCurrencyCookie=e.exports.readValidCurrencyCookie=e.exports.readCurrencyCookie=e.exports.clearCurrencyCookie=e.exports.CURRENCY_COOKIE_SAME_SITE=e.exports.CURRENCY_COOKIE_PATH=e.exports.CURRENCY_COOKIE_NAME=e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=void 0;var r=s("65bUu");Object.defineProperty(e.exports,"CURRENCY_COOKIE_MAX_AGE_SECONDS",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_MAX_AGE_SECONDS}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_NAME",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_NAME}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_PATH",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_PATH}}),Object.defineProperty(e.exports,"CURRENCY_COOKIE_SAME_SITE",{enumerable:!0,get:function(){return r.CURRENCY_COOKIE_SAME_SITE}}),Object.defineProperty(e.exports,"clearCurrencyCookie",{enumerable:!0,get:function(){return r.clearCurrencyCookie}}),Object.defineProperty(e.exports,"readCurrencyCookie",{enumerable:!0,get:function(){return r.readCurrencyCookie}}),Object.defineProperty(e.exports,"readValidCurrencyCookie",{enumerable:!0,get:function(){return r.readValidCurrencyCookie}}),Object.defineProperty(e.exports,"writeCurrencyCookie",{enumerable:!0,get:function(){return r.writeCurrencyCookie}});var i=s("gUuHZ");Object.defineProperty(e.exports,"DISPLAY_CURRENCIES",{enumerable:!0,get:function(){return i.DISPLAY_CURRENCIES}}),Object.defineProperty(e.exports,"SUPPORTED_FROM_CURRENCIES",{enumerable:!0,get:function(){return i.SUPPORTED_FROM_CURRENCIES}}),Object.defineProperty(e.exports,"SUPPORTED_TO_CURRENCIES",{enumerable:!0,get:function(){return i.SUPPORTED_TO_CURRENCIES}}),Object.defineProperty(e.exports,"toSupportedFromCurrency",{enumerable:!0,get:function(){return i.toSupportedFromCurrency}}),Object.defineProperty(e.exports,"toSupportedToCurrency",{enumerable:!0,get:function(){return i.toSupportedToCurrency}});var o=s("jCxYG");Object.defineProperty(e.exports,"fetchExchangeRates",{enumerable:!0,get:function(){return o.fetchExchangeRates}});var n=s("igUcG");Object.defineProperty(e.exports,"convertAmount",{enumerable:!0,get:function(){return n.convertAmount}}),Object.defineProperty(e.exports,"formatMoney",{enumerable:!0,get:function(){return n.formatMoney}})}),o("65bUu",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.readValidCurrencyCookie=e.exports.clearCurrencyCookie=e.exports.writeCurrencyCookie=e.exports.readCurrencyCookie=e.exports.CURRENCY_COOKIE_PATH=e.exports.CURRENCY_COOKIE_SAME_SITE=e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=e.exports.CURRENCY_COOKIE_NAME=void 0;var r=s("gUuHZ");e.exports.CURRENCY_COOKIE_NAME="lp-currency",e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS=31536e3,e.exports.CURRENCY_COOKIE_SAME_SITE="Lax",e.exports.CURRENCY_COOKIE_PATH="/";let i=e=>e?.trim().toLowerCase().replace(/^\.+/,"")||void 0,o=e=>"undefined"!=typeof DOMException&&e instanceof DOMException,n=({document:t})=>{let r=`${e.exports.CURRENCY_COOKIE_NAME}=`;return t.cookie.split(";").map(e=>e.trim()).filter(e=>e.startsWith(r)).map(e=>e.slice(r.length))},a=e=>{try{return decodeURIComponent(e)}catch{return}};e.exports.readCurrencyCookie=e=>{let t=(e=>{try{return n(e)[0]}catch(e){if(!o(e))throw e;return}})(e);return void 0===t?void 0:a(t)};let l=(t,r,i,s)=>{var o;let n,a;t.document.cookie=`${e.exports.CURRENCY_COOKIE_NAME}=${r}${o=t.location,n="https:"===o.protocol?"; Secure":"",a=s?`; Domain=${s}`:"",`; Path=${e.exports.CURRENCY_COOKIE_PATH}; Max-Age=${i}; SameSite=${e.exports.CURRENCY_COOKIE_SAME_SITE}${n}${a}`}`};e.exports.writeCurrencyCookie=(t,s)=>{let a,d=(0,r.toSupportedToCurrency)(s);if(!d)return!1;let c=i(t.domain);try{if(a=n(t)[0],c&&l(t,"",0,void 0),l(t,encodeURIComponent(d),e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS,c),(0,e.exports.readCurrencyCookie)(t)===d)return!0}catch(e){if(!o(e))throw e}return c&&void 0!==a&&((t,r)=>{try{if(n(t).includes(r))return;l(t,r,e.exports.CURRENCY_COOKIE_MAX_AGE_SECONDS,void 0)}catch(e){if(!o(e))throw e}})(t,a),!1},e.exports.clearCurrencyCookie=e=>{let t=i(e.domain);try{t&&l(e,"",0,void 0),l(e,"",0,t)}catch(e){if(!o(e))throw e}},e.exports.readValidCurrencyCookie=(t,{enabled:s,enabledCurrencies:d})=>{if(!s)return;let c=(e=>{try{let t=n(e);if(!i(e.domain)||t.length<2)return t[0];return l(e,"",0,void 0),n(e)[0]}catch(e){if(!o(e))throw e;return}})(t);if(void 0===c)return;let u=new Set(d.map(r.toSupportedToCurrency).filter(e=>!!e)),h=(0,r.toSupportedToCurrency)(a(c));
1698if(h&&u.has(h))return h;(0,e.exports.clearCurrencyCookie)(t)}}),o("gUuHZ",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.toSupportedToCurrency=e.exports.SUPPORTED_TO_CURRENCIES=e.exports.DISPLAY_CURRENCIES=e.exports.toSupportedFromCurrency=e.exports.SUPPORTED_FROM_CURRENCIES=void 0,e.exports.SUPPORTED_FROM_CURRENCIES=["usd","cad","eur","gbp"];let r=(e,t)=>{if("string"!=typeof e)return;let r=e.toLowerCase();return t.includes(r)?r:void 0};e.exports.toSupportedFromCurrency=t=>r(t,e.exports.SUPPORTED_FROM_CURRENCIES),e.exports.DISPLAY_CURRENCIES=[{code:"usd",name:"US dollar"},{code:"eur",name:"Euro"},{code:"gbp",name:"Pound sterling"},{code:"cad",name:"Canadian dollar"},{code:"chf",name:"Swiss franc"},{code:"brl",name:"Brazilian real"},{code:"mxn",name:"Mexican peso"},{code:"sek",name:"Swedish krona"},{code:"nok",name:"Norwegian krone"},{code:"dkk",name:"Danish krone"},{code:"ars",name:"Argentine peso"},{code:"cop",name:"Colombian peso"},{code:"clp",name:"Chilean peso"},{code:"pen",name:"Peruvian sol"},{code:"dop",name:"Dominican peso"},{code:"gtq",name:"Guatemalan quetzal"},{code:"crc",name:"Costa Rican colón"},{code:"bob",name:"Bolivian boliviano"},{code:"pyg",name:"Paraguayan guaraní"},{code:"kyd",name:"Cayman Islands dollar"}],e.exports.SUPPORTED_TO_CURRENCIES=e.exports.DISPLAY_CURRENCIES.map(e=>e.code),e.exports.toSupportedToCurrency=t=>r(t,e.exports.SUPPORTED_TO_CURRENCIES)}),o("jCxYG",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.fetchExchangeRates=void 0;var r=s("gUuHZ");let i=async(e,{baseUrl:t,signal:i,fetch:s,onError:o})=>{let n=(0,r.toSupportedFromCurrency)(e);if(!n)return{};let a=`${t.replace(/\/$/,"")}/api/v1/exchange-rates?from=${encodeURIComponent(n)}`;try{let e=await (s??fetch)(a,{credentials:"omit",signal:i});if(!e.ok)throw Error(`Exchange rates HTTP ${e.status}`);var l=await e.json();let t=l?.rates;if("object"!=typeof t||null===t)return{};let o={};return Object.entries(t).forEach(([e,t])=>{let i=(0,r.toSupportedToCurrency)(e);i&&"number"==typeof t&&Number.isFinite(t)&&t>0&&(o[i]=t)}),o}catch(e){try{o?.(e)}catch(e){console.warn("fetchExchangeRates: onError callback threw",e)}return{}}};e.exports.fetchExchangeRates=i}),o("igUcG",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.formatMoney=e.exports.convertAmount=void 0;var r=s("gUuHZ");e.exports.convertAmount=(e,t)=>{if(Number.isFinite(e)&&Number.isFinite(t)&&!(t<=0))return e*t},e.exports.formatMoney=(e,t,{precision:i=0}={})=>{let s=(0,r.toSupportedToCurrency)(t);if(!s||!Number.isFinite(e))return;let o=Number.isInteger(i)?i:0,n=Number.isInteger(e)?0:Math.min(Math.max(o,0),20);return new Intl.NumberFormat("en-US",{style:"currency",currency:s.toUpperCase(),minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}});var n={},a={};a={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let r=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===r[1].toLowerCase().indexOf("video"))return null;let i=r[r.length-1];i.lastIndexOf(".")>-1?i=`${i.slice(0,i.lastIndexOf("."))}.jpg`:i+=".jpg",r[r.length-1]=i;let s=3;"videos"===r[1].toLowerCase()&&""!==r[2]&&(s=2);let o=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;s<r.length-1&&o.test(r[s]);)s++;return r.splice(s,0,"so_0,eo_0"),t+r.join("/")}};let l={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "},d=/&(?:amp|lt|gt|quot|apos|nbsp|#(?:[0-9]+|[xX][0-9a-fA-F]+));/y,c=/[<&]/g,u=/["'>]/g,h=/<\/p\s*>|<br\s*\/?>|[\r\n\u2028\u2029]/g;function p(e,t){let r="";for(let i=0;i<e.length;){c.lastIndex=i;let s=c.exec(e);if(!s){r+=e.slice(i);break}let o=s.index;r+=e.slice(i,o);let n="&"===e[o]?function(e,t){d.lastIndex=t;let r=d.exec(e);return{text:r?function(e){if("#"!==e[1])return l[e.slice(1,-1)];
1698let t="x"===e[2]||"X"===e[2],r=parseInt(e.slice(t?3:2,-1),t?16:10);return 0===r||r>1114111||r>=55296&&r<=57343?e:160===r?" ":String.fromCodePoint(r)}(r[0]):"&",end:r?d.lastIndex:t+1}}(e,o):function(e,t,r){let i=function(e,t){let r=null;u.lastIndex=t+1;let i=u.exec(e);for(;i;){let t=i[0];if(r)t===r&&(r=null);else if('"'===t||"'"===t)r=t;else if(">"===t)return u.lastIndex;i=u.exec(e)}return -1}(e,t);return{text:-1===i?"<":function(e,t,r,i){if(!i)return"";let s=e.slice(t,r);if(/^<br\s*\/?>$/.test(s))return"&#10;";if(/^<\/p\s*>$/.test(s)){h.lastIndex=r;let t=h.exec(e);if(t&&"<"===t[0][0])return"&#10;"}return""}(e,t,i,r),end:-1===i?t+1:i}}(e,o,t);r+=n.text,i=n.end}return r}n=function(e,{isEqual:t}){let r=[{field:"thumbnailUrl",w:320},{field:"smallUrl",w:960},{field:"mediumUrl",w:1280},{field:"largeUrl",w:1920},{field:"xLargeUrl",w:2560},{field:"xxLargeUrl",w:3456}],i=function(e,t,r){let i="en-US";if(!e)return"";if("string"==typeof e){let t=e.trim();if(/[^+\-0-9.]/.test(t))return e;if(!(e=parseFloat(t)))return""}let s="number"==typeof r?r:0,o=Number.isInteger(e)?0:s,n={minimumFractionDigits:o,maximumFractionDigits:o};return"USD"===t?`$${e.toLocaleString(i,n)}`:"CAD"===t?`$${e.toLocaleString(i,n)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(i,n)}`:"GBP"===t?`\xa3${e.toLocaleString(i,n)}`:"PERCENT"===t?`${e}%`:"number"==typeof r&&r>-1?e.toLocaleString(i,{maximumFractionDigits:r}):e.toLocaleString(i)},s=function(e){switch(e){case"DAY":return"daily";case"MONTH":return"monthly";case"WEEK":return"weekly";case"YEAR":return"yearly";case"QUARTER":return"quarterly";case"HALF_YEAR":return"semi-annually";case"NIGHTLY":return"nightly";case"SEASONAL":return"seasonally";default:return""}},o=function(e){switch(e){case"DAY":return"day";case"WEEK":return"wk";case"MONTH":return"mo";case"YEAR":return"yr";case"QUARTER":return"3 mos";case"HALF_YEAR":return"6 mos";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},n=function(e){switch(e){case"DAY":return"day";case"WEEK":return"week";case"MONTH":return"month";case"YEAR":return"year";case"QUARTER":return"quarter";case"HALF_YEAR":return"6 months";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},l=function(e,t){let r,i,a=t||{};switch(a.mode){case"short":r=o(e),i=a.frequencySeparator||"/";break;case"standard":case"std":r=n(e),i=a.frequencySeparator||"/";break;default:r=s(e),i=a.frequencySeparator||" "}return r?a.frequencyTag||a.frequencyClass?`${i}<${a.frequencyTag||"span"}${a.frequencyClass?` class="${a.frequencyClass}"`:""}>${r}</${a.frequencyTag||"span"}>`:i+r:""};return{isEmpty(e,t){let r=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?r?t.fn(this):t.inverse(this):r},ifEquals(e,r,i){return t(e,r)?i.fn(this):i.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?p(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!1):"",striptagsLineBreaks:e=>e?p(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!0):"",truncate:(e,t,r)=>e?e.length>t?"string"==typeof r?e.slice(0,t-r.length)+r:e.slice(0,t):e:"",setSubArray(e=[],t,r,i,s){s.data.root[i]=e.slice(t,r)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:s,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>l(e,t&&t.hash),subArray(e,t,r,i){return e>=t&&e<r?i.fn(this):i.inverse(this)},formatPropertyStatus(e,t,r){let i="";switch(e){case"SOLD":i="Sold";break;case"FOR_SALE":i="For Sale";break;case"COMING_SOON":i="Coming Soon";break;case"INACTIVE":i="Inactive";break;case"POCKET_LISTING":i="Pocket Listing";break;case"PENDING":i="Pending";break;case"UNDER_CONTRACT":i="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":i="Active Under Contract";break;default:i=e}return("Sold"===i||"Leased"===i)&&t&&"string"==typeof r&&r&&(i+=` on ${r}`),i},formatGrade(e){switch(e){case"UNDERGRADUATE_COURSES":return"Undergrad";case"PRE_KINDERGARTEN":return"PreK";case"KINDERGARTEN":return"K";case"FIRST_GRADE":return"1st";case"SECOND_GRADE":return"2nd";case"THIRD_GRADE":return"3rd";case"FOURTH_GRADE":return"4th";case"FIFTH_GRADE":return"5th";case"SIXTH_GRADE":return"6th";case"SEVENTH_GRADE":return"7th";case"EIGHTH_GRADE":return"8th";case"NINTH_GRADE":return"9th";case"TENTH_GRADE":return"10th";case"ELEVENTH_GRADE":return"11th";case"TWELFTH_GRADE":return"12th";default:return""}},encodeURI:e=>encodeURI(e),encodeURIComponent:e=>encodeURIComponent(e),hbFormatDate(e,t){if(!e)return"";let r="current"===e?new Date:new Date(e);if(Number.isNaN(r.getTime()))return"";if("YYYY"===t||"year"===t)return`${r.getFullYear()}`;if("MM/DD/YY"===t){let e=r.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${r.getDate()}/${r.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][r.getMonth()]} ${r.getDate()}, ${r.getFullYear()}`},openHousesFormat(e,t,r){if(!e||!t)return"";let i=e=>{let t=e.getHours();t>12&&(t-=12);let r=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?r+="PM":r+="AM",r},s="",o=e,n=t;
1698r&&(o=new Date(e).toLocaleString("en-US",{timeZone:r}),n=new Date(t).toLocaleString("en-US",{timeZone:r}),[,,,s]=new Date(t).toLocaleString("en-US",{timeZone:r,timeZoneName:"short"}).split(" "));let a=new Date(o),l=a.toLocaleDateString("en-US"),d=i(a),c=i(new Date(n));return`${l} ${d} - ${c} ${s}`},math:(e,t,r)=>(e=parseFloat(e),({"+":e+(r=parseFloat(r)),"-":e-r,"*":e*r,"/":e/r,"%":e%r})[t]),findByKey(e,t,r,i){let s=(e||[]).find(e=>e[t]===r);return i.fn(s)},capitalize(e,t,r){let i;return"string"==typeof e&&e.length&&(i=e.toLowerCase().split(t).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ").toString()),i},and:(...e)=>Array.prototype.slice.call(e).every(Boolean),or:(...e)=>Array.prototype.slice.call(e,0,-1).some(Boolean),not:e=>!e,orderByIds(t,r,i){let s="",o=null;i.data&&(o=e.createFrame(i.data));let n=(r||[]).filter(Boolean);if(n&&n.length){let e=0;s=n.reduce((r,s,n)=>{let a=(t||[]).find(e=>e.id===s);return a?(o&&(o.index=n-e),r+i.fn(a,{data:o})):(e+=1,r)},"")}else for(let e=0,r=(t||[]).length;e<r;e++)o&&(o.index=e),s+=i.fn(t[e],{data:o});return s},ifIn(e,t,r){return t&&t.indexOf(e)>-1?r.fn(this):r.inverse(this)},partial:(t,r)=>(e.registerPartial(t,e.compile(r.fn())),`
1698<script type="text/x-handlebars-template" class="${t} pagination-script">${r.fn()}<\/script>`),numCompare(e,t,r,i){return({"==":function(e,t){return e==t},"===":function(e,t){return e===t},"!=":function(e,t){return e!=t},"<":function(e,t){return e<t},">":function(e,t){return e>t},"<=":function(e,t){return e<=t},">=":function(e,t){return e>=t}})[r](e,t)?!i.fn||i.fn(this):!!i.fn&&i.inverse(this)},lpFormatNumber:i,arrayToHtmlList:(e,t)=>e.reduce((e,t)=>{try{if("object"==typeof t||null===t)return e;return e+=`<li>${t}</li>`}catch(e){}},""),join:(e,t,r)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,r,i){let s=null,o=0,n=new Set;return i.data&&(s=e.createFrame(i.data)),(t||[]).reduce((e,t,a)=>{let l=r?t[r]:t;return!n.has(l)||r&&void 0===l?(n.add(l),s&&(s.index=a-o),e+i.fn(t,{data:s})):(o+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let r=t[t.length-1].hash,s=t.length>1?t[0]:r.property,o=r.precision||0;t.length>2&&(r.mode=t[1]),r.mode||(r.mode="short");let n=t.length>3?t[2]:r.separator;if("string"!=typeof n&&(n=" | "),s.isPasswordProtected)return"Exclusive Listing";let a=t.length>4?t[3]:r.priceUponRequestText;if("string"!=typeof a&&(a="Price Upon Request"),s.priceUponRequest)return a;let d=s.salesPrice,c=null;"SOLD"!==s.status&&"Leased"!==s.status&&s.reducedPrice&&(r.reducedClass?c=s.reducedPrice:d=s.reducedPrice);let u="";c&&(u+=`<${r.reducedTag||"span"} class="${r.reducedClass}">${i(c,s.currency,o)}</${r.reducedTag||"span"}>`),d&&(d=i(d,s.currency,o),r.priceTag||r.priceClass?u+=`<${r.priceTag||"span"}${r.priceClass?` class="${r.priceClass}"`:""}>${d}</${r.priceTag||"span"}>`:u+=d);let h=s.leasePrice&&i(s.leasePrice,s.currency,o);if(h){u&&(u+=n);let e=`${h}${l(s.leasePeriod,r)}`;r.leaseTag||r.leaseClass?u+=`<${r.leaseTag||"span"}${r.leaseClass?` class="${r.leaseClass}"`:""}>${e}</${r.leaseTag||"span"}>`:u+=e}
1698return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:s,...o}=i.hash,n="",a="";if("string"==typeof t)n=t;else{let e={},{height:s,width:l,altTagText:d}=t;r.forEach(r=>{t[r.field]&&!e[t[r.field]]&&(e[t[r.field]]=r.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(o.alt=d),s&&l&&(s>=l&&(o.class?o.class+=" portrait":o.class="portrait"),"setDims"in i.hash&&(o.width=l,o.height=s)),c.length>1&&l&&l<e[c[c.length-1]]){let t=c.findIndex(t=>e[t]>=l);c.splice(t+1),e[c[c.length-1]]=l}c.length>1&&(a=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,r)=>Math.abs(e[t]-1280)-Math.abs(e[r]-1280))),n=c[0]}delete o.setDims,a||delete o.sizes,"alt"in o||(o.alt=""),!("loading"in o)&&(i?.data?.root?.sectionIndex>1||s)&&(o.loading="lazy");let l=Object.keys(o).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(o[t])}"`).join(" ");return new e.SafeString(`<img src="${n}"${a?` srcset="${a}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let r in e)null!==e[r]&&void 0!==e[r]&&"object"!=typeof e[r]&&(t+=e[r]);return t},setVideoExtension(e,t){if(!e||!t)return"";let r=new URL(e);if("res.cloudinary.com"!==r.host)return r.pathname.endsWith(`.${t}`)?e:"";let i=r.pathname.lastIndexOf("."),s=r.pathname;return -1!==i&&(s=r.pathname.substr(0,i)),r.pathname=`${s}.${t}`,r.toString()},addVideoSources(e){if(!e)return"";if(!e.includes("res.cloudinary.com"))return`<source data-src="${e}">`;let t=e.replace(/\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/,"");return[{format:"webm",codec:"vp9",htmlCodecs:";codecs=vp9"},{format:"mp4",codec:"h265",htmlCodecs:";codecs=hvc1"},{format:"mp4",codec:"h264",htmlCodecs:""}].map(e=>{let r=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},q_auto:best,w_1920,c_limit`)}.${e.format}`;return`<source data-src="${r}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:a.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let r=+t?.hash?.maxChars||2,i=e.match(/\b\w/g)?.slice(0,r);return i?(t?.hash?.addText&&(i=i.map(e=>e+t.hash.addText)),i.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class m{constructor(e,t,r){if(this.config=e,this.window=t,this.document=r,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let g="lp_lead_form_conversion_fired";function y(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(g)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(g,"true")}catch{}}catch{}}function f(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let b="/api/v1/home-valuation";class v extends m{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let r=t.indexOf(", call time frame:");return -1!==r&&(t=t.substring(0,r).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,r={},i=t("street_number"),s=t("route"),o=t("administrative_area_level_1"),n=t("postal_code"),a=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return i&&(r.streetNumber=i),s&&(r.streetName=s),l&&(r.city=l),o&&(r.state=o),n&&(r.zipcode=n),a&&(r.addressLine2=a),r}_extractAddressAndCoordinates(e){let t=null,r=null;if(e?.result){let{result:i}=e;i.address?.addressComponents&&(t=this._transformAddressComponents(i.address.addressComponents)),i.geocode?.location&&(r={latitude:i.geocode.location.latitude,longitude:i.geocode.location.longitude})}return{structuredAddress:t,coordinates:r}}_filterEmptyStrings(e){let t={};for(let[r,i]of Object.entries(e))""!==i&&null!=i&&(t[r]=i);return t}_getRawAddress(e){let t=e.activity.content||{},r=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,r,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,r=null){let i={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(r&&(i.errorMessage=r.userMessage||(r.status?`Request failed with status ${r.status}`:"An error occurred"),i.errorName=r.name,i.errorStatus=r.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(i)),this.window.posthog)try{this.window.posthog.capture(e,i)}catch(e){console.error("[HomeValuation] PostHog capture failed:",e)}}_getUserFriendlyErrorMessage(e){return"AbortError"===e.name||e.message?.includes("timeout")?"Connection timed out. Please try again.":"TypeError"===e.name&&e.message?.includes("fetch")?"Unable to connect. Please check your internet connection and try again.":503===e.status||502===e.status||504===e.status?"Service temporarily unavailable. Please try again in a moment.":400===e.status?"Please check your information and try again.":"Something went wrong. Please try again or c
1698ontact us directly."}_formatStructuredAddress(e){if(!e||0===Object.keys(e).length)return"";let t=[];return t.push([e.streetNumber,e.streetName,e.addressLine2].filter(Boolean).join(" ")),t.push([[e.city,e.state].filter(Boolean).join(", "),e.zipcode].filter(Boolean).join(" ")),t.filter(Boolean).join(", ")}_buildHomeValuationData(e,t,r,i){let s=this._formatStructuredAddress(r)||this._getRawAddress(e);if(!s)throw Error("Unable to extract home valuation address from form data");let o={companyId:e.companyId,homeValuationAddress:s,homeValuationEstimate:t?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0,minimumFractionDigits:0}).format(t):null,websiteId:e.page.websiteId,sourceUrl:e.activity.source_url},n={leadEmailAddress:e.activity.author_email,leadFullName:e.activity.author_name,leadFirstName:e.activity.firstName,leadLastName:e.activity.lastName,leadPhoneNumber:e.activity.author_phone,parcelId:e.activity.content?.parcelId,resourceId:e.page.pageMeta?.resourceId,pageId:e.page.pageId,sourceResource:e.page.pageMeta?.s
1698ourceResource,pageElementId:e.page.pageMeta?.pageElementId,formId:e.page.pageMeta?.formId,utmSource:e.activity.content?.utm_source,utmMedium:e.activity.content?.utm_medium,utmCampaign:e.activity.content?.utm_campaign,utmTerm:e.activity.content?.utm_term,utmContent:e.activity.content?.utm_content,utmId:e.activity.content?.utm_id,timeToSell:e.activity.content?.timeToSell,lookingToBuy:e.activity.content?.lookingToBuy,consented:!!e.activity.content?.termsAccepted,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},a=this._filterEmptyStrings(n);return{...o,...a,...r&&{address:r},...i&&{coordinates:i}}}async _validateAddressSafely(e){if(!e)return console.error("Home valuation: No address found in form data"),null;try{return await this._validateAddressWithGoogleMaps(e)}catch(e){throw console.error("Error validating address with Google Maps:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}async _getHomeValuationEstimateSafely(e){try{return await this._getHomeValuationEstimate(e)}catch(e){throw console.error("Error getting home valuation estimate:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}_isSafeRedirectUrl(e){try{let{protocol:t}=new URL(e,this.window.location.href);return"https:"===t||"http:"===t}catch{return!1}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let r=Error(e&&"object"==typeof e&&Object.keys(e).length?e.message||JSON.stringify(e):"Request failed");return e&&"object"==typeof e&&Object.keys(e).length&&Object.assign(r,e),r.status=t,r}_resolveValuationApiBase(){let{config:e}=this;if(void 0!==e.valuationApiBase&&null!==e.valuationApiBase&&(""!==e.valuationApiBase||!e.isBuilder))return e.valuationApiBase;if(e.websiteApiGatewayUrl)return e.websiteApiGatewayUrl;throw Error("websiteApiGatewayUrl/valuationApiBase not configured for home valuation")}async _submitLead(e,t,r){let i=new AbortController,s=setTimeout(()=>i.abort(),1e4);try{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:i.signal});clearTimeout(s);let n=await o.text(),a=this._parseResponsePayload(n);if(!o.ok)throw this._createResponseError(a,o.status);if(a&&"success"===a.status&&a.redirectUrl){if(f(r))return a;if(!this._isSafeRedirectUrl(a.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),a;return this.window.location.href=a.redirectUrl,{redirected:!0,url:a.redirectUrl}}return a}catch(e){throw clearTimeout(s),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let r=this._getRawAddress(e),i=null;try{i=await this._validateAddressSafely(r)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let s=null;try{s=await this._getHomeValuationEstimateSafely(i)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),s=null}let{structuredAddress:o,coordinates:n}=this._extractAddressAndCoordinates(i),a=`${t}${b}`,l=this._buildHomeValuationData(e,s,o,n),d=await this._submitLead(a,l,e.deadline);return this._logLeadEvent("home_valuation_submission_success",e),d}catch(t){throw t.userMessage||(t.userMessage=this._getUserFriendlyErrorMessage(t)),this._logLeadEvent("home_valuation_submission_failed",e,t),t}}async _validateAddressWithGoogleMaps(e){let{config:t,window:r}=this,i=t.googleMapsAPIKey;if(!i&&r.luxuryPresence?.mapApiLoader&&(i=await r.luxuryPresence.mapApiLoader.getMapApiKey()),!i)throw Error("Google Maps API key not configured");let s=new AbortController,o=setTimeout(()=>s.abort(),1e4);try{let t=await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:{addressLines:[e]},enableUspsCass:!1}),signal:s.signal});if(clearTimeout(o),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(o),e}}_hasMandatoryAddressFields(e){return!!(e.streetNumber&&e.streetName&&e.city&&e.state&&e.zipcode)}_logMissingAddressFields(e){let t=[];e.streetNumber||t.push("streetNumber"),e.streetName||t.push("streetName"),e.city||t.push("city"),e.state||t.push("state"),e.zipcode||t.push("zipcode"),console.log("Home valuation estimate skipped - missing required fields:",t.join(", "),"Available fields:",Object.keys(e).join(", "))}_buildAddressQueryString(e){return Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}async _getHomeValuationEstimate(e=null){let t=`${this._resolveValuationApiBase()}${b}`;if(!e?.result?.address?.addressComponents)return null;let r=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(r))return this._logMissingAddressFields(r),null;let i=this._buildAddressQueryString(r),s=`${t}?${i}`,o=new AbortController,n=setTimeout(()=>
1698o.abort(),1e4);try{let e=await fetch(s,{headers:{Accept:"application/json"},signal:o.signal});if(clearTimeout(n),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(n),e}}}let w="middleName",E="redirect-pending",_=["name","firstName","lastName",w,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],S="lp_map_key_failed",C="oauthSuccess",I={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;]+)/);if(!t)return!1;try{let e=decodeURIComponent(t[1]);if(e.includes(",")){let t=e.split(",").map(e=>e.trim());if(t.some(e=>e.includes(":")))return t.some(e=>"analytics:yes"===e);return t.includes("analytics")}return e.includes("analytics")}catch(e){return!1}})(e),isAnalyticsAccepted:e=>Array.isArray(e?.accepted)&&e.accepted.includes("analytics")},"lp-consent":{eventName:"lp_consent_update",hasAnalyticsConsent:(e,t)=>!!t.__lpConsent?.state?.c?.analytics,isAnalyticsAccepted:e=>!!e?.choices?.analytics}};function A(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function x(e,t){t.forEach(t=>{let r=e[t];Array.isArray(r)&&0===r.length&&delete e[t]})}function R(e,t,r,i){let s=t.map(t=>(function e(t){return Array.isArray(t)?t.flatMap(t=>e(t)):"string"==typeof t?t.split(/\s+/).filter(Boolean):null==t?[]:[t]})(e[t])),o=i?.merge?s.flat():s.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),o.length>0&&(e[r]=[...new Set(o)])}function T(e){let t={...e};if(t.urlWebsite||(t.urlWebsite=null),t.urlYoutube=null,t.urlFacebook=null,t.urlInstagram=null,t.urlLinkedin=null,t.urlPodcast=null,t.urlTwitter=null,Array.isArray(e.socialLinks)){let r=[...e.socialLinks].sort((e,t)=>{let r=e.type?.toLowerCase()||"",i=t.type?.toLowerCase()||"";return r.localeCompare(i)});t.socialLinks=r;let i={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};r.forEach(e=>{let r=i[e.type?.toLowerCase()??""];r&&(t[r]=e.link)})}return t}function L(e){return e&&Array.isArray(e)?e.map(e=>T(e)):e}function k(e){let{region:t}=e;if(!A(t))return e;let{schools:r,pois:i,...s}=t,o={...s,schools:A(r)?r.data??[]:[],...Array.isArray(i)?{pois:i.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:o}}function M(e){return e&&Array.isArray(e)?e.map(e=>k(e)):e}function $(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let r=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:r}}function U(e){return e&&Array.isArray(e)?e.map(e=>$(e)):e}function P(e,t){return A(e)?t(e):e}function O(e,t){return Array.isArray(e)?t(e):e}var N={};N=`
1699  query PropertyDisclaimers($input: PropertyDisclaimersInput!) {
1700    propertyDisclaimers(input: $input) {
1701      feedId
1702      listingId
1703      resolvedFromListing
1704      listingCardAttribution
1705      listingDetailCourtesy
1706      listingDetailFooter
1707      logo
1708    }
1709  }
1710`;let D={mlsAttribution:"listingCardAttribution",mlsLogo:"logo",listingDetailCourtesy:"listingDetailCourtesy",listingDetailFooter:"listingDetailFooter"};var F={};F=s("ikl6F");let B=new class{constructor(e){this.isBuilder=!1,this.companyId=null,this.websiteId=null,this.pageId=null,this.shareId=null,this.pageMeta=null,this.websiteApiGatewayUrl=null,this.buyerSellerServiceUrl=null,this.leadIngesterUrl=null,this.divolteServiceUrl=null,this.eventBus=null,this.templateId=null,this.myhomeDashboardEnabled=!1,this.mlsEnabled=!1,this.hstValuationRedirectEnabled=!1,this.hvStepTwoCaptureEnabled=!1,this.googleMapsAPIKey=null,this.currencyConversionEnabled=!1,this.enabledCurrencies=[]}get valuationApiBase(){return this.isBuilder?this.websiteApiGatewayUrl:""}destroy(){}setPage(e,t={}){this.pageId=e,this.shareId=t.shareId||null,this.pageMeta={sourceResource:t.sourceResource,pageElementId:t.pageElementId,pageQueryVariables:t.pageQueryVariables||{}}}setIsBuilder(e){this.isBuilder=e}setCompany(e,t={}){this.companyId=e}setWebsite(e,t={}){this.websiteId=e,t.myhomeDashboardEnabled&&(this.myhomeDashboardEnabled=t.myhomeDashboardEnabled),t.mlsEnabled&&(this.mlsEnabled=t.mlsEnabled),t.hstValuationRedirectEnabled&&(this.hstValuationRedirectEnabled=t.hstValuationRedirectEnabled),t.hvStepTwoCaptureEnabled&&(this.hvStepTwoCaptureEnabled=t.hvStepTwoCaptureEnabled)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setCurrencyConversion({enabled:e,enabledCurrencies:t}={}){this.currencyConversionEnabled=!0===e,this.enabledCurrencies=Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}setEventBus({enabled:e,apiKey:t,url:r}){this.eventBus={enabled:e,apiKey:t,url:r}}}({}),q=new class extends m{constructor(e,t,r){super(e,t,r),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:r}=this;this.pageId=t.pageId,this.modals=r.querySelectorAll("body > #modals >
1710 .modal"),e.modals.forEach(e=>{this._attachModalHandler(e)})}catch(e){console.log(e)}}destroy(){let{document:e}=this;this.exitModalEventListeners.forEach(t=>{e.removeEventListener("mouseout",t)}),this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}setModalWithExpiry(e){let{window:t}=this,r=new Date().getTime()+864e5,i=`modal-controller-${e}`;try{t.localStorage.setItem(i,JSON.stringify(r))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,r=t.localStorage,i=r.getItem(`modal-controller-${e}`);if(!i)return!1;let s=JSON.parse(i);return!(new Date().getTime()>s)||(r.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:r}=this,i=this.getModalWithExpiry(e);(e&&!i||!0===t.forced)&&(r.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:r,pageSpecific:i}=e;(!i||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===r?this._exitModalHandler(e):"TIMER"===r?this._timerModalHandler(e):"FORCED"===r&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:r,exitModalTriggered:i}=this,{modalId:s}=e;function o(e){!i[s]&&(e.toElement||e.relatedTarget||(t.show(s),i[s]=!0))}r.addEventListener("mouseout",o),this.exitModalEventListeners.push(o)}_timerModalHandler(e){let{modalId:t,timerDelay:r}=e;setTimeout(()=>{this.show(t)},r)}_forcedModalHandler(e){let{modalId:t}=e,{window:r,document:i}=this;if("true"!==r.localStorage.getItem("isSignedUp")){let e=i.querySelector(`#modal-${t}`),s=e?.querySelector("form"),o=s?.dataset.delay||2e3;s.addEventListener("formsubmitted",()=>{this.setLoginState()}),r.addEventListener("oauthSuccess",()=>{this.setLoginState(),s.classList.add("success"),setTimeout(()=>{r.lpUI.hideModal(`modal-${t}`),s.reset(),s.classList.remove("success")},o)}),this.show(t,{forced:!0})}}}(B,window,document),V=new class extends m{constructor(e,t,r){super(e,t,r),this._boundClickHandler=this._buttonClickHandler.bind(this)}initialize(e={}){try{let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler),e.body.addEventListener("click",this._boundClickHandler)}catch(e){console.error(e)}}destroy(){let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler)}_buttonClickHandler(e){this._handleButtonClick(e).catch(e=>console.error(e))}async _handleButtonClick(e){let{window:t,document:r}=this,i=e.target.closest("button, a");if(!i)return;let s=i.dataset.type||"",o=i.href||i.dataset.href||"",n=i.target||"",{submit:a}=i.dataset;if(a){try{await this._handleSubmit(i)}catch(e){console.error(e)}((e,t=!1)=>{if(e){if(t)return window.open(e);window.location.assign(e)}})(o,"_blank"===n)}if(this._trackConversion(i),"VIDEO"===s)return void this._handleVideoButton(i);if("CONTACT_US"===s)return void this._handleContactUsButton(i);if("SUBSCRIBE"===s)return void t.lpUI.showModal("modal-global-subscribe");if("MY_ACCOUNT"===s)return void t.lpUI.showModal("modal-global-my-account");if("SHARE_POPUP"===s){let t=i.querySelector(".share-popup");t&&(t.style.display="flex"),e.stopPropagation();return}if("MODAL_"===s.substring(0,6)){let e=s.substring(6);t.lpUI.showModal(`modal-${e}`);return}if(o?.startsWith("mailto:")){let e=o.substring(7);r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(o?.startsWith("tel:")){let e=o.substring(4);r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:r}=this;return t?await r.luxuryPresence.contactForms.submitForm(t):null}_getVimeoSrc(e){if(!e||!e.includes("vimeo.com")||e.length>2e3)return null;let t=e.match(/(?:(?:www\.)?vimeo\.com\/(?:showcase\/\d+(?:\/video\/|\?video[=/])|channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player\.vimeo\.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);if(!t)return null;let[,r,i]=t,s=`https://player.vimeo.com/video/${r}?`;return i&&(s+=`h=${i}&`),s+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,r=e.closest("section"),{src:i}=e.dataset,s="";if(i&&(i.includes("youtube.com")||i.includes("youtu.be"))&&!i.includes("youtube.com/embed")){let e=i.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
1710)|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(s=e[1])}let o=this._getVimeoSrc(i);if(s?i=`https://youtube.com/embed/${s}?autoplay=1&controls=0`:o&&(i=o),!i||!r)return;let n=i.endsWith(".mp4")||i.endsWith(".webm")||i.includes("cloudinary.com"),a=`
1711      <div id="modal-${r.id}" class="modal visible">
1712        <div class="modal-content">
1713          <div class="lightbox-video">
1714            <div class="video-player">
1715              <div class="embed-container">
1716                ${n?`<video controls autoplay src="${i}"></video>`:`<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${i}"></iframe>`}
1717              </div>
1718            </div>
1719          </div>
1720        </div>
1721        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
1722      </div>
1723    `;t.body.insertAdjacentHTML("beforeend",a);let l=t.getElementById(`modal-${r.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:r}=this;r.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:r}=this,{gtagConversionId:i,gtagConversionLabel:s,fbEventName:o}=e.dataset;if(i&&s){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===i)||r.sendGoogleTagManagerEvent("config",i));let e=`${i}/${s}`;r.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&o&&t.fbq("track",o,{})}}(B,window,document),j=new class extends m{constructor(e,t,r){super(e,t,r),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:r}=this,{selector:i}=e,s=[];if(s=i?r.querySelectorAll(`${i} form[data-type="contact-form"]`):r.querySelectorAll('form[data-type="contact-form"]'),r.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:r}=t.luxuryPresence.libs,{libphonenumber:i}=r;e(i.jsSrc,this.attachValidation.bind(this,s))}else this.attachValidation(s);this.validatedForms=this.validatedForms.concat(s)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}attachValidation(e){e.forEach(e=>{e.querySelectorAll("input, select, textarea").forEach(e=>{this.applyFieldValidation(e)})})}applyFieldValidation(e){"tel"===e.getAttribute("type")&&this._applyPhoneValidation(e)}_applyPhoneValidation(e){let{window:t}=this;if(t.libphonenumber){let r=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;r(e,"US")?this.setCustomValidity(""):this.setCustomValidity("Please enter a valid phone number.")}catch(e){this.setCustomValidity("Please enter a valid phone number.")}else this.setCustomValidity("")})}}}(B,window,document),H=new class extends m{constructor(e,t,r){super(e,t,r),this.forms=[],this.homeValuationService=new v(e,t,r)}initialize(e={}){try{let{document:t}=this,{selector:r}=e,i=[];(i=r?t.querySelectorAll(`${r} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(i)}catch(e){console.log(e)}}destroy(){this.forms=[]}submitForm(e){this._handleSubmit(null,e).catch(e=>console.error(e))}_attachValidation(e){let{window:t}=this;e.querySelectorAll("input, select, textarea").forEach(e=>{t.luxuryPresence.validation.applyFieldValidation(e)})}_attachSubmitHandler(e){e.addEventListener("submit",t=>this._handleSubmit(t,e))}_extractFormValues(e){let t=new FormData(e),r={},i=[],s=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let o=e.trim();s.test(t)&&o&&i.push(o);let n=r[t];r[t]=n?`${n} ${o}`:o}else r[t]=e}),i.length?r.name=i.join(" ").trim():!r.name&&r.firstName&&(r.name=r.firstName,r.lastName&&(r.name+=` ${r.lastName}`)),this._deriveNameParts(r)}_deriveNameParts(e){if(e.firstName||!e.name)return e;let t=e.name.indexOf(" ");return -1===t?{...e,firstName:e.name}:{...e,firstName:e.name.slice(0,t),lastName:e.lastName||e.name.slice(t+1).trim()}}_buildSubmissionData(e,t,r){let{window:i,config:s}=this,o=Object.keys(e).filter(e=>!_.includes(e)).reduce((t,r)=>(t[r]=e[r],t),{}),{pageId:n,companyId:a,websiteId:l,pageMeta:d}=s,c=i.localStorage.getItem("utm_vars")||"{}",u=i.localStorage.getItem("referrer")||"",h=this._getFormId(r);return{activity:{author_email:e.email,author_name:e.name,firstName:e.firstName||void 0,lastName:e.lastName||void 0,author_phone:e.phone||e.phoneNumber,activity_source:e.source||"CONTACT_INQUIRY",comments_attributes:[{text:e.message||void 0}],source_url:i.location.href,content:{...o,...JSON.parse(c)}},page:{pageId:n,companyId:a,websiteId:l,pageMeta:{...d,formId:h}},companyId:a,referrer:u,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,r=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
1723=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},r)}async _handleSubmit(e,t){if(e&&e.preventDefault(),!t.classList.contains("loading")){this._hideSubmissionError(t),t.classList.remove("error"),t.classList.add("loading");try{let e=this._extractFormValues(t);if(e.middleName)return void t.classList.remove("loading");let r=this._getFields(t),i=this._buildSubmissionData(e,r,t);y(this.window,this.document);let s=await this._waitForLeadSubmit(e=>this._submitLeadRequest(i,e));if(this._sendGAEvent(i),s?.redirected)return void this._showRedirectPending(t);this._handleSubmissionSuccess(t)}catch(e){console.error("Form submission failed:",e),t.dispatchEvent(new Event("formsubmiterror")),t.classList.remove("loading"),t.classList.add("error"),e.userMessage?this._showSubmissionError(t,e.userMessage):this._showSubmissionError(t,"Something went wrong. Please try again.")}}}async _waitForLeadSubmit(e){let t,r={expired:!1,expiresAt:Date.now()+6e3},i=new Promise(e=>{t=setTimeout(()=>{r.expired=!0,e(null)},6e3)}),s=e(r).catch(e=>{if(f(r))return null;throw e});try{return await Promise.race([s,i])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(E),e.querySelector(`.${E}__indicator`))return;let t=this.document.createElement("div");t.className=`${E}__indicator`,t.setAttribute("role","status"),t.setAttribute("aria-label","Loading"),t.innerHTML='<span class="lp-i lp-i--spinner lp-i--pulse" aria-hidden="true"></span>',e.appendChild(t)}_aliasUserWithEventBus(e){try{if(!this.window.eventBusProvider?.alias||!this.window.eventBusProvider?.isIdentified||!this.window.eventBusProvider?.getDistinctId||!this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail)return;if(this.window.eventBusProvider.isIdentified())return void console.log("[EventBus] User already identified, skipping alias");let t=e.activity?.author_email,{companyId:r}=this.config;if(!t||!r)return void console.warn("[EventBus] Missing required data for user alias");let i=this.window.eventBusProvider.getDistinctId();if(!i)return void console.warn("[EventBus] No anonymous ID available for alias");let s=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(r,t);this.window.eventBusProvider.alias({anonId:i,canonicalId:s}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}async _submitLeadRequest(e,t){let{config:r}=this;return(this._aliasUserWithEventBus(e),r.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${r.leadIngesterUrl}/api/v1/leads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw e}))}_sendGAEvent(e){let{document:t}=this,r={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":r.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":r.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":r.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":r.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:r={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(r)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),r={};return t.forEach(t=>{let{id:i,name:s,type:o}=t;if(s===w)return!0;let n="";if(i){let r=e.querySelector(`label[for='${i}']`);r?n=r.textContent.trim():t.placeholder&&(n=t.placeholder.trim())}r[s]={label:n,type:t.tagName,inputType:"INPUT"===t.tagName?o:"text"}}),r}_getFormId(e){let t=e.closest("section[id^='section-'], footer[id], .modal[id^='modal-']");return t?.id?this._cleanFormId(t.id):""}_cleanFormId(e){for(let t of["section-","modal-"])if(e.startsWith(t))return e.substring(t.length);return e}_showSubmissionError(e,t){let r=e.querySelector(".submission-error-message");r||((r=this.document.createElement("div")).className="submission-error-message",r.setAttribute("role","alert"),e.appendChild(r)),r.textContent=t||"Something went wrong. Please try again.",r.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(B,window,document),G=new class extends m{constructor(e,t,r){super(e,t,r),this.retries=3,this.callbacks=[],this.id=`__googleMapsScriptId${Date.now()}`,this._apiKey="",this.reset()}set apiKey(e){this._apiKey=e,this.config.setGoogleMapsAPIKey(e)}get apiKey(){return this._apiKey}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.failed=!1,this.errors=[],this.onerrorEvent=null}destroy(){this.reset()}async getMapApiKey(){if(this.apiKey)return this.apiKey;let e=this._hadPreviousFailure(),t=!1;for(let r=1;r<=3;r+=1){let i=e&&!t;try{let e=await fetch(this._getMapKeyUrl(r,i));if(t=t||i,this._setFailureFlag(!1),!e.ok)throw Error(`Failed to fetch API key: ${e.status}`);let s=await e.text();if(!s)return"";return this.apiKey=s,this.apiKey}catch(e){console.error(e),r<3&&await this._delay(300*2**(r-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let r=[];e>1&&r.push(`attempt=${e}`),t&&r.push("recovered_after_failure=1");let i=r.length?`?${r.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${i}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(S)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(S,"1"):this.window.sessionStorage.removeItem(S)}catch(e){}}_delay(e){return new Promise(t=>{this.window.setTimeout(t,e)})}async createUrl(){let e=await this.getMapApiKey();if(!e)throw Error("Refusing to load Google Maps without an API key");
1723let t="https://maps.googleapis.com/maps/api/js";return t+`?callback=__googleMapsCallback&key=${e}&libraries=places`}async setScript(){let e;if(this.document.getElementById(this.id))return void this.callback();try{e=await this.createUrl()}catch(e){console.error(e),this.failed=!0,this.loading=!1,this.onerrorEvent=e,this.callback();return}let t=this.document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.document.head.appendChild(t)}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){let e=this.errors.length*2**this.errors.length;console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript().catch(e=>console.error(e))},e)}else this.failed=!0,this.onerrorEvent=e,this.callback()}deleteScript(){let e=this.document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(r=>{r?t(r):e()})})}loadCallback(e){this.callbacks.push(e),this.execute()}setCallback(){this.window.__googleMapsCallback=this.callback.bind(this)}resetIfRetryingFailed(){this.failed&&this.reset()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.window.google&&this.window.google.maps&&this.window.google.maps.version&&this.callback(),this.resetIfRetryingFailed(),this.done?this.callback():this.loading||(this.loading=!0,this.setCallback(),this.setScript().catch(e=>console.error(e)))}_getBaseUrl(){let{isBuilder:e,websiteApiGatewayUrl:t}=this.config;return e?t:""}resizeStaticMapDimensions(e,t){if(e<=1024&&t<=1024)return{width:e,height:t};let r=Math.min(1024/e,1024/t);return{width:parseInt(e*r),height:parseInt(t*r)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let r=t.visibility?`visibility:${t.visibility}`:"",i=t.color?`color:${t.color.replace("#","0x")}`:"",s=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${r}${i}${s}`},""),r=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${r}${t}`})}async getMapApiSignedUrl(e){try{let t=await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${e}`);if(!t.ok)throw Error("Failed to fetch signed URL");let{url:r}=await t.json();return r}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,r,i,s,o){let{width:n,height:a}=this.resizeStaticMapDimensions(s,o),l={center:`${e},${t}`,zoom:r,scale:2,size:`${n}x${a}`,key:this.apiKey};i&&(l.style=this.convertThemeToStaticApiUrl(i));let d=new URLSearchParams;return Object.entries(l).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>d.append(e,t.toString())):d.append(e,t.toString())}),`https://maps.googleapis.com/maps/api/staticmap?${d.toString()}`}async generateDigitallySignedStaticMapUrl({srcWidth:e,srcHeight:t,theme:r,...i}){let{width:s,height:o}=this.resizeStaticMapDimensions(e,t),n={...i,size:`${s}x${o}`};r&&(n.style=this.convertThemeToStaticApiUrl(r));let a=new URLSearchParams;Object.entries(n).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>a.append(e,t.toString())):a.append(e,t.toString())});let l=a.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(B,window,document),K=new class extends m{destroy(){}updateQueryString(e,t,r){r||(r=this.window.location.href);let i=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),s="";null!=t&&(Array.isArray(t)?t.length&&(s=this.serializeArray(e,t)):"object"==typeof t?(i=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),s=this.serializeObj(t,"",e)):s=`${e}=${encodeURIComponent(t)}`);let o=r.split("#"),n=o[0];if(i.test(r)){let e=n;for(s=s?`$1${s}$2`:"$1";i.test(e);)n=e.replace(i,s),e=e.replace(i,"$1");n=n.replace(/(&|\?)$/,"")}else if(s){let e=-1!==n.indexOf("?")?"&":"?";n+=`${e}${s}`}return void 0!==o[1]&&null!==o[1]&&(n+=`#${o[1]}`),n}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let r=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),i=Array.from(RegExp.prototype[Symbol.matchAll].call(r,t)).flat();if(!i.length){let r=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return i=Array.from(RegExp.prototype[Symbol.matchAll].call(r,t)).flat(),this._parseParamToObject(i,"advancedFilters"===e)}return i.length>3?i.reduce((e,t,r)=>((r+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):i[2]?decode
1723URIComponent(i[2].replace(/\+/g," ")):""}makePageKey(e){return e.replace("section-","").replace(/-/g,"")}makeParamKey(e,t){return e.global?e.urlKey:`${t}-${e.urlKey}`}deserializeParams(e,t){let r={},i=this.makePageKey(t),s=this.getParameterByName(i);return s&&(r.page=parseInt(s)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,i),s=this.getParameterByName(t);if("int"===e.type)isFinite(s=parseInt(s))||(s=null);else if("bool"===e.type||"boolean"===e.type)s="true"===s||"false"!==s&&null;else if("json"===e.type)try{s=JSON.parse(s)}catch(e){}r[e.formKey||e.param]=s}),r}serializeParams(e,t,r){let i=this.window.location.href,s=this.makePageKey(t);return i=this.updateQueryString(s,r.page,i),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),o=r[e.formKey||e.param];"json"===e.type&&null!=o&&(o=JSON.stringify(o)),i=this.updateQueryString(t,o,i)}),i}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",r=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${r}K`:`${this.formatSliderAtom(e/1e6,t)}${r}M`}formatSliderPriceRange(e,t,r,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e,r," ")}`:t.max===e?`${this.formatSliderValue(e,r," ")}${i.highSuffix}`:`${this.formatSliderValue(e,r," ")}`}formatSliderAreaRange(e,t,r,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e)} ${r}`:t.max===e?`${this.formatSliderValue(e)}${i.highSuffix} ${r}`:`${this.formatSliderValue(e)} ${r}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:r,areaSliderElement:i,neighborhoodSelect:s}=e,o={};if(t&&(o.search=t.value||null),r){let e=r.value.split(";"),t=parseInt(r.dataset.min),i=parseInt(r.dataset.max),s=parseInt(e[0]),n=parseInt(e[1]);o.priceMin=s!==t?s:null,o.priceMax=n!==i?n:null}if(i){let e=i.value.split(";"),t=parseInt(i.dataset.min),r=parseInt(i.dataset.max),s=parseInt(e[0]),n=parseInt(e[1]);o.areaMin=s!==t?s:null,o.areaMax=n!==r?n:null}return s&&(o.neighborhoodId=s.value||null),o}serializeObj(e,t="",r=""){let i=[];for(let s in e)if(e.hasOwnProperty(s)){let o,n=e[s];if(r){let e=t?`[${t}][${s}]`:`[${s}]`;o=`${r}${e}`}else o=t?`${t}[${s}]`:s;null!==n&&Array.isArray(n)?n.length&&i.push(this.serializeArray(o,n)):null!==n&&"object"==typeof n?i.push(this.serializeObj(n,o)):i.push(`${o}=${encodeURIComponent(n)}`)}return i.join("&")}serializeArray(e,t,r=""){let i=[];return t.forEach(t=>{let s=r?`${r}${e}`:e;i.push(`${s}=${encodeURIComponent(t)}`)}),i.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let r={};for(let i=0;i<e.length;i++)if((i+1)%3==0){let s=decodeURIComponent(e[i].replace(/\+/g," ")),o=e[i-1];Object.assign(r,this._setObjectPath(o,s,r,t))}return r}_setObjectPath(e,t,r,i=!1){let s=e.split(/[\[\]]/).filter(Boolean),o=["in","nin","btw","ciin","cinin"],n={},a=n,l=((e,t,r)=>{if(!t)return;let i=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===i?r:i})(r,s.join("."));return s.forEach((e,n)=>{n===s.length-1?l?a[e]=Array.isArray(l)?[...l,t]:[l,t]:a[e]=i&&o.includes(e)?[t]:t:(a[e]=r[e]?r[e]:{},a=a[e])}),n}}(B,window,document),Y=new class extends m{constructor(e,t,r){super(e,t,r),this._createLightbox=this._createLightbox.bind(this),this.expandSliders=[]}initialize(e={}){try{let{document:e}=this,t=e.querySelectorAll(".has-mobile-expand");t.forEach(e=>{this._addExpandButton(e)}),this.expandSliders=this.expandSliders.concat(t)}catch(e){console.log(e)}}destroy(){let{document:e}=this;e.querySelectorAll(".lp-expand-btn, .lp-expand-btn-wrapper").forEach(e=>e.remove()),this.expandSliders=[]}_addExpandButton(e){let{document:t}=this,r=e.closest("section[id]"),i=e.dataset.append,s=r.querySelector(".lp-expand-btn");if(!s)if((s=t.createElement("button")).className="lp-expand-btn",s.setAttribute("aria-label","Open a lightbox"),s.innerHTML='<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>',i){let e=r.querySelector(i);e&&e.appendChild(s)}else{let r=t.createElement("div");r.className="lp-expand-btn-wrapper",r.style.position="relative",r.appendChild(s),e.parentNode.insertBefore(r,e.nextSibling)}s.addEventListener("click",()=>{this._createLightbox({slider:e,section:r})})}_createLightbox({slider:e,section:t,initialIndex:r}){let{window:i,document:s}=this,o=`lightbox-for-${t?.id}`,n=i.$&&i.$.fn.slick,a=n&&e.slick,l="function"==typeof i.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=s.createElement("div");t.id=o,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=`
1724      <button class="lp-lightbox__close" aria-label="close modal"></button>
1725      <div class="lp-lightbox__content">
1726        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
1727          <div class="splide__arrows">
1728            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
1729            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
1730          </div>
1731          <div class="splide__track">
1732            <ul class="splide__list"></ul>
1733          </div>
1734        </div>
1735      </div>
1736    `,"function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(o):s.body.style.overflow="hidden",s.body.appendChild(t);let n=t.querySelector(".lp-lightbox__carousel"),a=n.querySelector(".splide__list");t.classList.add("show"),(d?e.querySelectorAll(".splide__slide:not(.splide__slide--clone) img"):e.querySelectorAll("img")).forEac
1736h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let r=s.createElement("li");r.className="lp-lightbox__slide splide__slide",r.appendChild(t),a.appendChild(r)});let l=new i.Splide(n,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==r&&r>=0&&l.go(r),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let r=t.querySelector(".splide__arrow--prev"),i=t.querySelector(".splide__arrow--next"),s=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&r?(e.preventDefault(),r.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&s&&(e.preventDefault(),s.click())};s.addEventListener("keydown",c),t.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",c),t.classList.remove("show"),l&&l.destroy(),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(o):s.body.style.overflow="",t.remove()})}if("function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(o):s.body.style.overflow="hidden",n&&!d){let t,r,n,l,d;r={arrows:!0,dots:!1,infinite:!0,draggable:!0,prevArrow:'<button type="button" class="lp-lightbox-arrow--prev lp-lightbox-arrow" aria-label="Previous"></button>',nextArrow:'<button type="button" class="lp-lightbox-arrow--next lp-lightbox-arrow" aria-label="Next"></button>'},(n=s.createElement("div")).id=o,n.className="lp-lightbox",n.setAttribute("tabindex","-1"),n.setAttribute("role","dialog"),n.setAttribute("aria-modal","true"),n.innerHTML=`
1737        <button class="lp-lightbox__close" aria-label="close modal"></button>
1738        <div class="lp-lightbox__content">
1739          <div class="lp-lightbox__carousel"></div>
1740        </div>
1741      `,s.body.appendChild(n),l=n.querySelector(".lp-lightbox__carousel"),n.classList.add("show"),a?(t=e.slick.$slides.find("img"),r.initialSlide=e.slick?.currentSlide||0,t.each(function(){i.$(".lp-lightbox__carousel").append(i.$(this).clone(!1).removeAttr("style").wrap('<div class="lp-lightbox__slide"></div>').parent())})):(t=e.querySelectorAll("img")).forEach(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let r=s.createElement("div");r.className="lp-lightbox__slide",r.appendChild(t),l.appendChild(r)}),i.$(l).slick(r),setTimeout(()=>{n.focus()},100),d=e=>{if(!n.classList.contains("show"))return;let t=n.querySelector(".lp-lightbox-arrow--prev"),r=n.querySelector(".lp-lightbox-arrow--next"),i=n.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&r?(e.preventDefault(),r.click()):"Escape"===e.key&&i&&(e.preventDefault(),i.click())},s.addEventListener("keydown",d),n.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",d),n.classList.remove("show");let t=l?.slick?i.$(l).slick("slickCurrentSlide"):0;l?.slick&&i.$(l).slick("unslick"),a&&i.$(e).slick("slickGoTo",t),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(o):s.body.style.overflow="",n.remove()})}else l?c():(i.luxuryPresence.libs.loadCss(i.luxuryPresence.libs.jsLibsMap.splide.cssSrc),i.luxuryPresence.libs.loadJs(i.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),i.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(B,window,document),z=new class extends m{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId:r,templateId:i,websiteId:s,pageId:o,shareId:n,pageMeta:a}=this.config;this.window.divolte.signal(e,Object.assign({companyId:r,templateId:i,websiteId:s,pageId:o,shareId:n,pageMeta:a},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(B,window,document),W=new class extends m{constructor(e,t,r){super(e,t,r)}initialize(e={}){(void 0!==e.enabled?e.enabled:this.config.eventBus?.enabled)&&this.config.eventBus?.apiKey&&this.config.eventBus?.url&&this.loadScript()}loadScript(){let{eventBusUrl:e}=this.config,t=this.document.createElement("script");t.id="posthog-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/v2.8.0/event-bus-js.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){this.window.LuxuryPresenceEventBus&&(this.window.eventBusProvider=this.window.LuxuryPresenceEventBus.createEventBusProvider({apiKey:this.config.eventBus.apiKey,host:this.config.eventBus.url,defaultSource:"frontend://website-render-engine"}
1741)),(this.window.eventBusLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.eventBusLp=this.eventBusLp.bind(this)}destroy(){if(!this.window.eventBusProvider){this.window.eventBusLp=function(){(this.window.eventBusLp.q=this.window.eventBusLp.q||[]).push(arguments)};return}this.window.eventBusProvider.shutdown()}sendLpEvent(e,t){if("user.activity.page.viewed"!==e)return void console.log(`${e} IS NOT SUPPORTED`);if(!this.window.eventBusProvider)return;let{companyId:r}=this.config;try{this.window.eventBusProvider.capture(e,{company:r,data:{}})}catch(e){console.log("EventBus capture error:",e)}}eventBusLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpPageView(){this.sendLpEvent("user.activity.page.viewed",{})}}(B,window,document),Q=new class extends m{constructor(e,t,r){super(e,t,r),this.successListeners=[],this._listenToMessages=this._listenToMessages.bind(this),this._listenToOneTapMessage=this._listenToOneTapMessage.bind(this)}initialize(e={}){try{e.googleSignOnEnabled&&!e.iframe&&this._renderGoogleOneTap(),this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach(e=>this._convertGoogleSignIn(e)),this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach(e=>this._convertFacebookSignIn(e))}catch(e){console.log(e)}}destroy(){this.successListeners.forEach(e=>{this.window.removeEventListener("message",this._listenToMessages),this.window.removeEventListener("message",this._listenToOneTapMessage),this.window.removeEventListener(C,this.window[e])})}_renderGoogleOneTap(){if(!this._isGoogleOneTapOnCooldown()){let e=this.document.createElement("div");google.accounts.id.initializeIntermediate({src:this._buildUrlAndCopyAttributes(e,e,"googleOneTap")}),this.window.localStorage.removeItem("googleOneTapExpiration"),this.window.addEventListener("message",this._listenToOneTapMessage)}}_listenToOneTapMessage(e){let t="show_intermediate_iframe",{buyerSellerServiceUrl:r}=this.config,{data:i,origin:s}=e,{type:o,height:n,event:a,source:l,token:d}=i;if(o===t||"hide_intermediate_iframe"===o){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=n,e.style.display=o===t?"unset":"none")}s===r&&"GOOGLE_SIGN_ON"===l&&("success"===a?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===a&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let r=this.document.createElement("iframe");r.src=this._buildUrlAndCopyAttributes(t,r,e),r.dataset.isSocialOauthButton=!0,t.replaceWith(r)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(C);this.window.dispatchEvent(e),y(this.window,this.document),this.successListeners.forEach(t=>{this.window[t]?this.window[t](e):console.error(`Callback function ${t} not found on window object`)}),this.document.documentElement.classList.add("is-login-success")}}_attachSuccessCallback(e){this.window.addEventListener("message",this._listenToMessages);let t=e.dataset.onSuccessFunctionName;t&&this.successListeners.push(t)}_buildUrlAndCopyAttributes(e,t,r){let{buyerSellerServiceUrl:i,companyId:s,websiteId:o,pageId:n,pageMeta:a}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${i}/buttons/${r}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",s),c.searchParams.append("websiteId",o),c.searchParams.append("pageId",n),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(a)),u&&c.searchParams.append("utm",u),h&&c.searchParams.append("referrer",h);let p=["data-size","data-width","data-text","data-button-type","data-shape","data-layout","data-max-rows","data-use-continue-as","data-type","data-theme","data-logo_alignment","data-locale"];
1741return Array.from(e.attributes).forEach(e=>{p.includes(e.nodeName)?c.searchParams.append(e.nodeName,e.nodeValue):t.setAttribute("id"===e.nodeName?"data-id":e.nodeName,e.nodeValue)}),c.toString()}_decodeToken(e){try{let t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=4-t.length%4,i=4===r?t:t+"=".repeat(r);return JSON.parse(atob(i))}catch(e){return null}}_handleQualifyingQuestionsModal(e){if(e&&this.window.luxuryPresence&&this.window.luxuryPresence.qualifyingQuestionsModal){let t=this._decodeToken(e);t&&t.email&&this.window.luxuryPresence.qualifyingQuestionsModal.showModal(t.email,"Google Sign On")}}}(B,window,document),J=new class extends m{constructor(e,t,r){super(e,t,r),this.showModal=this.showModal.bind(this),this.hasModalBeenSubmitted=this.hasModalBeenSubmitted.bind(this),this.modalId="qualifying-questions-modal",this.cookieKey="qualifyingQuestionsModalSubmitted",this.qualifyingQuestionsModalEnabled=!0,this.eventListeners=[],this.timeouts=[]}initialize(e={}){this.qualifyingQuestionsModalEnabled=e.qualifyingQuestionsModalEnabled??this.qualifyingQuestionsModalEnabled,this.qualifyingQuestionsModalEnabled&&this.attachModalCloseListeners()}destroy(){this.eventListeners.forEach(({element:e,event:t,handler:r})=>{e&&e.removeEventListener&&e.removeEventListener(t,r)}),this.timeouts.forEach(e=>{clearTimeout(e)}),this.restoreBodyScroll(),this.eventListeners=[],this.timeouts=[]}hasModalBeenSubmitted(){return"true"===this.getCookie(this.cookieKey)}setModalSubmittedCookie(){this.setCookie(this.cookieKey,"true",365)}showModal(e,t){!this.qualifyingQuestionsModalEnabled||this.hasModalBeenSubmitted()||(this.updateEmailValue(e),this.updateTriggerSourceValue(t),this.showModalElement())}getModalElement(){let e=this.document.getElementById(this.modalId);return e||console.error("Modal element not found:",this.modalId),e}updateEmailValue(e){let t=this.getModalElement();if(!t)return;let r=t.querySelector('input[name="email"]');r&&"string"==typeof e&&(r.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let r=t.querySelector(`#${this.modalId}-triggerSource`);r&&"string"==typeof e&&(r.value=e)}showModalElement(){let e=this.getModalElement();e&&(e.style.display="flex",this.blockBodyScroll())}getCookie(e){let t=`; ${this.document.cookie}`.split(`; ${e}=`);return 2===t.length?decodeURIComponent(t.pop().split(";").shift()):null}setCookie(e,t,r){let i="";if(r){let e=new Date;e.setTime(e.getTime()+864e5*r),i=`; expires=${e.toUTCString()}`}let s="; path=/; SameSite=Lax";this.window&&this.window.location&&"https:"===this.window.location.protocol&&(s+="; Secure"),this.document.cookie=`${e}=${encodeURIComponent(t||"")}${i}${s}`}blockBodyScroll(){this._prevOverflow=this.document.body.style.overflow,this.document.body.style.overflow="hidden"}restoreBodyScroll(){this.document.body.style.overflow=this._prevOverflow||"",this._prevOverflow=null}attachModalCloseListeners(){let e=this.getModalElement();if(!e)return;let t=this.document.getElementById(`${this.modalId}-form`);if(t){let r=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",r),this.eventListeners.push({element:t,event:"formsubmitted",handler:r})}let r=e.querySelector('[data-dismiss="modal"]');if(r){let t=()=>{e.style.display="none",this.restoreBodyScroll()};r.addEventListener("click",t),this.eventListeners.push({element:r,event:"click",handler:t})}let i=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",i),this.eventListeners.push({element:e,event:"click",handler:i})}}(B,window,document),X=new class extends m{constructor(e,t,r){super(e,t,r),this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null,this.validationCacheDuration=3e5}destroy(){this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null}async validateSession(e={}){let{useCache:t=!0}=e;if(t&&null!==this.lastValidationResult&&this.lastValidationTime&&Date.now()-this.lastValidationTime<this.validationCacheDuration)return this.lastValidationResult;if(this.isValidating)return null!==this.lastValidationResult&&this.lastValidationResult;this.isValidating=!0;let r=`
1742      query {
1743        validSession {
1744          success
1745        }
1746      }
1747    `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:r})});if(!e.ok)return console.error("SessionController: HTTP error during session validation",e.status),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let t=await e.json();if(t.errors)return this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let i=t.data?.validSession?.success===!0;return this.lastValidationResult=i,this.lastValidationTime=Date.now(),i}catch(e){return console.error("SessionController: Error validating session",e),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1}finally{this.isValidating=!1}}clearCache(){this.lastValidationResult=null,this.lastValidationTime=null}}(B,window,document),Z=new class extends m{constructor(e,t,r){super(e,t,r),this.consentListener=null,this.eventName=null}destroy(){this.consentListener&&this.eventName&&(this.document.removeEventListener(this.eventName,this.consentListener),this.consentListener=null)}loadScript(){this.document.getElementById("posthog-script")||this.window.luxuryPresence.eventBus.initialize({enabled:this.config.eventBus?.enabled}),this.document.getElementById("divolte-script")||this.window.luxuryPresence.divolte.initialize({})}removeScripts(){this.window.luxuryPresence?.eventBus?.destroy?.(),this.window.luxuryPresence?.divolte?.destroy?.(),this.document.getElementById("posthog-script")?.remove(),this.document.getElementById("divolte-script")?.remove()}async initialize(e={}){let t=I[e.provider];if(!t)return;this.eventName=t.eventName;let r=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||r)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(B,window,document),ee=new class extends m{destroy(){}transformVariables(e,t){let r;return x(r={...t},["testimonialId"]),R(r,["testimonialId"],"testimonialIds"),0===r.limit&&delete r.limit,(void 0===r.limit||null===r.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(r.limit=50),("agents"===e||"agentsCount"===e||"developments"===e||"developmentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(r.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(r),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":x(e,["testimonialIds"]);break;case"agents":case"agentsCount":x(e,["officeId","teamId","developmentId","agentIds","tags"]),R(e,["officeId"],"officeIds"),R(e,["teamId"],"teamIds"),R(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":x(e,["neighborhoodIds","neighborhoodId"]),R(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":x(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),R(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds"),R(e,["developmentIds","developmentId"],"developmentIds");break;case"properties":case"propertiesCount":x(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1747spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>R(e,[t],t)),R(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),R(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),R(e,["networkId"],"networkId"),R(e,["propertyId"],"propertyIds"),["salesPriceGTE","salesPriceLTE","leasePriceGTE","leasePriceLTE","livingSpaceSizeGTE","livingSpaceSizeLTE"].forEach(t=>{null!=e[t]&&(e[t]=Math.trunc(Number(e[t])))});break;case"posts":case"postsCount":x(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),R(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":x(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),R(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":x(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),R(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":x(e,["officeId","officeIds","tags"]),R(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":x(e,["teamId","teamIds"]),R(e,["teamId"],"teamIds");break;case"pois":x(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(r,e),r}transformResponse(e,t){return"agent"===e?P(t,T):"agents"===e||"agentsCount"===e?O(t,L):"neighborhood"===e?P(t,k):"neighborhoods"===e||"neighborhoodsCount"===e?O(t,M):"development"===e?P(t,$):"developments"===e||"developmentsCount"===e?O(t,U):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}applyPropertyDisclaimers(t,r){if(!Array.isArray(t)||!t.length||!r||!r.length)return Promise.resolve(t);let i=t.filter(e=>e&&e.vendorId&&e.mlsId).map(e=>({feedId:e.vendorId,listingId:e.mlsId,officeName:e.officeName??null,agentMlsId:e.mlsAgentId??null,officeMlsId:e.mlsOfficeId??null,attributionContact:e.attributionContact??null,status:e.status??null,syncedAt:e.syncedAt??null})),s=e=>{let i={};return(e||[]).forEach(e=>{i[`${e.feedId}:${e.listingId}`]=e}),t.map(e=>{let t=e&&i[`${e.vendorId}:${e.mlsId}`],s={};return r.forEach(e=>{let r=t?t[D[e]]:void 0;s[e]=r??null}),{...e,...s}})};if(!i.length)return Promise.resolve(s([]));let{websiteId:o}=this.config;return this.window.superagent?this.window.superagent.post(`${this.window.luxuryPresence.defaults.routerUrl}/graphql`).withCredentials().send({query:e(N),variables:{input:{websiteId:"string"==typeof o?o:void 0,properties:i}}}).then(e=>s(e.body&&e.body.data&&e.body.data.propertyDisclaimers),e=>(console.warn("[RouterApiController] propertyDisclaimers lookup failed:",e),s([]))):Promise.resolve(s([]))}}(B,window,document),et=new class extends m{constructor(e,t,r){super(e,t,r),this.natives=new WeakMap,this.rates=new Map,this.pending=new Map,this.target=void 0,this.generation=0,this.initialized=!1,this.observer=null,this.abortController=null}get currentCurrency(){return this.target}get cookieOptions(){return{document:this.document,location:this.window.location}}get enabledCurrencies(){return(this.config.enabledCurrencies??[]).map(F.toSupportedToCurrency).filter(Boolean)}initialize(){return this.initialized||!this.config.currencyConversionEnabled?Promise.resolve():(this.initialized=!0,this.generation=0,this.abortController=new this.window.AbortController,this.target=(0,F.readValidCurrencyCookie)(this.cookieOptions,{enabled:!0,enabledCurrencies:this.enabledCurrencies}),this.observer=new this.window.MutationObserver(()=>this.ensureRates(this.apply())),this.observer.observe(this.document.body,{childList:!0,subtree:!0}),this.ensureRates(this.apply()))}setCurrency(e){if(!this.config.currencyConversionEnabled)return!1;let t=(0,F.toSupportedToCurrency)(e);return!!t&&!!this.enabledCurrencies.includes(t)&&(this.target=t,this.generation+=1,(0,F.writeCurrencyCookie)(this.cookieOptions,t)||console.warn("[CurrencyConversionController] could not persist currency preference:",t),this.apply(),!0)}reset(){this.config.currencyConversionEnabled&&(this.target=void 0,this.generation+=1,(0,F.clearCurrencyCookie)(this.cookieOptions),this.apply())}destroy(){this.observer?.disconnect(),this.observer=null,this.abortController?.abort(),this.abortController=null,this.pending.clear(),this.rates.clear(),this.generation=null,this.initialized=!1}apply(){let e=new Set;return this.document.querySelectorAll("[data-lp-price]").forEach(t=>{let r=this.natives.get(t);if(!r){if(!(r=(e=>{let t=e.getAttribute("data-lp-native-amount"),r=null===t||""===t.trim()?NaN:Number(t),i=(0,F.toSupportedFromCurrency)(e.getAttribute("data-lp-native-currency"));if(!Number.isFinite(r)||r<0||!i)return;let s=Number(e.getAttribute("data-lp-precision"));return{amount:r,currency:i,precision:Number.isInteger(s)&&s>=0?s:0,originalHTML:e.innerHTML}})(t)))return;this.natives.set(t,r)}this.rates.has(r.currency)||e.add(r.currency),this.render(t,r)}),[...e]}render(e,t){let r=this.convertedText(t);if(void 0===r){e.innerHTML!==t.originalHTML&&(e.innerHTML=t.originalHTML);return}e.textContent!==r&&(e.textContent=r)}convertedText(e){if(!this.target||this.target===e.currency)return;let t=this.rates.get(e.currency)?.[this.target];
1747if("number"!=typeof t||!Number.isFinite(t))return;let r=(0,F.convertAmount)(e.amount,t);if(void 0!==r)return(0,F.formatMoney)(r,this.target,{precision:e.precision})}ensureRates(e){return e.length?Promise.all(e.map(e=>this.requestRates(e))).then(()=>{null!==this.generation&&this.apply()}):Promise.resolve()}requestRates(e){let t=this.pending.get(e);if(t)return t;let r=this.abortController?.signal,i=(0,F.fetchExchangeRates)(e,{baseUrl:this.config.valuationApiBase,signal:r,onError:t=>console.warn(`[CurrencyConversionController] exchange rate fetch failed for ${e}:`,t)}).then(t=>{r?.aborted||this.rates.set(e,t??{})});return this.pending.set(e,i),i}}(B,window,document);function er(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}er("config",B),er("modals",q),er("buttons",V),er("validation",j),er("contactForms",H),er("mapApiLoader",G),er("pagination",K),er("expandSliders",Y),er("divolte",z),er("eventBus",W),er("oauth",Q),er("qualifyingQuestionsModal",J),er("session",X),er("consent",Z),er("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!t.hvStepTwoCaptureEnabled&&!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),er("routerApi",ee),er("currencyConversion",et),window.luxuryPresence.formatSliderPriceRange=K.formatSliderPriceRange.bind(K),window.luxuryPresence.formatSliderAreaRange=K.formatSliderAreaRange.bind(K),window.luxuryPresence.getSearchFormValues=K.getSearchFormValues.bind(K),window.luxuryPresence.handlebarsHelpersFactory=function(t){return e(n)(t,{isEqual:(e,t)=>e==t})}})();
1748//# sourceMappingURL=lp-sdk.js.map
1749
1750    </script>
1750
1751
1752    
1752<script>
1753        var lpGlobalInitialized = false;
1754
1755        function lpGlobalInit () {
1756          if (lpGlobalInitialized) {
1757            return;
1758          }
1759            lpGlobalInitialized = true;
1760            // Initialize wow animation plugin only according to turbolinks
1761            var wow;
1762            if (window.WOW) {
1763                wow = new WOW({
1764                    animateClass: 'animated',
1765                    offset: wowOffset,
1766                    live: false,
1767                    callback: function(box) {}
1768                });
1769            }
1770            // Initialize handlebar helpers only once
1771            function handlebarsInit() {
1772              if (!window.Handlebars) {
1773                return;
1774              }
1775              HandlebarsIntl.registerWith(Handlebars);
1776              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
1777            }
1778
1779            handlebarsInit();
1780
1781              var modalContentUrl = "/modals.html";
1782                const modalsContainer = document.getElementById('modals');
1783                if (modalsContainer) {
1784                  fetch(modalContentUrl).then(function(res) {
1785                    if (!res.ok) {
1786                      throw new Error(`HTTP error! Status: ${res.status}`);
1787                    }
1788                    return res.text();
1789                  }).then(function(resultText) {
1790                    modalsContainer.innerHTML = resultText;
1791
1792                    // now we need to execute all script elements
1793                    Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) {
1794                      const script  = document.createElement("script");
1795                      script.text = s.innerHTML;
1796                      Array.from(s.attributes).forEach(function (a) {
1797                        script.setAttribute(a.name, a.value);
1798                      })
1799                      s.parentNode.replaceChild(script, s);
1800                    });
1801
1802                    try {
1803                      window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes);
1804                      window.luxuryPresence.contactForms.initialize({ selector: '#modals' });
1805                      window.luxuryPresence.validation.initialize({ selector: '#modals' });
1806                      window.luxuryPresence.oauth.initialize({
1807                        googleSignOnEnabled: true,
1808                        iframe: false });
1809                    } catch (e) {
1810                      console.log(e);
1811                    }
1812                    document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => {
1813                      closeModalBtn.addEventListener('click', function() {
1814                        window.lpUI.hideClosestModal(closeModalBtn);
1815                      });
1816                    });
1817                  }).catch((e) => console.log(e));
1818                }
1819            /* Initialize Luxury Presence SDK */
1820            try {
1821                window.luxuryPresence.config.setCompany("62dea509-9e98-4ea1-8332-c3f17e7eb5f7", {});
1822                window.luxuryPresence.config.setWebsite("4d649273-d03b-4e27-a6a8-89e21a8a5908", {
1823                    myhomeDashboardEnabled: true,
1824                    mlsEnabled: true,
1825                    hstValuationRedirectEnabled: true,
1826                    hvStepTwoCaptureEnabled: false
1827                });
1828                const url = new URL(window.location.href);
1829                const shareId = url.searchParams.get('shareId');
1830                window.luxuryPresence.config.setPage("74dd79b5-69a9-4e03-9509-da15134dd98e", {
1831                    sourceResource: "",
1832                    pageElementId: "",
1833                    pageQueryVariables: {},
1834                    shareId: "",
1835                });
1836                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
1837                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
1838                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
1839                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
1840                  window.luxuryPresence.config.setEventBus({
1841                    enabled: true,
1842                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
1843                    url: "https://p.luxurypresence.com",
1844                  });
1845                window.luxuryPresence.config.setTemplateId("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {});
1846                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
1847                window.luxuryPresence.buttons.initialize({});
1848                    window.luxuryPresence.consent.initialize({ provider: 'lp-consent' });
1849                window.luxuryPresence.contactForms.initialize({});
1850                window.luxuryPresence.validation.initialize({});
1851                window.luxuryPresence.expandSliders.initialize({});
1852                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
1853                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
1854                /* Optional: cached pages / older SDKs may not carry this controller */
1855                window.luxuryPresence.currencyConversion?.initialize();
1856            } catch (e) {
1857                console.log(e);
1858            }
1859
1860            /* Inject Section Specific Javascript */
1861                try {
1862(function init(sectionDomId) {
1863  const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content');
1864  if (disclaimerLabel) {
1865    const input = disclaimerLabel.querySelector('input');
1866    if (input) {
1867      input.setAttribute('id', `${sectionDomId}-termsAccepted`);
1868      input.value = 'true';
1869      const label = document.createElement('label');
1870      label.setAttribute('for', `${sectionDomId}-termsAccepted`);
1871      label.classList.add('lp-visually-hidden');
1872      label.textContent = 'Opt in/Disclaimer Consent:';
1873      disclaimerLabel.prepend(label);
1874    }
1875  }
1876  function setHttp(link) {
1877    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
1878      link = 'https://' + link;
1879    }
1880    return link;
1881  }
1882  const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link');
1883  socialLinks.forEach(linkElement => {
1884    const href = linkElement.getAttribute('href');
1885    if (href) {
1886      linkElement.setAttribute('href', setHttp(href));
1887    }
1888  });
1889  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
1890  if (redirectLink.length) {
1891    const rawHref = setHttp(redirectLink.attr('href'));
1892    let formEvent;
1893    if (rawHref) {
1894      formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset';
1895      $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () {
1896        redirectLink.attr('href', rawHref);
1897        redirectLink[0].click();
1898      });
1899    }
1900  }
1901})('modal-global-contact-us');
1902} catch(e) {
1903console.log(e);
1904}
1905                
1906                try {
1907(function init(sectionDomId) {
1908  const $section = $('#' + sectionDomId);
1909  const $hamburger = $section.find('.hamburger-component');
1910  function onSideMenuShow() {
1911    if (!$hamburger.hasClass('active')) {
1912      $hamburger.addClass('active');
1913    }
1914  }
1915  function onSideMenuHide() {
1916    $hamburger.removeClass('active');
1917  }
1918  const $window = $(window);
1919  $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow);
1920  $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide);
1921  const $subContainers = $section.find('.navigation__item.sub-nav-container');
1922  $subContainers.hover(function () {
1923    $(this).find('.sub-nav').addClass('visible');
1924  }, function () {
1925    $(this).find('.sub-nav').removeClass('visible');
1926  });
1927  $window.on('click.lpui-auto-clean', function () {
1928    $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown');
1929  });
1930  let fixedWidth = 0;
1931  const rightPad = 20;
1932  function fixSubsPosition() {
1933    const wWidth = window.innerWidth;
1934    if (innerWidth === fixedWidth) {
1935      return;
1936    }
1937    fixedWidth = wWidth;
1938    $subContainers.each(function () {
1939      const $sub = $(this).find('.sub-nav');
1940      $sub[0].style.right = '';
1941      const sRect = $sub[0].getBoundingClientRect();
1942      const sRight = sRect.left + sRect.width;
1943      if (sRight > wWidth - rightPad) {
1944        const parentRect = $sub[0].offsetParent.getBoundingClientRect();
1945        const parentRight = parentRect.left + parentRect.width;
1946        $sub[0].style.right = `${parentRight - wWidth + rightPad}px`;
1947      }
1948    });
1949  }
1950  var debouncer;
1951  $window.on('resize.lpui-auto-clean', function () {
1952    clearTimeout(debouncer);
1953    debouncer = setTimeout(fixSubsPosition, 500);
1954  });
1955  fixSubsPosition();
1956  if ($('.property-intro').length || $('.property-intro-2').length) {
1957    $('nav').addClass('dark-opening');
1958    $("#global-navbar").css({
1959      "background-color": "rgb(26, 26, 26)",
1960      "color": "rgb(255, 255, 255)"
1961    });
1962  }
1963  function initAutoTruncateMenu() {
1964    const $navbar = $section.find('.navbar');
1965    const $navList = $section.find('.navigation > ul');
1966    if (!$navbar.length || !$navList.length) {
1967      return;
1968    }
1969    const $logo = $section.find('.logo');
1970    const $buttonsWrapper = $section.find('.buttons-wrapper');
1971    const $allItems = $navList.children('.navigation__item');
1972    const $phoneItem = $allItems.filter(function () {
1973      return $(this).find('a[href^="tel:"]').length > 0;
1974    });
1975    const $menuItems = $allItems.not($phoneItem);
1976    if (!$menuItems.length) {
1977      return;
1978    }
1979    const buffer = 8;
1980    function measureFixedWidth() {
1981      let width = buffer;
1982      if ($logo.length) {
1983        width += $logo.outerWidth(true) || 0;
1984      }
1985      if ($buttonsWrapper.length) {
1986        width += $buttonsWrapper.outerWidth(true) || 0;
1987      }
1988      if ($phoneItem.length) {
1989        width += $phoneItem.outerWidth(true) || 0;
1990      }
1991      return width;
1992    }
1993    function truncateMenu() {
1994      if (!$navList.is(':visible')) {
1995        return;
1996      }
1997      $menuItems.css('display', '');
1998      const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth();
1999      let widthSoFar = 0;
2000      let overflowed = false;
2001      $menuItems.each(function () {
2002        const $item = $(this);
2003        if (overflowed) {
2004          $item.css('display', 'none');
2005          return;
2006        }
2007        widthSoFar += $item.outerWidth(true);
2008        if (widthSoFar > availableWidth) {
2009          $item.css('display', 'none');
2010          overflowed = true;
2011        }
2012      });
2013    }
2014    let truncateFrame;
2015    function scheduleTruncate() {
2016      if (truncateFrame) {
2017        return;
2018      }
2019      truncateFrame = window.requestAnimationFrame(function () {
2020        truncateFrame = null;
2021        truncateMenu();
2022      });
2023    }
2024    scheduleTruncate();
2025    if (window.ResizeObserver) {
2026      const resizeObserver = new ResizeObserver(scheduleTruncate);
2027      resizeObserver.observe($navbar[0]);
2028    } else {
2029      $(window).on('resize.lpui-auto-truncate', scheduleTruncate);
2030    }
2031    $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate);
2032    $(window).on('load.lpui-auto-truncate', scheduleTruncate);
2033    if (document.fonts && document.fonts.ready) {
2034      document.fonts.ready.then(scheduleTruncate);
2035    }
2036  }
2037  initAutoTruncateMenu();
2038})('global-navbar');
2039} catch(e) {
2040console.log(e);
2041}
2042                try {
2043(function init(sectionDomId, options) {
2044  var elementSelector = options.elementSelector || 'nav';
2045  var element = document.querySelector(elementSelector);
2046  var sections = document.querySelectorAll('body > section');
2047  var subNavContainers = element.querySelectorAll('.sub-nav');
2048  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
2049  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
2050  var fontColor = options.fontColor || '#fff';
2051  var fontColorScroll = options.fontColorScroll || '#000';
2052  var didScroll = false;
2053  var lastScrollTop = 0;
2054  var delta = 5;
2055
2056  // eslint-disable-next-line sonarjs/no-collapsible-if
2057  if (wow) {
2058    // Wowjs might not trigger for position fixed elements
2059    if (window.scrollY > 0) {
2060      element.querySelectorAll('.wow').forEach(el => wow.show(el));
2061    }
2062  }
2063  function adjustNavPinState() {
2064    // Remove 'visible' class from all subNavContainers
2065    for (let i = 0; i < subNavContainers.length; i++) {
2066      subNavContainers[i].classList.remove('visible');
2067    }
2068    if (window.scrollY > 0) {
2069      element.style.backgroundColor = backgroundColorScroll;
2070      element.style.color = fontColorScroll;
2071      element.classList.add('scroll');
2072    } else {
2073      element.style.backgroundColor = initialBackgroundColor;
2074      element.style.color = fontColor;
2075      element.classList.remove('scroll');
2076    }
2077  }
2078  adjustNavPinState();
2079  function onScroll() {
2080    didScroll = true;
2081  }
2082  window.addEventListener('scroll', onScroll);
2083
2084  // eslint-disable-next-line
2085  var debounceInterval = setInterval(() => {
2086    if (didScroll) {
2087      // eslint-disable-next-line
2088      hasScrolled();
2089      didScroll = false;
2090    }
2091  }, 250);
2092  function hasScrolled() {
2093    adjustNavPinState();
2094    // eslint-disable-next-line
2095    var navbarHeight = element.offsetHeight;
2096    // eslint-disable-next-line
2097    var st = window.scrollY;
2098
2099    // Make sure they scroll more than delta
2100    if (Math.abs(lastScrollTop - st) <= delta) {
2101      return;
2102    }
2103    if (st > lastScrollTop && st > navbarHeight) {
2104      // Scroll Down
2105      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
2106      document.documentElement.style.setProperty('--global-header-height', '0px');
2107
2108      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
2109      sections.forEach(section => {
2110        if (section.classList.contains('sticky')) {
2111          section.style.top = '0px';
2112        }
2113      });
2114    } else {
2115      // Scroll Up
2116      // eslint-disable-next-line
2117      if (st + window.innerHeight < document.documentElement.scrollHeight) {
2118        element.style.transform = `translateY(0) scaleY(1)`;
2119        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
2120        sections.forEach(section => {
2121          if (section.classList.contains('sticky')) {
2122            section.style.top = `${navbarHeight}px`;
2123          }
2124        });
2125      }
2126    }
2127    lastScrollTop = st;
2128  }
2129})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}"));
2130} catch(e) {
2131console.log(e);
2132}
2133                try {
2134(function init(sectionDomId) {
2135  var sidemenu = $('#' + sectionDomId);
2136  sidemenu.on('lpui-sidemenu-show.lpui-auto-clean', function () {
2137    window.lpUI.requestScrollLock(sectionDomId);
2138  });
2139  $(window).on('lpui-sidemenu-hide.lpui-auto-clean', function () {
2140    window.lpUI.releaseScrollLock(sectionDomId);
2141  });
2142  $(window).click(function (e) {
2143    let targetContactForm = $(e.target).closest('#modal-global-contact-us').length;
2144    let targetSideMenu = $(e.target).closest('.sidemenu').length;
2145    let targetContactItem = $(e.target).closest('[data-type="CONTACT_US"]').length;
2146    let targetHamburger = $(e.target).closest('.hamburger-component').length;
2147    if (!(targetContactForm || targetSideMenu || targetContactItem || targetHamburger)) {
2148      $('body').removeClass('locked');
2149      $('.hamburger').removeClass('active');
2150      $('.sidemenu').removeClass('visible');
2151      $('#modal-global-contact-us').removeClass('visible');
2152    }
2153  });
2154})('global-sidemenu');
2155} catch(e) {
2156console.log(e);
2157}
2158                
2159                try {
2160(function init(footerId) {
2161  var textContent = $(".text_content_wrap p").text().trim().length;
2162  const socialLinks = $(`#${footerId} .lp-socials__link`);
2163  if (textContent < 1) {
2164    $(".text_content_wrap").remove();
2165    $(".second_text_footer").css({
2166      'margin-bottom': 0
2167    });
2168  }
2169  if (socialLinks.length > 0) {
2170    socialLinks.attr('data-wow-offset', '10');
2171  }
2172  if ($(window).width() > 1280) {
2173    let footer = document.querySelector("#" + footerId);
2174    let copyrightElem = footer.querySelector(".copy_zone");
2175    if (copyrightElem) {
2176      copyrightElem.style.whiteSpace = "nowrap";
2177      let nowrapElemWidth = copyrightElem.clientWidth;
2178      copyrightElem.style.whiteSpace = "";
2179      let normalElemWidth = copyrightElem.clientWidth;
2180      if (nowrapElemWidth > normalElemWidth) {
2181        footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto");
2182      }
2183    }
2184  }
2185  const form = $("#" + footerId).find("form");
2186  const redirectLink = $('#' + footerId + ' .redirect-link');
2187  form.on("reset", function () {
2188    redirectPage(redirectLink);
2189  });
2190  function redirectPage(link) {
2191    if (link.length) {
2192      const rawHref = link.attr('href');
2193      link.attr('href', setHttp(rawHref));
2194      link[0].click();
2195    }
2196  }
2197  function setHttp(link) {
2198    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
2199      link = 'http://' + link;
2200    }
2201    return link;
2202  }
2203})('global-footer');
2204} catch(e) {
2205console.log(e);
2206}
2207                
2208                try {
2209(function init(sectionDomId) {
2210  var _section = $('#' + sectionDomId);
2211  var _footer = document.getElementById('global-footer');
2212  const redirectLink = _section.find('.js-redirect-link');
2213  function setHttp(link) {
2214    if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) {
2215      link = 'https://' + link;
2216    }
2217    return link;
2218  }
2219  function redirectPage(link) {
2220    if (link.length) {
2221      window.location.href = setHttp(link.attr('href'));
2222    }
2223  }
2224  const emailInput = _section.find('.js-email-input');
2225  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
2226  emailInput.on('input', function () {
2227    if (emailRegex.test(this.value)) {
2228      this.setCustomValidity('');
2229    } else {
2230      this.setCustomValidity('Please enter a valid email address.');
2231    }
2232    this.reportValidity();
2233  });
2234  _section.find('input[name="name"]').on("keyup", function () {
2235    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
2236      this.setCustomValidity("Please input your first name and last name.");
2237    } else {
2238      this.setCustomValidity("");
2239    }
2240  });
2241  _section.find('form').on("reset", function () {
2242    $(this).addClass("show-success");
2243    redirectPage(redirectLink);
2244  });
2245  $(window).scroll(function () {
2246    if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible');
2247  });
2248  _section.find('.close-btn, .connect-btn').click(function () {
2249    _section.find('.pop-up').toggle();
2250    _section.find('.btn-holder').toggle();
2251  });
2252  if (!_footer) return;
2253  const observer = new IntersectionObserver(entries => {
2254    entries.forEach(entry => {
2255      if (entry.isIntersecting) _section.hide();else _section.show();
2256    });
2257  }, {
2258    threshold: 0.1
2259  });
2260  observer.observe(_footer);
2261  function selectToDropdown(selectItem) {
2262    let customDropdown = `
2263        <div class="custom-select" role="presentation">
2264        <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button>
2265        <div class="custom-select-menu" style="display: none;max-height: none;">
2266        <div class="custom-select-content">
2267        </div>
2268        </div>
2269        </div>`;
2270    $(customDropdown).insertAfter(selectItem);
2271    let $dropdown = $($(selectItem).next());
2272    let $dropdownToggle = $dropdown.find(".custom-select-toggle");
2273    let $dropdownMenu = $dropdown.find(".custom-select-menu");
2274    let $dropdownContent = $dropdown.find(".custom-select-content");
2275    $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select");
2276    $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom");
2277    $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id"));
2278    appendOptionButtons(selectItem, $dropdownContent);
2279    $(selectItem).removeClass().addClass("sr-only");
2280    var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text();
2281    $dropdownToggle.html(toggleText);
2282    $dropdown.on("click", ".custom-select-item", function (e) {
2283      if ($(this).hasClass("is-disabled")) return;
2284      let elementNumber = $(this).index();
2285      let $originalSelect = $(this).closest(".custom-select").siblings("select");
2286      let $linkedOption = $originalSelect.find("option").eq(elementNumber);
2287      if (!$linkedOption.prop("selected")) {
2288        $linkedOption.prop("selected", true);
2289        $originalSelect.change();
2290        $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected");
2291        $dropdownToggle.html($(this).html());
2292        closeSelectMenu($(this).closest(".custom-select-menu"));
2293      }
2294      $dropdownToggle.removeClass("is-placeholder");
2295    });
2296    function convertOptionToButton(option) {
2297      var optionText = $(option).text();
2298      var optionValue = $(option).attr("value") || $(option).text();
2299      var optionIsDisabled = $(option).prop("disabled");
2300      var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`;
2301      return outputButton;
2302    }
2303    function appendOptionButtons(selectItem, appendTarget) {
2304      $(selectItem).find("option").each(function () {
2305        let currentButton = convertOptionToButton(this);
2306        $(appendTarget).append(currentButton);
2307      });
2308    }
2309    function showSelectMenu(selectMenu) {
2310      var customSelect = $(selectMenu).closest(".custom-select")[0];
2311      $(customSelect).addClass("open");
2312      $(selectMenu).slideDown();
2313    }
2314    function closeSelectMenu(selectMenu) {
2315      var customSelect = $(selectMenu).closest(".custom-select")[0];
2316      $(customSelect).removeClass("open");
2317      $(selectMenu).slideUp();
2318    }
2319    $dropdown.on("click", ".custom-select-toggle", function (e) {
2320      var $customSelect = $(this).closest(".custom-select");
2321      var selectMenu = $customSelect.find(".custom-select-menu")[0];
2322      if ($customSelect.hasClass("open")) {
2323        closeSelectMenu(selectMenu);
2324      } else {
2325        showSelectMenu(selectMenu);
2326      }
2327    });
2328    $(document).on("click", function (e) {
2329      if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) {
2330        $(".custom-select.open").each(function () {
2331          var selectMenu = $(this).find(".custom-select-menu")[0];
2332          closeSelectMenu(selectMenu);
2333        });
2334      }
2335    });
2336  }
2337  $(".pop-up select[name='interest']").each(function () {
2338    selectToDropdown(this);
2339  });
2340})('global-mobile-contact');
2341} catch(e) {
2342console.log(e);
2343}
2344                
2345                try {
2346(function init(sectionDomId, options) {
2347  let section = null;
2348  switch (sectionDomId) {
2349    case 'NAVBAR':
2350      section = document.querySelector('body > nav, #global-navbar');
2351      break;
2352    case 'FOOTER':
2353      section = document.querySelector('body > footer, #global-footer');
2354      break;
2355    case 'SIDEMENU':
2356      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
2357      break;
2358    case 'CONTACT':
2359      section = document.querySelector('#modal-global-contact-us');
2360      break;
2361    case 'MOBILE_CONTACT':
2362      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
2363      break;
2364    case 'SUBSCRIBE':
2365      // Subscribe Not Implemented
2366      section = null;
2367      break;
2368    case 'ACCOUNT':
2369      // Account Not Implemented
2370      section = null;
2371      break;
2372    default:
2373      section = document.querySelector('#' + sectionDomId);
2374  }
2375  if (!section) {
2376    return;
2377  }
2378
2379  // Where content / items are rendered
2380  const dataContainer = section.querySelector('.data-container');
2381  if (!dataContainer) {
2382    // no place to render items = no need to query server or do anything else
2383    return;
2384  }
2385  let variables = options.variables || {};
2386
2387  // Some variables in options may not have been injected - remove
2388  Object.keys(variables).forEach(function (variableName) {
2389    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
2390      delete variables[variableName];
2391    }
2392  });
2393
2394  // Merge page query variables
2395  if (options.usePageResource) {
2396    variables = {
2397      ...variables,
2398      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
2399    };
2400  }
2401
2402  // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers
2403  // resolve the flag — fetchData reads the section stamp, aux fetches read
2404  // their own resource's stamp (auxUsesRouter).
2405  function apiUrl(useRouter) {
2406    return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl);
2407  }
2408
2409  // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's
2410  // (options.routerApiAux is stamped per aux resource server-side).
2411  function auxUsesRouter(resource) {
2412    return !!(options.routerApiAux && options.routerApiAux[resource]);
2413  }
2414
2415  // Pagination Executes on a Numbered Pagination Container
2416  //  Or via a load more button
2417  let mode = 'BUTTONLESS_PAGINATION';
2418  const container = section.querySelector('.pagination-container');
2419  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
2420  if (container) {
2421    mode = 'NUMBERED_PAGINATION';
2422  }
2423  if (loadMoreButton) {
2424    mode = 'LOAD_MORE_BUTTON';
2425  }
2426  let searchContainer = section.querySelector('.search-container');
2427  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
2428  const eventPrefix = '__pagination-';
2429  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
2430    param: 'neighborhoodId',
2431    urlKey: 'neighborhood'
2432  }, {
2433    param: 'search',
2434    urlKey: 'search'
2435  }, {
2436    param: 'salesPriceGTE',
2437    urlKey: 'pricemin',
2438    formKey: 'priceMin',
2439    type: 'int'
2440  }, {
2441    param: 'salesPriceLTE',
2442    urlKey: 'pricemax',
2443    formKey: 'priceMax',
2444    type: 'int'
2445  }, {
2446    param: 'livingSpaceSizeGTE',
2447    urlKey: 'areamin',
2448    formKey: 'areaMin',
2449    type: 'int'
2450  }, {
2451    param: 'livingSpaceSizeLTE',
2452    urlKey: 'areamax',
2453    formKey: 'areaMax',
2454    type: 'int'
2455  }] : []);
2456
2457  // Total entries - initialized in first render
2458  let totalNumber = 0;
2459  const DefaultSearchParams = {
2460    page: 1
2461  };
2462  searchFormParams.forEach(function (formParam) {
2463    DefaultSearchParams[formParam.formKey || formParam.param] = null;
2464  });
2465  let searchParams = {
2466    ...DefaultSearchParams
2467  };
2468  const offset = options.variables?.offset || 0;
2469  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
2470  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;
2471
2472  // entries of per page
2473  // when query variables for a given section would't be filled options.pageSize can store
2474  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
2475  let pageSize = parseInt(options.pageSize, 10) || 9;
2476
2477  // Adding mobile pageRange support
2478  var NARROW_BREAKPOINT = 600;
2479  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
2480  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);
2481
2482  // Page range (pages on both sides of the current page)
2483  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
2484  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
2485  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;
2486
2487  // Whether to display the 'Previous' button
2488  var showPrevious = true;
2489
2490  // Whether to display the 'Next' button
2491  var showNext = true;
2492
2493  // Whether to display the page buttons
2494  var showPageNumbers = true;
2495
2496  // 'Previous' text
2497  var prevText = options.prevText || '&laquo;';
2498
2499  // 'Next' text
2500  var nextText = options.nextText || '&raquo;';
2501
2502  // Ellipsis text
2503  var ellipsisText = '&hellip;';
2504  var classPrefix = 'paginationjs';
2505
2506  // Default active class
2507  var activeClassName = 'active';
2508
2509  // Default disable class
2510  var disableClassName = 'disabled';
2511
2512  // Pagination element's position in the container
2513  var position = 'bottom';
2514
2515  // Whether to trigger pagination at initialization
2516  var triggerPagingOnInit = !options.skipInitialLoad;
2517  var showFirstOnEllipsisShow = true;
2518  var showLastOnEllipsisShow = true;
2519
2520  // Instantiated in init()
2521  var el = null;
2522
2523  // Controls scrollTop logic
2524  var firstRender = true;
2525  var renderBySearch = false;
2526  var disabled = false;
2527
2528  // Pagination script class selector
2529  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';
2530
2531  // Property Specific Image Override if No Image
2532  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;
2533
2534  // Construct template
2535  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
2536  var template = Handlebars.compile(templateHTML);
2537
2538  // Initialize
2539  init();
2540  function init() {
2541    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
2542
2543    // Append/prepend pagination element to the pagination container
2544    if (mode === 'NUMBERED_PAGINATION') {
2545      el = document.createElement('div');
2546      el.className = 'paginationjs';
2547      container[position === 'bottom' ? 'append' : 'prepend'](el);
2548    }
2549    if (searchContainer) {
2550      initSearchContainer({
2551        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
2552        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
2553        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
2554        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
2555      }, function () {
2556        syncSearchFormState(searchParams);
2557      });
2558    }
2559
2560    // Bind events
2561    observer();
2562  }
2563  function syncSearchFormState(params) {
2564    searchContainer.dispatchEvent(new CustomEvent('sync', {
2565      detail: params
2566    }));
2567  }
2568  function initSearchContainer(options, done) {
2569    var promises = [];
2570    if (options.fetchNeighborhoods) {
2571      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
2572        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
2573          detail: {
2574            data: neighborhoods.map(function (item) {
2575              return {
2576                value: item.id,
2577                label: item.name
2578              };
2579            })
2580          }
2581        }));
2582      }));
2583    }
2584    if (options.fetchPostCategories) {
2585      promises.push(fetchPostCategories(function (categories) {
2586        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
2587          detail: {
2588            data: categories
2589          }
2590        }));
2591      }));
2592    }
2593    if (options.fetchOffices) {
2594      promises.push(fetchOffices(function (offices) {
2595        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
2596          detail: {
2597            data: offices
2598          }
2599        }));
2600      }));
2601    }
2602    if (options.fetchRentalRates) {
2603      promises.push(fetchAllRentalRates(function (rentalRates) {
2604        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
2605          detail: {
2606            data: rentalRates
2607          }
2608        }));
2609      }));
2610    }
2611    if (promises.length > 0) {
2612      Promise.all(promises).then(function () {
2613        done();
2614      });
2615    } else {
2616      // element's custom code is not executed yet, so we're scheduling callback to after element's code
2617      setTimeout(done);
2618    }
2619  }
2620  function fetchAllNeighborhoods(done) {
2621    var useRouter = auxUsesRouter('neighborhoods');
2622    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same
2623    // args on both APIs (the federated neighborhoods field accepts
2624    // withProperties/withBlogPosts); only the selection set differs.
2625    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') + '}}';
2626    var payload = {};
2627    payload.offset = 0;
2628    payload.limit = 100;
2629    payload.companyId = variables.companyId;
2630    if (options.resource === 'properties') {
2631      payload.withProperties = {
2632        active: true
2633      };
2634      ['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) {
2635        if (variables[field] !== undefined && variables[field] !== null) {
2636          payload.withProperties[field] = variables[field];
2637        }
2638      });
2639    }
2640    if (options.resource === 'posts') {
2641      payload.withBlogPosts = {
2642        active: true
2643      };
2644      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
2645        if (variables[field] !== undefined && variables[field] !== null) {
2646          payload.withBlogPosts[field] = variables[field];
2647        }
2648      });
2649    }
2650
2651    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2652    if (useRouter) {
2653      payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload);
2654    }
2655    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2656      query: gqlQuery,
2657      variables: payload
2658    }).then(function (res) {
2659      var value = res.body.data && res.body.data.neighborhoods || {};
2660      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2661      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2662      done(items, items.length);
2663    });
2664  }
2665  function fetchPostCategories(done) {
2666    var featured = options.resource === 'posts' && !!variables.featured;
2667    var useRouter = auxUsesRouter('postCategories');
2668    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
2669    // selection set differs ({ items {...} } on the router).
2670    var selection = 'id, name, publishedCount, featuredPublishedCount';
2671    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) + '}}';
2672    var payload = {};
2673    payload.offset = 0;
2674    payload.limit = 100;
2675    payload.companyId = variables.companyId;
2676    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2677      query: gqlQuery,
2678      variables: payload
2679    }).then(function (res) {
2680      var value = res.body.data && res.body.data.postCategories || {};
2681      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2682      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2683      done(items.map(function (item) {
2684        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
2685        return item;
2686      }), items.length);
2687    });
2688  }
2689  function fetchOffices(done) {
2690    var useRouter = auxUsesRouter('offices');
2691    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
2692    // selection set differs ({ items {...} } on the router).
2693    var selection = 'id, name, tags';
2694    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two
2695    // APIs differ in more than the items wrapper: federated offices takes
2696    // companyId: ID! (legacy gateway: String), so each branch builds its whole doc.
2697    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 + '}}';
2698    var payload = {
2699      offset: 0,
2700      limit: 100,
2701      companyId: variables.companyId
2702    };
2703
2704    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2705    if (useRouter) {
2706      payload = window.luxuryPresence.routerApi.transformVariables('office
2706s', payload);
2707    }
2708    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2709      query: gqlQuery,
2710      variables: payload
2711    }).then(function (res) {
2712      var value = res.body.data && res.body.data.offices || {};
2713      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2714      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2715      done(items, items.length);
2716    });
2717  }
2718
2719  // ROUTER-CLEANUP: no rentalRates field on the federated router — legacy only.
2720  function fetchAllRentalRates(done) {
2721    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
2722    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
2723    var payload = {
2724      offset: 0,
2725      limit: 100,
2726      companyId: variables.companyId
2727    };
2728    superagent.post(url + '/graphql').withCredentials().send({
2729      query: gqlQuery,
2730      variables: payload
2731    }).then(function (res) {
2732      var items = res.body.data && res.body.data.rentalRates || [];
2733      done(items, items.length);
2734    }).catch(function (err) {
2735      console.error('Error fetching rental rates:', err);
2736      done([], 0);
2737    });
2738  }
2739  function fetchData(params, done) {
2740    var resource = options.resource;
2741    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
2742    var payload = {};
2743    try {
2744      payload = JSON.parse(JSON.stringify(variables));
2745    } catch (e) {
2746      Object.keys(variables).forEach(function (variableName) {
2747        payload[variableName] = variables[variableName];
2748      });
2749    }
2750    payload.offset = (params.page - 1) * pageSize + offset;
2751    payload.limit = pageSize;
2752    payload.companyId = options.companyId;
2753    searchFormParams.forEach(function (formParam) {
2754      var val = params[formParam.formKey || formParam.param];
2755      if (val !== null && val !== undefined) {
2756        objSet(payload, formParam.param, val);
2757      }
2758    });
2759
2760    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2761    if (options.useRouterApi) {
2762      payload = window.luxuryPresence.routerApi.transformVariables(resource, payload);
2763    }
2764
2765    // TODO: Disabled loading due to jarring effect
2766    // dataContainer.html('Loading...');
2767    superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({
2768      query: gqlQuery,
2769      variables: payload
2770    }).then(function (res) {
2771      if (res.body.errors) {
2772        done(res.body.errors);
2773        return;
2774      }
2775      var data = res.body.data || {};
2776      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2777      var resources;
2778      var resourceCount;
2779      if (options.useRouterApi) {
2780        var page = window.luxuryPresence.routerApi.transformPage(data[resource]);
2781        resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items);
2782        resourceCount = page.count;
2783      } else {
2784        resources = data[resource] || [];
2785        resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
2786      }
2787      const finish = function (items) {
2788        if (resource === 'properties' && propertyPlaceholderImage?.id) {
2789          items = items.map(item => {
2790            if (item.media?.length === 0) {
2791              return Object.assign(item, {
2792                media: [propertyPlaceholderImage]
2793              });
2794            }
2795            return item;
2796          });
2797        }
2798        done(null, items, resourceCount);
2799      };
2800
2801      // ROUTER-CLEANUP: client half of PLAT-4073 — resolve the requested
2802      // disclaimers before rendering; older SDKs skip (keys stay unset).
2803      if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') {
2804        window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish);
2805        return;
2806      }
2807      finish(resources);
2808    });
2809  }
2810  function getTotalPage() {
2811    return Math.ceil(totalNumber / pageSize);
2812  }
2813  function renderPaginationList() {
2814    var totalPages = getTotalPage();
2815    var rangeStart = searchParams.page - pageRange;
2816    var rangeEnd = searchParams.page + pageRange;
2817    if (rangeEnd > totalPages) {
2818      rangeEnd = totalPages;
2819      rangeStart = totalPages - pageRange * 2;
2820      rangeStart = rangeStart < 1 ? 1 : rangeStart;
2821    }
2822    if (rangeStart <= 1) {
2823      rangeStart = 1;
2824      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
2825    }
2826
2827    // Making sure that 1 more page button is shown in edge positions
2828    if (pageRange === 0) {
2829      if (searchParams.page === totalPages) {
2830        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
2831      }
2832      if (searchParams.page === 1) {
2833        rangeEnd = Math.min(2, totalPages);
2834      }
2835    }
2836
2837    // Render pagination list
2838    if (mode === 'NUMBERED_PAGINATION') {
2839      el.innerHTML = generateHTML({
2840        currentPage: searchParams.page,
2841        pageRange: pageRange,
2842        rangeStart: rangeStart,
2843        rangeEnd: rangeEnd
2844      });
2845      if (totalPages < 2 && hidePaginationOnFirstPage) {
2846        container.style.display = 'none';
2847      } else {
2848        container.style.display = '';
2849      }
2850    } else if (mode === 'LOAD_MORE_BUTTON') {
2851      if (searchParams.page >= totalPages) {
2852        loadMoreButton.style.display = 'none';
2853      } else {
2854        loadMoreButton.style.display = '';
2855      }
2856    }
2857  }
2858  function render(data) {
2859    renderPaginationList();
2860
2861    // Render new content with handlebars
2862    var html = '';
2863    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
2864      // If using load more, append search results to existing results
2865      html = dataContainer.innerHTML;
2866    }
2867    for (var i = 0; i < data.length; i++) {
2868      var itemData = recursivelyParse(data[i]);
2869      itemData.sectionIndex = options.sectionIndex;
2870      itemData.renderOptions = options.renderOptions;
2871      html += template(itemData);
2872    }
2873    dataContainer.innerHTML = html;
2874
2875    // Scroll Top
2876    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
2877      // Only animate to the top if we replace dataContainer (numbered pagination)
2878      setTimeout(() => {
2879        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
2880        window.scrollTo({
2881          top: scrollTargetOffsetTop,
2882          behavior: 'smooth'
2883        });
2884      }, 250);
2885    }
2886    return true;
2887  }
2888  function generateHTML(args) {
2889    const totalPages = getTotalPage();
2890    const {
2891      rangeStart,
2892      rangeEnd
2893    } = args;
2894    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
2895      ...searchParams,
2896      page
2897    });
2898    let html = '';
2899    if (showPrevious || showPageNumbers || showNext) {
2900      html += '<div class="paginationjs-pages"><ul>';
2901
2902      // Previous button
2903      if (showPrevious) {
2904        if (searchParams.page <= 1) {
2905          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
2906        } else {
2907          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>`;
2908        }
2909      }
2910
2911      // Pages
2912      if (showPageNumbers) {
2913        if (rangeStart <= 3) {
2914          for (let i = 1; i < rangeStart; i++) {
2915            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>`;
2916          }
2917        } else {
2918          if (showFirstOnEllipsisShow) {
2919            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
2920          }
2921          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
2922        }
2923        for (let i = rangeStart; i <= rangeEnd; i++) {
2924          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>`;
2925        }
2926        if (rangeEnd < totalPages - 2) {
2927          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
2928          if (showLastOnEllipsisShow) {
2929            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
2930          }
2931        } else {
2932          for (let i = rangeEnd + 1; i <= totalPages; i++) {
2933            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
2934          }
2935        }
2936      }
2937
2938      // Next button
2939      if (showNext) {
2940        if (searchParams.page >= totalPages) {
2941          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
2942        } else {
2943          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>`;
2944        }
2945      }
2946      html += '</ul></div>';
2947    }
2948    return html;
2949  }
2950  function go(newSearchParams, callback, restorationVisit) {
2951    if (disabled) return;
2952    var goToPageNumber = newSearchParams.page;
2953
2954    // Page number is out of bounds
2955    if (!goToPageNumber || goToPageNumber < 1) return;
2956    var totalPage = getTotalPage();
2957
2958    // Page number is out of bounds
2959    if (!restorationVisit && totalNumber > 0) {
2960      if (goToPageNumber > totalPage) return;
2961    }
2962    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
2963      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
2964        ...newSearchParams,
2965        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
2966      });
2967      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
2968        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
2969          queryString: true
2970        }));
2971      }
2972    }
2973
2974    // Fetch and update page
2975    fetchData(newSearchParams, renderWithData);
2976    disabled = true;
2977    function renderWithData(err, data, count) {
2978      if (err) {
2979        dataContainer.dispatchEvent(new Event('error'));
2980      } else {
2981        searchParams = {
2982          ...newSearchParams
2983        };
2984        totalNumber = count - offset;
2985        if (data.length === 0) {
2986          dataContainer.dispatchEvent(new Event('no-data'));
2987        } else {
2988          dataContainer.dispatchEvent(new Event('data'));
2989        }
2990        render(data);
2991        firstRender = false;
2992      }
2993      disabled = false;
2994      renderBySearch = false;
2995    }
2996  }
2997  function areQueryParamsEqual(first, second) {
2998    var differ = Object.keys(first).find(function (key) {
2999      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
3000    });
3001    if (differ) {
3002      return false;
3003    }
3004    differ = Object.keys(second).find(function (key) {
3005      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
3006    });
3007    return !differ;
3008  }
3009  function next(callback) {
3010    go({
3011      ...searchParams,
3012      page: searchParams.page + 1
3013    }, callback);
3014  }
3015  function previous(callback) {
3016    go({
3017      ...searchParams,
3018      page: searchParams.page - 1
3019    }, callback);
3020  }
3021  function refresh(callback) {
3022    go(searchParams, callback);
3023  }
3024  function update(params, callback) {
3025    renderBySearch = true;
3026    go(params, callback);
3027  }
3028  function observer() {
3029    if (searchContainer) {
3030      searchContainer.addEventListener('search', function (event, newSearchParams) {
3031        newSearchParams = event.detail || newSearchParams;
3032        update({
3033          ...searchParams,
3034          ...newSearchParams,
3035          page: 1
3036        });
3037      });
3038      searchContainer.addEventListener('clear-search', function () {
3039        const defaultSearchParams = {
3040          ...DefaultSearchParams
3041        };
3042        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
3043          ...defaultSearchParams,
3044          page: null
3045        }, {
3046          ...searchParams,
3047          page: null
3048        });
3049
3050        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
3051        // when search form have default state
3052        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
3053          return;
3054        }
3055
3056        // if someone initially go to some page and click 'Clear' on search from
3057        // we should't navigate to first page. We should preserve page value
3058        if (isCurrentSearchFormStateDefault) {
3059          defaultSearchParams.page = searchParams.page;
3060        }
3061        syncSearchFormState(defaultSearchParams);
3062        update(defaultSearchParams);
3063      });
3064    }
3065    if (mode === 'LOAD_MORE_BUTTON') {
3066      loadMoreButton.addEventListener('click', function (event) {
3067        go({
3068          ...searchParams,
3069          page: searchParams.page + 1
3070        });
3071        return false;
3072      });
3073    }
3074    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
3075      // Do initial render
3076      go(Object.assign({}, searchParams, {
3077        page: 1
3078      }));
3079      return;
3080    }
3081    if (mode === 'NUMBERED_PAGINATION') {
3082      // Go to specified page number
3083      container.addEventListener(eventPrefix + 'go', function (event) {
3084        let {
3085          pageNumber,
3086          done
3087        } = event.detail || {};
3088        pageNumber = parseInt(pageNumber, 10);
3089        if (!pageNumber) {
3090          return;
3091        }
3092        go({
3093          ...searchParams,
3094          page: pageNumber
3095        }, done);
3096      });
3097
3098      // Page number button click
3099      el.addEventListener('click', function (event) {
3100        let clickTarget = event.target;
3101        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
3102        let pageNumber = current?.getAttribute('data-num');
3103        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
3104          return;
3105        } else {
3106          go({
3107            ...searchParams,
3108            page: parseInt(pageNumber, 10)
3109          });
3110        }
3111        event.preventDefault();
3112      });
3113
3114      // Whether to load the default page
3115      var defaultPageNumber = searchParams.page;
3116      if (triggerPagingOnInit) {
3117        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
3118          detail: {
3119            pageNumber: defaultPageNumber
3120          }
3121        }));
3122      }
3123    }
3124    window.addEventListener('popstate', function (event) {
3125      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
3126      if (!areQueryParamsEqual(newParams, searchParams)) {
3127        go(newParams, null, true);
3128        if (searchContainer) {
3129          syncSearchFormState(newParams);
3130        }
3131      }
3132    });
3133  }
3134  function replaceVariables(template, variables) {
3135    var formattedString;
3136    for (var key in variables) {
3137      var value = variables[key];
3138      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
3139      formattedString = (formattedString || template).replace(regexp, value);
3140    }
3141    return formattedString;
3142  }
3143  function isTextEditorValue(obj) {
3144    return 'raw' in obj || 'gjs' in obj;
3145  }
3146  function getTextEditorValue(obj) {
3147    if (!obj.html) {
3148      return '';
3149    }
3150    var data = obj.html;
3151    var css = (obj.raw || obj.gjs || {}).css;
3152    if (css) {
3153      data = data + '<style>' + css + '</style>';
3154    }
3155    return data;
3156  }
3157
3158  /**
3159   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
3160   * strips out raw proprties and returns only HTML if it exists.
3161   * @param {Object} resources a collection retrieved from the database
3162   * @return {Object} the newly modified object.
3163   */
3164  function recursivelyParse(resources) {
3165    forEach(resources, function (value, key) {
3166      if (!value) {
3167        return;
3168      }
3169      if (value instanceof Object) {
3170        if (isTextEditorValue(value)) {
3171          resources[key] = getTextEditorValue(value);
3172          return;
3173        } else {
3174          return recursivelyParse(value);
3175        }
3176      }
3177      try {
3178        var parsedData = JSON.parse(value);
3179        if (isTextEditorValue(parsedData)) {
3180          resources[key] = getTextEditorValue(parsedData);
3181        }
3182      } catch (e) {
3183        // do nothing if we failed to parse value as JSON
3184      }
3185    });
3186    return resources;
3187  }
3188  function forEach(collection, iteratee) {
3189    var func = Array.isArray(collection) ? arrayEach : baseFor;
3190    return func(collection, iteratee);
3191  }
3192  function baseFor(object, iteratee) {
3193    if (!object) {
3194      return;
3195    }
3196    var iterable = Object(object);
3197    var props = Object.keys(object);
3198    var length = props.length;
3199    var index = -1;
3200    while (length--) {
3201      var key = props[++index];
3202      if (iteratee(iterable[key], key, iterable) === false) {
3203        break;
3204      }
3205    }
3206    return object;
3207  }
3208  function objSet(obj, path, value) {
3209    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
3210    pathArray.reduce((acc, key, i) => {
3211      if (acc[key] === undefined) acc[key] = {};
3212      if (i === pathArray.length - 1) acc[key] = value;
3213      return acc[key];
3214    }, obj);
3215  }
3216  function arrayEach(array, iteratee) {
3217    var index = -1;
3218    var length = array.length;
3219    while (++index < length) {
3220      if (iteratee(array[index], index, array) === false) {
3221        break;
3222      }
3223    }
3224    return array;
3225  }
3226  function selectPageRangeMode(e) {
3227    pageRange = e.matches ? mobilePageRange : desktopPageRange;
3228    renderPaginationList();
3229  }
3230  paginationMql.addEventListener('change', selectPageRangeMode);
3231})('section-247e796e-9beb-412d-bb50-69569f8459de', JSON.parse("{\"pageSize\":\"6\",\"resource\":\"posts\",\"pageRange\":0,\"variables\":{\"limit\":6,\"order\":\"publishedAt\",\"offset\":0,\"sortDir\":\"DESC\",\"companyId\":\"62dea509-9e98-4ea1-8332-c3f17e7eb5f7\",\"categoryId\":\"{{pageElement.categoryId}}\"},\"searchFormParams\":[{\"param\":\"search\",\"urlKey\":\"search\"},{\"param\":\"categoryIds\",\"urlKey\":\"category\"}],\"skipScrollOnSearch\":true,\"scrollTargetSelector\":\".blog-list__container\",\"hidePaginationOnFirstPage\":true,\"companyId\":\"62dea509-9e98-4ea1-8332-c3f17e7eb5f7\",\"usePageResource\":false,\"sectionIndex\":2,\"useRouterApi\":true,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
3232} catch(e) {
3233console.log(e);
3234}
3235                try {
3236(function init(sectionDomId) {
3237  const section = $(`#${sectionDomId}`);
3238  const searchInput = section.find('.js-search-input');
3239  const searchContainer = section.find('.search-container');
3240  const dataContainer = section.find('.data-container');
3241  const categoryFilter = section.find('.js-category-filter');
3242  const btnCategory = section.find('.js-btn-category');
3243  let activeFilters = null;
3244  if (searchContainer.length === 0) return;
3245  const {
3246    debounce
3247  } = window.luxuryPresence;
3248  const emptyResultsText = section.find('.empty-results');
3249  searchInput.on('input', debounce(doSearch, 700));
3250  dataContainer.on('data', function () {
3251    emptyResultsText.removeClass("visible");
3252  });
3253  dataContainer.on('no-data', function () {
3254    emptyResultsText.addClass("visible");
3255  });
3256  btnCategory.click(function () {
3257    $(this).toggleClass('active');
3258    categoryFilter.slideToggle();
3259  });
3260  function doSearch() {
3261    let values = categoryFilter.find('.active').map(function () {
3262      return $(this).data('value');
3263    }).get();
3264    const params = {
3265      categoryIds: values || null,
3266      search: searchInput.val().trim() || null
3267    };
3268    searchContainer[0]?.dispatchEvent(new CustomEvent('search', {
3269      detail: params
3270    }));
3271  }
3272  categoryFilter.on('click', '.category-cell', function () {
3273    if ($(this).hasClass('js-category-all')) {
3274      section.find('.category-cell').removeClass('active');
3275      $(this).addClass('active');
3276    } else {
3277      $(this).toggleClass('active');
3278      section.find('.js-category-all').removeClass('active');
3279    }
3280    doSearch();
3281  });
3282  searchContainer.on('post-categories-data', function (ev, category) {
3283    category = ev.detail || category;
3284    categoryFilter.find('.js-category-cell').remove();
3285    categoryFilter.find('.active').removeClass('active');
3286    let btnClass = categoryFilter.data('button-style');
3287    if (Array.isArray(category.data) && category.data.length) {
3288      btnCategory.css('display', 'inline-flex');
3289      categoryFilter.append(category.data.map(item => `<button id="filter-${item.id}"  data-value="${item.id}" class="category-cell js-category-cell lp-btn ${btnClass}">${item.name}</button>`).join('\n'));
3290    } else {
3291      btnCategory.remove();
3292    }
3293    setActiveFilters();
3294  });
3295  searchContainer.on('sync', function (event, params) {
3296    params = event.detail || params;
3297    activeFilters = params;
3298    setActiveFilters();
3299  });
3300  function setActiveFilters() {
3301    categoryFilter.find('.active').removeClass('active');
3302    if (activeFilters.categoryIds !== null && activeFilters.categoryIds.length > 0) {
3303      activeFilters.categoryIds.forEach(function (categoryId) {
3304        categoryFilter.find(`#filter-${categoryId}`).addClass('active');
3305      });
3306    } else {
3307      categoryFilter.find('.js-category-all').addClass('active');
3308    }
3309  }
3310})('section-247e796e-9beb-412d-bb50-69569f8459de', JSON.parse("{\"resource\":\"posts\",\"useRouterApi\":true,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true},\"companyId\":\"62dea509-9e98-4ea1-8332-c3f17e7eb5f7\",\"usePageResource\":false,\"sectionIndex\":2}"));
3311} catch(e) {
3312console.log(e);
3313}
3314                try {
3315(function init(sectionDomId) {
3316  const form = $("#" + sectionDomId).find("form");
3317  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
3318  form.on("reset", function () {
3319    redirectPage(redirectLink);
3320  });
3321  function redirectPage(link) {
3322    if (link.length) {
3323      const rawHref = link.attr('href');
3324      link.attr('href', setHttp(rawHref));
3325      link[0].click();
3326    }
3327  }
3328  function setHttp(link) {
3329    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
3330      link = 'http://' + link;
3331    }
3332    return link;
3333  }
3334})('section-552d56a9-1f0c-4092-837c-0f3b8aa080b6', 'undefined');
3335} catch(e) {
3336console.log(e);
3337}
3338                try {
3339(function init(sectionDomId) {
3340  const $section = $('#' + sectionDomId);
3341  if ($section.find('.parallax').length) $section.addClass('parallax-enabled');
3342  if ($section.find('.video-wrapper').length) $section.addClass('video');
3343})('section-20ee9b76-e31b-4654-a4fa-449d2c85d8b2', 'undefined');
3344} catch(e) {
3345console.log(e);
3346}
3347                try {
3348(function init(sectionDomId, options) {
3349  let section = null;
3350  switch (sectionDomId) {
3351    case 'NAVBAR':
3352      section = document.querySelector('body > nav, #global-navbar');
3353      break;
3354    case 'FOOTER':
3355      section = document.querySelector('body > footer, #global-footer');
3356      break;
3357    case 'SIDEMENU':
3358      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
3359      break;
3360    case 'CONTACT':
3361      section = document.querySelector('#modal-global-contact-us');
3362      break;
3363    case 'MOBILE_CONTACT':
3364      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
3365      break;
3366    case 'SUBSCRIBE':
3367      // Subscribe Not Implemented
3368      section = null;
3369      break;
3370    case 'ACCOUNT':
3371      // Account Not Implemented
3372      section = null;
3373      break;
3374    default:
3375      section = document.querySelector('#' + sectionDomId);
3376  }
3377  if (!section) {
3378    return;
3379  }
3380  var url = window.luxuryPresence.defaults.routerUrl;
3381  var companyId = window.luxuryPresence.defaults.companyId;
3382  var limit = options.limit || 8;
3383  if (typeof limit === 'string') {
3384    limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected
3385  }
3386  var templateSelector = options.templateSelector || '.jsIGTemplate';
3387  var containerSelector = options.containerSelector || '.jsIGContainer';
3388  var hasDataClass = options.hasDataClass || 'has-data';
3389  var hideActivateMessage = options.hasDataClass || false;
3390  var payload = {
3391    companyId: companyId,
3392    limit: limit
3393  };
3394  if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) {
3395    payload.resourceId = options.resourceId;
3396    // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase
3397    payload.resource = String(options.resource || 'agent').toUpperCase();
3398    payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true;
3399  }
3400  var query = 'query InstagramFeed (\n' + '  $companyId: ID!\n' + '  $instagramAuthorizationId: ID\n' + '  $username: String\n' + (payload.resourceId ? '$resource: InstagramContentAuthResourceEnum\n $resourceId: ID\n $fallbackToNoResource: Boolean' : '') + '  $limit: Int\n' + ') {\n' + '  instagramContentFeed (\n' + '  companyId: $companyId\n' + '  instagramAuthorizationId: $instagramAuthorizationId\n' + '  username: $username\n' + (payload.resourceId ? 'resource: $resource\n resourceId: $resourceId\n fallbackToNoResource: $fallbackToNoResource' : '') + '  limit: $limit\n' + '  ) {\n' + '    active\n' + '    feedUrl\n' + '    username\n' + '    items {\n' + '      id\n' + '      caption\n' + '      commentsCount\n' + '      likeCount\n' + '      mediaType\n' + '      mediaUrl\n' + '      permalink\n' + '      shortcode\n' + '      thumbnailUrl\n' + '      timestamp\n' + '      username\n' + '    }\n' + '  }\n' + '}\n';
3401  var templateHTML = section.querySelector(templateSelector)?.innerHTML || '';
3402  var template = Handlebars.compile(templateHTML);
3403  var container = section.querySelector(containerSelector);
3404  if (options.variables) {
3405    Object.keys(options.variables).forEach(function (key) {
3406      if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) {
3407        payload[key] = options.variables[key];
3408      }
3409    });
3410  }
3411  function getData() {
3412    var feed = {
3413      error: true
3414    };
3415    if (payload.companyId == null || payload.companyId === '') {
3416      // instagramContentFeed requires companyId (ID!) — nothing to fetch without it.
3417      // Checked after the options.variables merge, which may override the default.
3418      // Deferred so element listeners (attached after this template runs) still receive it.
3419      setTimeout(function () {
3420        section.dispatchEvent(new CustomEvent('ig-data', {
3421          detail: feed
3422        }));
3423      }, 0);
3424      return;
3425    }
3426    superagent.post(url + '/graphql').send({
3427      query: query,
3428      variables: payload
3429    }).then(res => {
3430      try {
3431        if (!res.body.errors) {
3432          feed = res.body.data.instagramContentFeed;
3433          if (!feed.active) {
3434            if (!hideActivateMessage && sectionDomId === 'section-temp' && container) {
3435              if (payload.resourceId) {
3436                container.innerHTML = '<div style="text-align: center">Instagram account is not connected to selected ' + payload.resource + '.<br /> Connect it on the ' + payload.resource + ' page</div>';
3437              } else {
3438                container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>';
3439              }
3440            }
3441          } else {
3442            if (feed.items.length) {
3443              if (hasDataClass) {
3444                section.classList.add(hasDataClass);
3445              }
3446              const feedName = feed.username;
3447              section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl));
3448              section.querySelectorAll('.jsIGName').forEach(name => {
3449                name.textContent = '@' + feedName;
3450                name.setAttribute('title', '@' + feedName);
3451              });
3452              if (container && template) {
3453                container.innerHTML = template(feed);
3454              }
3455            }
3456          }
3457        }
3458      } catch (e) {}
3459      section.dispatchEvent(new CustomEvent('ig-data', {
3460        detail: feed
3461      }));
3462    }).catch(e => {
3463      console.log('err', e);
3464      section.dispatchEvent(new CustomEvent('ig-data', {
3465        detail: feed
3466      }));
3467    });
3468  }
3469  getData();
3470})('section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"62dea509-9e98-4ea1-8332-c3f17e7eb5f7\",\"usePageResource\":false,\"sectionIndex\":5,\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
3471} catch(e) {
3472console.log(e);
3473}
3474                try {
3475(function init(sectionDomId) {
3476  const $section = $('#' + sectionDomId);
3477  var templateHTML = $section.find('.jsIGItem').html();
3478  var itemTemplate = templateHTML && Handlebars.compile(templateHTML);
3479  const $container = $section.find('.ig-feed-feed');
3480  const $topPrev = $section.find('.top-nav-prev');
3481  const $topNext = $section.find('.top-nav-next');
3482  const $bottomPrev = $section.find('.bottom-nav-prev');
3483  const $bottomNext = $section.find('.bottom-nav-next');
3484  let limit = 33;
3485  try {
3486    limit = parseInt($container[0].dataset['limit']);
3487  } catch (e) {}
3488  if (!limit) {
3489    limit = 33;
3490  }
3491  let igFeed = {};
3492  let usedWidth = 0;
3493  let slider = null;
3494  $section.on('ig-data', function (ev, feed) {
3495    feed = ev.detail || feed;
3496    igFeed = feed;
3497    if (feed.active && feed.items.length) {
3498      buildSlider();
3499    }
3500  });
3501  $(window).on('resize.lpui-auto-clean', onResize);
3502  let timer = null;
3503  function onResize() {
3504    clearTimeout(timer);
3505    timer = window.setTimeout(buildSlider, 50);
3506  }
3507  function getLayout(w, n) {
3508    if (w > 1100) {
3509      if (n > 7) {
3510        return {
3511          type: 'type1',
3512          single: 1,
3513          multi: n,
3514          slides: 3,
3515          slider: n > 9
3516        };
3517      }
3518      if (n > 5) {
3519        return {
3520          type: 'type1',
3521          single: 2,
3522          multi: n,
3523          slides: 3,
3524          slider: false
3525        };
3526      }
3527      return {
3528        type: 'type1',
3529        single: n,
3530        multi: n,
3531        slides: 3,
3532        slider: n > 3
3533      };
3534    } else if (w > 880) {
3535      if (n > 4) {
3536        return {
3537          type: 'type2',
3538          single: 1,
3539          multi: n,
3540          slides: 2.5,
3541          slider: n > 7
3542        };
3543      }
3544      return {
3545        type: 'type1',
3546        single: n,
3547        multi: n,
3548        slides: 3,
3549        slider: n > 3
3550      };
3551    } else if (w > 767) {
3552      if (n > 4) {
3553        return {
3554          type: 'type3',
3555          single: 1,
3556          multi: n,
3557          slides: 2,
3558          slider: n > 5
3559        };
3560      }
3561      return {
3562        type: 'type4',
3563        single: n,
3564        multi: n,
3565        slides: 2,
3566        slider: n > 2
3567      };
3568    } else if (w > 460) {
3569      return {
3570        type: 'type4',
3571        single: n,
3572        multi: n,
3573        slides: 2,
3574        slider: n > 2
3575      };
3576    }
3577    return {
3578      type: 'type5',
3579      single: n,
3580      multi: n,
3581      slides: 1,
3582      slider: n > 1
3583    };
3584  }
3585  function ensureClass($el, className) {
3586    if ($el.hasClass(className)) {
3587      return;
3588    }
3589    $el.addClass(className);
3590  }
3591  function makeSquare($el) {
3592    const el = $el[0];
3593    el.style.width = '';
3594    el.style.height = '';
3595    const rect = el.getBoundingClientRect();
3596    if (rect.width !== rect.height) {
3597      el.style.width = rect.height + 'px';
3598    }
3599  }
3600  function buildSlider() {
3601    const cWidth = $container[0].getBoundingClientRect().width;
3602    if (cWidth === usedWidth) {
3603      return;
3604    }
3605    $container.empty();
3606    slider = $('<div class="ig-feed-slider"></div>');
3607    const items = igFeed.items.slice(0, limit);
3608    const layout = getLayout(cWidth, items.length);
3609    let i = 0;
3610    let slide = null;
3611    while (i < layout.single) {
3612      slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider);
3613      i++;
3614    }
3615    while (i < layout.multi) {
3616      slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider);
3617      let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide);
3618      const lim = i + 4;
3619      while (i < lim && i < layout.multi) {
3620        slideContent.append(itemTemplate(items[i]));
3621        i++;
3622      }
3623    }
3624    $container.append(slider);
3625    if (layout.slider) {
3626      $topPrev.removeClass('hidden-control');
3627      $topNext.removeClass('hidden-control');
3628      $bottomPrev.removeClass('hidden-control');
3629      $bottomNext.removeClass('hidden-control');
3630      let prev, next;
3631      if ($bottomPrev.parent()[0].getBoundingClientRect().width) {
3632        prev = $bottomPrev;
3633        next = $bottomNext;
3634      } else {
3635        prev = $topPrev;
3636        next = $topNext;
3637        makeSquare($topPrev);
3638        makeSquare($topNext);
3639      }
3640      slider.children().each(function () {
3641        this.style.width = this.getBoundingClientRect().width + 'px';
3642      });
3643      slider.slick({
3644        dots: false,
3645        prevArrow: prev,
3646        nextArrow: next,
3647        slidesToScroll: 1,
3648        infinite: false,
3649        slidesToShow: layout.slides
3650      });
3651    } else {
3652      ensureClass($topPrev, 'hidden-control');
3653      ensureClass($topNext, 'hidden-control');
3654      ensureClass($bottomPrev, 'hidden-control');
3655      ensureClass($bottomNext, 'hidden-control');
3656    }
3657  }
3658})('section-e7e9e125-5c52-4ed4-aab2-7ca6ebd9161d', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":true,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true},\"companyId\":\"62dea509-9e98-4ea1-8332-c3f17e7eb5f7\",\"usePageResource\":false,\"sectionIndex\":5}"));
3659} catch(e) {
3660console.log(e);
3661}
3662
3663            var { body } = document;
3664            var globalNav = body.querySelector(':scope > nav');
3665            var globalSideMenu = body.querySelector(':scope > div.sidemenu');
3666
3667            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
3668                modalCloseBtn.addEventListener('click', function() {
3669                window.lpUI.hideClosestModal(modalCloseBtn);
3670              });
3671            });
3672
3673            window.addEventListener('click', function() {
3674                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
3675                    sharedPopup.style.display = 'none' ;
3676                });
3677            });
3678
3679            /* Misc Partials / Addons */
3680            function initWOW() {
3681                if (wow) {
3682                    wow.init();
3683                    wow.scrollHandler();
3684                    setTimeout(function () {
3685                        const wowHideStyle = document.getElementById('wow-hide-elements');
3686                        if(wowHideStyle) {
3687                            wowHideStyle.disabled = true;
3688                        }
3689                    }, 1);
3690                }
3691            }
3692
3693            const wowHideElements =  document.getElementById('wow-hide-elements');
3694            if (wowHideElements) {
3695               wowHideElements.disabled = false;
3696            }
3697
3698                initWOW();
3699
3700            /* Generic Navbar Handling */
3701            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
3702                hamburgerComponent.addEventListener('click', function() {
3703                window.lpUI.sideMenuToggle();
3704              });
3705            });
3706            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
3707                toggleEl.addEventListener('click', function() {
3708                window.lpUI.sideMenuToggle();
3709              });
3710            });
3711
3712            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
3713                linkEl.addEventListener('click', function(e) {
3714                  e.preventDefault();
3715                  e.stopPropagation();
3716                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
3717                  if (subNav && subNav.classList.contains('visible')){
3718                    subNav.classList.remove('visible');
3719                  } else {
3720                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
3721                      globalSubNav.classList.remove('visible');
3722                    });
3723                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
3724                        sideMenuSubNav.classList.remove('visible');
3725                    });
3726                    subNav?.classList.add('visible');
3727                  }
3728                });
3729            });
3730            window.addEventListener('click', function() {
3731                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
3732                    subNavEl.classList.remove('visible');
3733                });
3734            });
3735
3736        }
3737
3738        document.addEventListener('DOMContentLoaded', lpGlobalInit);
3739
3740    </script>
3740
3741
3742    
3742<script type="module">
3743    function selectorExists(selector) {
3744        return document.querySelector(selector) !== null;
3745    }
3746
3747    // Function to initialize the third-party library
3748    function initParoller(selector = '.my-paroller') {
3749        var $parollerElements = $(selector);
3750        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
3751            $parollerElements.paroller();
3752        }
3753    }
3754
3755    const parollerSelector = '.my-paroller';
3756
3757    if (selectorExists(parollerSelector)) {
3758        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
3759            initParoller(parollerSelector);
3760            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
3761        });
3762    }
3763    </script>
3763
3764
3765            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 3765-3766
3765
3766            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3766GTM-T9SFQGHZ
vendor: 107 bytes, lines 3766-3768
3766"
3767            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3768            
3768<!-- End Google Tag Manager -->
3769        
3770            
3770<script
3771                src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js"
3772                data-website-id="4d649273-d03b-4e27-a6a8-89e21a8a5908"
3773                
3774                defer></script>
vendor: 1 bytes, line 3774
3774
3775<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"d2a8f4b3d65944edb8fcd6ffce49ee5e","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 3775
3775
3776<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:'a4821c99df73c6f0',t:'MTc5MTU5ODQ2OA=='};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>
3776</body>
3777</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.