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>Contact Us</title> 10 <meta property="og:title" content="Contact Us"> 11 <meta name="twitter:title" content="Contact Us"> 12 <meta property="og:image" content="https://media-production.lp-cdn.com/media/15b00d3d-8119-4c99-bb9e-fb262e968ecd"> 13 <meta name="twitter:image" content="https://media-production.lp-cdn.com/media/15b00d3d-8119-4c99-bb9e-fb262e968ecd"> 14 <meta property="og:url" content="https://the-edit.com/contact-us"> 15 <link rel="canonical" href="https://the-edit.com/contact-us"> 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=Montserrat: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:Montserrat,sans-serif;--global-primary-font-family-short:Montserrat;--global-secondary-font-family:Montserrat,sans-serif;--global-secondary-font-family-short:Montserrat;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:55px;--global-h2-font-size:42px;--global-h3-font-size:30px;--global-h4-font-size:28px;--global-h5-font-size:22px;--global-h6-font-size:20px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Montserrat,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:Montserrat,sans-serif;}h1{font-size:55px;}h2{font-size:42px;}h3{font-size:30px;}h4{font-size:28px;}h5{font-size:22px;}h6{font-size:20px;}</style> 27 <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/masterpiece/index.css" /> 28 <style id="website-css">.auto-year-update::after{content:' The Edit, License # CQ1066931';}#global-footer .site-footer__disclaimer{opacity:1;color:#000;}#global-footer .site-footer__disclaimer:after{background-color:#000;opacity:1;}footer#global-footer p{color:#FFF!important;}footer#global-footer a{color:#FFF;}footer#global-footer a:hover{color:#DD088A;}footer#global-footer a:before{opacity:0.8!important;}footer#global-footer .footer-navigation a{border-bottom:1px solid rgba(255,255,255,0.8)!important;}footer#global-footer .footer-navigation a:hover{border-bottom:1px solid #DD088A!important;}footer#global-footer .site-footer__copy div:last-child a{border-bottom:1px solid rgba(255,255,255,0.8)!important;}footer#global-footer .site-footer__copy div:last-child a:hover{border-bottom:1px solid #DD088A!important;}footer#global-footer div.site-footer__col-content.lp-a{opacity:1;}footer#global-footer .footer-navigation__link{color:#FFF;}footer#global-footer .footer-navigation__link:hover{color:#DD088A;}.footer-navigation__link:last-child{border-bottom:1px solid rgba(255,255,255,0.8);}.footer-navigation__link:last-child:hover{border-bottom:1px solid #DD088A!important;}#global-navbar{background-color:transparent!important;}a.navigation__link{font-size:15px!important;font-weight:300!important;}nav .header{padding-top:14px!important;padding-bottom:14px!important;}nav#global-navbar .header.theme-light,nav#global-navbar header{background-color:rgba(0,0,0,0.4);}nav#global-navbar .header.theme-light .header__hamburger circle,nav#global-navbar header .header__hamburger circle{fill:#FFF!important;}nav#global-navbar .header.theme-light .header__hamburger svg rect,nav#global-navbar header .header__hamburger svg rect{fill:#DD088A!important;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item,nav#global-navbar header ul.navigation li.navigation__item{color:#FFF;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .sub-nav__link,nav#global-navbar header ul.navigation li.navigation__item .sub-nav__link{color:#000;background-color:#FFF;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .sub-nav__link:hover,nav#global-navbar header ul.navigation li.navigation__item .sub-nav__link:hover{color:#FFF;background-color:#DD088A;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .navigation__link:after,nav#global-navbar header ul.navigation li.navigation__item .navigation__link:after{background:#FFF;}nav#global-navbar .header.theme-light .search__btn svg,nav#global-navbar header .search__btn svg{color:#fff;}nav#global-navbar .header{background-color:rgba(0,0,0,1);}nav#global-navbar .header .header__hamburger circle{fill:#FFF;}nav#global-navbar .header .header__hamburger svg rect{fill:#DD088A!important;}nav#global-navbar .header ul.navigation li.navigation__item{color:#FFF;}nav#global-navbar .header ul.navigation li.navigation__item .sub-nav__link{color:#000;background-color:#FFF;}nav#global-navbar .header ul.navigation li.navigation__item .sub-nav__link:hover{color:#FFF;background-color:#DD088A;}nav#global-navbar .header ul.navigation li.navigation__item .navigation__link:after{background:#FFF;}nav#global-navbar .header .search__btn svg{color:#FFF;}nav#global-navbar .header a.header__btn-contact{background:#FFF;color:#DD088A;border-color:#FFF;}nav#global-navbar .header a.header__btn-contact:hover{background:transparent;color:#FFF;border-color:#FFF;}nav#global-navbar.scroll .header{background-color:rgba(0,0,0,1);}nav#global-navbar.scroll .header .header__hamburger circle{fill:#FFF!important;}nav#global-navbar.scroll .header .header__hamburger svg rect{fill:#DD088A!important;}nav#global-navbar.scroll .header ul.navigation li.navigation__item{color:#FFF;}nav#global-navbar.scroll .header ul.navigation li.navigation__item .sub-nav__link{color:#000;background-color:#FFF;}nav#global-navbar.scroll .header ul.navigation li.navigation__item .sub-nav__link:hover{color:#FFF;background-color:#DD088A;}nav#global-navbar.scroll .header ul.navigation li.navigation__item .navigation__link:after{background:#FFF;}nav#global-navbar.scroll .header .search__btn svg{color:#FFF;}nav#global-navbar.scroll .header a.header__btn-contact{background:#FFF!important;color:#DD088A!important;border-color:#FFF!important;}nav#global-navbar.scroll .header a.header__btn-contact:hover{background:transparent!important;color:#FFF!important;border-color:#FFF!important;}@media only screen and (min-width:534px){nav#global-navbar .header__logo a.logo{width:105px;height:85px;max-width:350px;}nav#global-navbar .header__logo a.logo .logo__img{width:105px;height:85px;}}@media (min-width: 768px){footer .site-footer__logo-container img{max-width:350px!important;max-height:100px!important;}}.mobile-contact.dark .item{background-color:#DD088A!important;}@media (max-width: 768px){#modal-global-contact-us .contact-form__close.close{color:#fff!important;opacity:1;}}@media (min-width: 768px){footer .site-footer__bottom{padding-top:46px!important;}footer .site-footer__logo-bar{padding-bottom:44px!important;}}@media (min-width: 1500px){.lp-container.header__container{padding-left:0px!important;}}@media (max-width: 435px){.header__btn-contact{display:none!important;}}@media (max-width: 768px){footer .site-footer__socials{margin-left:0px!important;}}@media (min-width:1281px){nav#global-navbar .header.theme-light .search__btn svg{display:none;}nav#global-navbar .header .search__btn svg{display:none;}}h1,.lp-h1,h2,.lp-h2,h3,.lp-h3{font-weight:400!important;}h1,.lp-h1,h2,.lp-h2,h3,.lp-h3,h4,.lp-h4,h5,.lp-h5{text-transform:uppercase;}.lp-h1,.lp-h2,.lp-h3,.lp-h4,.lp-h5{font-weight:500;}.lp-title-group .lp-h1{font-weight:500!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;}#global-mobile-contact .mobile-contact{bottom:150px;}@media only screen and (max-width: 768px){iframe[name='widgetCta']{bottom:50px!important;right:10px!important;}}iframe[name="widgetCta"]{bottom:50px!important;right:15px!important;}</style> 29 <style id="wow-hide-elements">.wow{visibility:hidden!important}</style> 30 <style id="page-css"> 31 #section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#000000;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;background-color:#000000;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.2));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/rx36zezylq2epmzrajnm');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}@media (max-width: 500px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{background-position-x:-475px!important;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .video-wrapper .full-screen-video-component .video-wrapper::before{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#000;z-index:-1000;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .video-wrapper .full-screen-video-component .video-wrapper video{-webkit-transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);opacity:0!important;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .video-wrapper .full-screen-video-component .video-wrapper.playing video{opacity:1!important;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .lp-play{opacity:0;background-color:transparent;display:inline-block;border:none;position:absolute;bottom:50px;right:50px;width:27px;height:24px;z-index:3;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;cursor:unset;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .lp-play.visible{opacity:1;cursor:pointer;}@media (max-width: 900px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .lp-play.visible{display:none;}}@media (max-width: 900px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .lp-play{display:none;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled{z-index:unset;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled .lp-container{position:relative;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled>div.video-wrapper{position:fixed;left:var(--global-body-padding, 0);top:var(--global-body-padding, 0);width:calc(100% - var(--global-body-padding, 0px) * 2);z-index:-1001;}@media (max-width: 767px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled>
31div.video-wrapper{left:0;top:0;width:100%;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled>div.overlay-component{position:fixed;left:var(--global-body-padding, 0);top:var(--global-body-padding, 0);right:unset;width:calc(100% - var(--global-body-padding, 0px) * 2);}@media (max-width: 767px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled>div.overlay-component{left:0;top:0;width:100%;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled .opening-with-search:before{display:block;content:'';left:var(--global-body-padding, 0);top:var(--global-body-padding, 0);width:calc(100% - var(--global-body-padding, 0px) * 2);background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;background-position-y:22%;position:fixed;z-index:-1001;height:100%;}@media (max-width: 767px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.parallax-enabled .opening-with-search:before{left:0;top:0;width:100%;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search{position:relative;--top-padding:170px;--bottom-padding:30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:770px;padding-top:var(--top-padding);padding-bottom:var(--bottom-padding);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search:before{display:none;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-Full{min-height:100vh;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-Full>div.video-wrapper{height:100vh;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-Full:before{min-height:100vh;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-770px{min-height:770px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-770px>div.video-wrapper{height:770px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-770px:before{min-height:770px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-600px{min-height:600px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-600px>div.video-wrapper{height:600px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search.height-class-600px:before{min-height:600px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .bottom-spacer{-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;max-height:calc(var(--top-padding) - var(--bottom-padding));}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .center-block{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 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;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-description{letter-spacing:.1em;margin-bottom:15px;max-width:640px;margin-left:auto;margin-right:auto;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-description a,#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-description a[x-apple-data-detectors]{color:inherit!important;-webkit-text-decoration:none!important;text-decoration:none!important;font-size:inherit!important;font-family:inherit!important;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-pretitle{margin-bottom:15px;max-width:860px;margin-left:auto;margin-right:auto;white-space:pre-line;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-title{margin-bottom:15px;max-width:860px;margin-left:auto;margin-right:auto;white-space:pre-line;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-button{margin:0 15px;}@media (max-width: 768px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .opening-button{margin:0;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-form{margin-top:30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;
31-webkit-justify-content:center;justify-content:center;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-form.with-filters{padding-top:32px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-button{margin:5px;border:none;border-radius:0;outline:none;background-color:#000;color:#fff;height:44px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:50px;padding-right:50px;-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;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-button:hover{background-color:#fff;color:#000;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-lease-tabs{position:absolute;left:0;bottom:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-lease-tab{padding:4px 20px;background-color:#000;color:#fff;cursor:pointer;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-lease-tab.active{background-color:#fff;color:#000;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-wrapper{margin:5px;letter-spacing:normal;width:100%;max-width:444px;position:relative;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-input-container{width:100%;border:none;height:43px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 16px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-input-container .search-icon{color:#c0c0c0;margin-right:10px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:20px;line-height:0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-input-container .search-input{color:#000;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:50px;border:none;border-radius:0;outline:none;background:transparent;font-size:16px;padding:0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-results{line-height:normal;text-align:left;background-color:rgba(0, 0, 0, 0.8);position:absolute;width:100%;left:0;top:100%;border:none;overflow:hidden;-webkit-transition:height 0.3s ease;transition:height 0.3s ease;height:0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-container,#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .predefined-links{padding:10px 0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-container a,#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .predefined-links a{color:#b6b6b6;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-container a:hover,#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .predefined-links a:hover{color:#fff;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .predefined-links{max-height:400px;overflow:auto;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-block{margin:15px 0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-block-title{margin:0;padding:0 48px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-block-title .results-title-label{margin:0 20px 10px 0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-block-title .search-near-container{margin-bottom:15px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-block:nth-child(n + 2) .search-near-container{display:none;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-link{display:block;padding:4px 48px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .results-link.selected-link{color:#fff;background-color:rgba(255, 255, 255, 0.2);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-in-progress{padding:30px 0;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:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:30px;opacity:0.5;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .not-visible{display:none!important;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .nothing-found{width:100%;padding:20px;}@media (max-width: 560px){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-form{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-button{width:100%;max-width:444px;}}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .opening-with-search .search-near{cursor:pointer;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-transition:background-color 0.3s ease;transition:background-color 0.3s ease;background-color:transparent;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-wrap{width:100%;height:100%;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:20px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-clip-path:polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);clip-path:polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);-webkit-transition:clip-path 0.4s ease;transition:clip-path 0.4s ease;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-modal{border-radius:20px;padding:10px 20px 20px;max-width:400px;min-width:100px;background-color:rgba(0,0,0,0.9);color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;max-height:100%;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-close{position:absolute;width:40px;height:40px;top:10px;right:10px;cursor:pointer;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-close:before{content:'';width:20px;height:2px;background-color:#fff;position:absolute;left:10px;top:19px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-close:after{content:'';width:20px;height:2px;background-color:#fff;position:absolute;left:10px;top:19px;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-close:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .search-near-hidden .search-near-container{display:none;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-title{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:20px;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-container{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;overflow:auto;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-container p{margin:0;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460 .loc-msg-container p+p{margin-top:1em;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.visible-loc-msg{z-index:1000;}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.visible-loc-msg .loc-msg-backdrop{background-color:rgba(255,255,255,0.4);}#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460.visible-loc-msg .loc-msg-wrap{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0%);clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0%);}@media (min-width: 960px) and (orientation: landscape){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{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/rx36zezylq2epmzrajnm');}}@media (min-width: 1280px) and (orientation: landscape){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/rx36zezylq2epmzrajnm');}}@media (min-width: 1920px) and (orientation: landscape){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{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=2560/https://media-production.lp-cdn.com/media/rx36zezylq2epmzrajnm');}}@media (min-width: 2560px) and (orientation: landscape){#section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460{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/rx36zezylq2epmzrajnm');}}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871{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(0, 0, 0, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--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(0, 0, 0, 1);}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .container-icons2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end;-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;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .socialMediaInfo{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .contactInfo{width:50%;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .contactInfo p{margin-bottom:0px!important;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .boxed-text__description{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .lp-a:before{opacity:0.8!important;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 a.lp-a:hover{color:#DD088A!important;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .lp-a:after{background:#DD088A!important;opacity:1!important;}@media (max-width: 768px){#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .boxed-text__description{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .socialMediaInfo{width:100%;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .contactInfo{width:100%;margin-bottom:40px;}}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 li a span{visibility:hidden;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 li a span:before{visibility:visible;margin-left:8px;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .boxed-text__description{margin-bottom:30px;}}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .lp-title-group .lp-h2{margin-top:0;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-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;}@media(max-width: 600px){#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-container .lp-btn{margin-right:20px;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871 .redesign p{margin-bottom:1.666rem;}#section-dd5660f9-dde4-4bb2-9a67-826841c9d871>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292{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-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light{color:#000!important;border-color:rgba(0,0,0, 0.7);}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light:-webkit-autofill{border:1px solid rgba(0,0,0, 0.9);-webkit-text-fill-color:#000!important;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup{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;}@media (max-width: 768px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup{min-height:80vh;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup .lp-container-custom{padding:0 25px;}}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form{margin:0;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form.success .newsletter-signup__form-container{display:none;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__inputs-container{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;}@media (max-width: 768px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__inputs-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-container{position:relative;z-index:1;}@media (max-width: 768px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-container .lp-h2{margin-bottom:32px;}}@media (max-width: 768px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-container .lp-text--subtitle{margin-bottom:32px;}}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:16px;}@media (max-width: 768px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:0px;margin-top:32px;}}@media (min-width: 769px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-item.lp-input{padding-top:0;padding-bottom:0;width:250px;}}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-item.lp-btn{text-transform:uppercase;font-weight:700;}@media (min-width: 769px){#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup__form-item.lp-btn{width:200px;}}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup .success-block{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;visibility:visible;opacity:1;z-index:2;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none;text-align:center;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .newsletter-signup .success-block.hide{display:none;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .lp-h-pot{max-width:1px;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .lp-title-group{max-width:unset;padding:0 20px;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input:-webkit-autofill,#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input:-webkit-autofill:hover,#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input:-webkit-autofill:focus,#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input:-webkit-autofill:active{-webkit-text-fill-color:var(--fontColor);-webkit-box-shadow:0 0 0px 1000px var(--bgColor) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 .lp-disclaimer{max-width:730px;margin:20px auto 0 auto;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light::-webkit-input-placeholder{color:#000!important;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light::-moz-placeholder{color:#000!important;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light:-ms-input-placeholder{color:#000!important;}#section-9b6dcd29-e314-422d-9b92-bcd75434a292 input.lp-input--light::placeholder{color:#000!important;}#modal-global-contact-us .section{width:100%;min-height:100vh;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;-webkit-box-pack:start!important;-ms-flex-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important;}@media (max-width: 1024px){#modal-global-contact-us .section{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#modal-global-contact-us .left{width:100%;max-width:600px;padding:80px;}@media (max-width: 1200px){#modal-global-contact-us .left{padding-left:50px;padding-right:50px;}}@media (max-width: 1024px){#modal-global-contact-us .left{max-width:100%;min-height:auto;width:100%;padding:50px;}}@media (max-width: 767px){#modal-global-contact-us .left{padding:50px 24px;}}#modal-global-contact-us .left .lp-h2{margin:0 0 48px;}@media (max-width: 767px){#modal-global-contact-us .left .lp-h2{margin:0 0 32px;}}#modal-global-contact-us .contact-form__form{width:100%;min-width:440px;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;gap:24px;margin:0;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}@media (max-width: 767px){#modal-global-contact-us .contact-form__form{min-width:100%;}}#modal-global-contact-us .contact-form__form .input-container{width:100%;}#modal-global-contact-us .contact-form__form .input-container:not(.textarea){width:calc(50% - 12px);}@media (max-width: 767px){#modal-global-contact-us .contact-form__form .input-container:not(.textarea){width:100%;}}#modal-global-contact-us .contact-form__form .lp-input{padding-left:24px;width:100%;}#modal-global-contact-us .button-holder{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;
31-webkit-justify-content:flex-end;justify-content:flex-end;}#modal-global-contact-us .button-holder .btn{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;}#modal-global-contact-us .sync-icon{display:none;margin-right:10px;-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;}#modal-global-contact-us .success-icon{display:none;margin-right:10px;-webkit-transition:0s;transition:0s;visibility:visible;}#modal-global-contact-us .loading{pointer-events:none;}#modal-global-contact-us .loading .sync-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}#modal-global-contact-us .success-text{display:none;}#modal-global-contact-us .success{pointer-events:none;}#modal-global-contact-us .success .success-icon{display:block;}#modal-global-contact-us .success .success-text{display:inline;}#modal-global-contact-us .input-container{width:calc(50% - 24px);}#modal-global-contact-us .input-container:last-child{width:100%;}#modal-global-contact-us .contact-form__submit{width:175px;}@media (max-width: 767px){#modal-global-contact-us .contact-form__submit{width:100%;}}#modal-global-contact-us .lp-input{width:100%;}#modal-global-contact-us .pre-title{display:inline-block;padding-right:190px;margin:0 0 48px;position:relative;max-width:440px;}@media (max-width: 767px){#modal-global-contact-us .pre-title{margin:0 0 32px;padding-right:130px;}}#modal-global-contact-us .pre-title:after{content:'';height:1px;width:165px;position:absolute;top:13px;right:0;background-color:#CCB091;}@media (max-width: 767px){#modal-global-contact-us .pre-title:after{width:118px;}}#modal-global-contact-us .right{background-color:var(--bgColor);-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;position:relative;padding:80px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 1024px){#modal-global-contact-us .right{max-width:100%;min-height:auto;width:100%;padding:50px;}}@media (max-width: 767px){#modal-global-contact-us .right{padding:50px 24px;}}#modal-global-contact-us .right >*{position:relative;z-index:2;}#modal-global-contact-us .right .lp-h3{margin:0 0 48px;}@media (max-width: 767px){#modal-global-contact-us .right .lp-h3{margin-bottom:32px;}}#modal-global-contact-us .right .img-wrapper{overflow:hidden;}#modal-global-contact-us .agent-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:25px;margin-bottom:40px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#modal-global-contact-us .agent{word-break:break-all;}#modal-global-contact-us .agent p{margin:0;}#modal-global-contact-us .address{margin:0 0 40px;}#modal-global-contact-us .img-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;}#modal-global-contact-us .img-wrapper .img{position:relative;object-fit:cover;height:100%;width:100%;}#modal-global-contact-us .img-wrapper:after{content:'';position:absolute;background-color:var(--bgOpacity);top:0;left:0;bottom:0;right:0;}#modal-global-contact-us .close img,#modal-global-contact-us .close .lp-close-icon{border-style:none;max-width:100%;}@media (max-width: 1024px){#modal-global-contact-us .close img,#modal-global-contact-us .close .lp-close-icon{margin-top:15px;-webkit-filter:invert(1);filter:invert(1);}}#modal-global-contact-us input,#modal-global-contact-us textarea{color:inherit!important;}nav{-webkit-transition:0.2s all;transition:0.2s all;}nav nav{-webkit-transition:0.2s all;transition:0.2s all;}nav .header{padding-top:30px;padding-bottom:30px;}nav .header__right{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-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-pack:end;-ms-flex-pack:end;
31-webkit-justify-content:flex-end;justify-content:flex-end;}nav .header__container{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;}nav .header__btn-contact{border:1px solid;border-radius:3px;padding:18px 40px;-webkit-transition:0.2s all;transition:0.2s all;text-transform:none;margin-left:40px;font-size:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}@media (hover: hover) and (pointer: fine){nav .header__btn-contact:hover{background-color:var(--themeBlack);color:var(--themeWhite);}}@media (max-width: 768px){nav .header__btn-contact{padding:10px;margin-left:5px;margin-right:12px;}}nav .header__hamburger{background-color:transparent;cursor:pointer;outline:none;position:relative;padding: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;margin-left:41px;width:60px;height:60px;border:none;}@media (max-width: 768px){nav .header__hamburger{width:40px;height:40px;margin-left:15px;}}@media (hover: hover) and (pointer: fine){nav .header__hamburger:hover .line--top{width:12px;x:30px;}nav .header__hamburger:hover .line--bottom{width:24px;x:18px;}}nav .header__hamburger svg{width:100%;height:100%;}nav .header__hamburger circle{fill:var(--themeBeige);}nav .header__hamburger .line{fill:var(--themeWhite);height:2px;width:24px;x:18px;y:26px;-webkit-transition:0.2s all;transition:0.2s all;}nav .header__hamburger .line--bottom{width:12px;x:30px;y:32px;}nav .sub-nav{position:absolute;left:0;top:100%;padding:0;max-height:0;z-index:5;margin:0;list-style-type:none;overflow:hidden;visibility:hidden;-webkit-transition:visibility 0s linear 0.3s,max-height 0.3s ease;transition:visibility 0s linear 0.3s,max-height 0.3s ease;}nav .sub-nav.visible{-webkit-transition:visibility 0s linear 0s,max-height 0.3s ease-in;transition:visibility 0s linear 0s,max-height 0.3s ease-in;max-height:100vh;visibility:visible;}nav .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .sub-nav__link{display:block;color:var(--themeWhite);font-size:14px;font-weight:600;padding:10px 18px;position:relative;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:178px;min-width:100%;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;background-color:var(--themeBlack);}@media (hover: hover) and (pointer: fine){nav .sub-nav__link:hover{color:var(--themeWhite);background-color:rgba(75, 75, 75, 1);}}nav .logo{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;outline:none;max-width:234px;height:60px;}@media (max-width: 768px){nav .logo{width:145px;}}nav .logo__img{object-fit:contain;object-position:left;max-width:100%;max-height:100%;}nav .logo__img.light{display:none;}nav .logo__img.dark{display:block;}nav .scroll .header{padding-top:22px;padding-bottom:22px;}@media (hover: hover) and (pointer: fine){nav .scroll .header__btn-contact:hover{background-color:var(--themeWhite);color:var(--themeBlack);}}nav .scroll .search__btn{color:var(--themeWhite);}nav .scroll .logo__img.dark{display:none;}nav .scroll .logo__img.light{display:block;}nav .header.theme-light{color:#fff;}nav .header.theme-light .lp-btn.lp-btn--dark.lp-btn--outline{color:var(--themeWhite, #fff);border-color:var(--themeWhite, #fff);}nav .header.theme-light .lp-btn.lp-btn--dark.lp-btn--outline:hover{color:var(--themeBlack, #fff);border-color:var(--themeBlack, #fff);background-color:var(--themeWhite, #fff);}nav .header.theme-light .logo__img.dark{display:none;}nav .header.theme-light .logo__img.light{display:block;}nav.scroll .header{padding-top:22px;padding-bottom:22px;}nav.scroll .lp-btn.lp-btn--dark.lp-btn--outline{color:var(--themeWhite, #fff);border-color:var(--themeWhite, #fff);}nav.scroll .lp-btn.lp-btn--dark.lp-btn--outline:hover{color:var(--themeBlack, #fff);border-color:var(--themeBlack, #fff);background-color:var(--themeWhite, #fff);}nav.scroll .search__btn{color:var(--themeWhite);}nav.scroll .logo__img.dark{display:none;}nav.scroll .logo__img.light{display:block;}
31nav .navigation{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;list-style-type:none;margin:0;padding:0;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex:1;-ms-flex:1;flex:1;}@media (max-width: 1024px){nav .navigation{display:none;}}nav .navigation__item{padding:0;margin:0;visibility:hidden;height:0;}nav .navigation__item+.navigation__item{padding-left:20px;}@media (hover: hover) and (pointer: fine){nav .navigation .navigation__item:not(.sub-nav-container) .navigation__link:after{content:'';position:absolute;display:block;width:0;height:2px;-webkit-transition:width .3s linear;transition:width .3s linear;background:var(--themeBeige);bottom:0;left:0;}nav .navigation .navigation__item:not(.sub-nav-container) .navigation__link:hover:after{width:100%;}}nav .navigation__link{display:block;position:relative;font-size:18px;line-height:18px;background-color:transparent;border:none;border-bottom:2px solid transparent;border-top:2px solid transparent;cursor:pointer;padding:21px 10px;max-width:180px;z-index:2;outline:none;color:inherit;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;-webkit-font-smoothing:unset;-webkit-transition:color .3s linear;transition:color .3s linear;}nav .navigation__link:focus,nav .navigation__link:active{outline:none;}nav .sub-nav-container{position:relative;padding-right:21px;}nav .sub-nav-container:after{display:block;content:'';width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;position:absolute;right:3px;top:50%;-webkit-transform:translate(0, calc(-50% - 3px)) rotate(45deg);-moz-transform:translate(0, calc(-50% - 3px)) rotate(45deg);-ms-transform:translate(0, calc(-50% - 3px)) rotate(45deg);transform:translate(0, calc(-50% - 3px)) rotate(45deg);-webkit-transition:-webkit-transform 0.2s linear;transition:transform 0.2s linear;}nav .sub-nav-container.active:after{-webkit-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);-moz-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);-ms-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);transform:translate(0, calc(-50% + 3px)) rotate(-135deg);}nav .search{position:relative;}nav .search__btn{border:none;background-color:transparent;margin-left:20px;cursor:pointer;display:block;color:inherit;}@media (max-width: 768px){nav .search__btn{margin-left:0;}}nav .search__btn svg{display:block;}@media (max-width: 768px){nav .hide-mobile{display:none;}}body>div.sidemenu{background-color:rgba(0, 0, 0, 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(0, 0, 0, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;}body>div.sidemenu{--colorLighter1:hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.1);width:100%;display:block;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:.1s all ease-out 2s;transition:.1s all ease-out 2s;background:transparent;}body>div.sidemenu .sidemenu__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu.visible{-webkit-transition:0s all;transition:0s all;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);z-index:900;background-color:transparent;}body>div.sidemenu.visible .sidemenu__img{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000);transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000);}body>div.sidemenu.visible .sidemenu__wrapper{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000);transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000);}body>div.sidemenu.visible .sidemenu__toggle{pointer-events:auto;}body>div.sidemenu .sidemenu__img{background:center no-repeat;-webkit-background-size:cover;background-size:cover;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000) .5s;transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000) .5s;}@media (max-width: 768px){body>div.sidemenu .sidemenu__img{display:none;}}body>div.sidemenu .sidemenu__wrapper{background-color:var(--bgColor, #211F1F);-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;
31-webkit-justify-content:space-between;justify-content:space-between;height:100vh;padding:80px 0 66px 0;overflow-y:auto;max-width:700px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000) .5s;transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000) .5s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar{width:4px;background-color:transparent;}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar-thumb{background-color:var(--fontColor, #ffffff);}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 4px rgba(0,0,0,0.3);background-color:var(--bgColor, #211F1F);}@media (max-width: 768px){body>div.sidemenu .sidemenu__wrapper{padding:40px 0 66px 0;}}body>div.sidemenu .sidemenu__toggle{height:48px;margin-right:auto;margin-left:70px;position:relative;border:none;background-color:transparent;outline:none;color:var(--fontColor, #ffffff);padding-right:50px;font-family:inherit;pointer-events:none;cursor:pointer;}@media (max-width: 768px){body>div.sidemenu .sidemenu__toggle{margin-left:20px;}}body>div.sidemenu .sidemenu__toggle--right{margin-left:auto;margin-right:70px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__toggle--right{margin-right:20px;}}body>div.sidemenu .sidemenu__toggle:focus{outline:none;}body>div.sidemenu .sidemenu__toggle:before,body>div.sidemenu .sidemenu__toggle:after{content:'';display:block;position:absolute;width:20px;height:2px;background-color:currentColor;right:0;top:50%;}body>div.sidemenu .sidemenu__toggle: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 .sidemenu__toggle:after{-webkit-transform:translate(-50%, -50%) rotate(-225deg);-moz-transform:translate(-50%, -50%) rotate(-225deg);-ms-transform:translate(-50%, -50%) rotate(-225deg);transform:translate(-50%, -50%) rotate(-225deg);}body>div.sidemenu .sidemenu__nav{margin-bottom:auto;padding:0;}body>div.sidemenu .sidemenu__socials{margin-left:auto;padding-top:30px;padding-right:70px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__socials{padding-right:20px;padding-left:20px;}}body>div.sidemenu .sidemenu__socials .lp-socials li{margin-bottom:14px;}body>div.sidemenu .sidemenu__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-bottom:93px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__header{padding-bottom:59px;}}body>div.sidemenu .sidemenu__logo{display:none;}@media (max-width: 768px){body>div.sidemenu .sidemenu__logo{display:block;}}body>div.sidemenu .sidemenu__logo-img{display:block;max-height:50px;}body>div.sidemenu .navigation{list-style-type:none;margin:0;padding:0;max-width:100%;}body>div.sidemenu .navigation__item{border-bottom:1px solid var(--colorLighter1);margin:0;overflow:hidden;}body>div.sidemenu .navigation__link{padding:12px 12px 12px 70px;display:block;font-size:22px;font-weight:400;line-height:48px;color:var(--fontColor, #ffffff);-webkit-transition:0.2s all;transition:0.2s all;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;font-family:var(--global-primary-font-family);-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0;position:relative;transition-property:transform,opacity,color;transition-duration:0.55s,0.55s,0.3s;transition-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1),ease-in-out,ease-in-out;}@media(max-width: 768px){body>div.sidemenu .navigation__link{padding-left:20px;padding-right:20px;padding-bottom:16px;}}@media (hover: hover) and (pointer: fine){body>div.sidemenu .navigation__link:hover{color:var(--fontColor, #ffffff);}}body>div.sidemenu .sub-nav{list-style-type:none;display:none;margin:0;padding:10px 0 30px 85px;}@media(max-width: 768px){body>div.sidemenu .sub-nav{padding-bottom:16px;padding-left:35px;}}body>div.sidemenu .sub-nav__item{padding-bottom:10px;margin:0;opacity:0;}body>div.sidemenu .sub-nav__item.fadeInUp{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:var(--delay);animation-delay:var(--delay);}body>div.sidemenu .sub-nav__link{font-size:16px;font-weight:400;cursor:pointer;color:var(--fontColor, #ffffff);font-family:var(--global-secondary-font-family);-webkit-text-decoration:none;text-decoration:none;}body>div.sidemenu .sub-nav.visible{display:block;}body>div.sidemenu .lp-socials__link{opacity:0;-webkit-transform:translateY(-50px);-moz-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px);position:relative;transition-property:transform,opacity,color;transition-duration:0.55s,0.55s,0.3s;transition-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1),ease-in-out,ease-in-out;}body>div.sidemenu body>div.sidemenu{width:100%;}body>div.sidemenu body>div.sidemenu.visible{-webkit-transition:0s all;transition:0s all;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);z-index:900;background-color:transparent;}body>div.sidemenu body>div.sidemenu.visible .sidemenu__img{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000);transition:.7s cubic-bezier(0.645, 0.045, 0.355, 1.000);}body>div.sidemenu body>div.sidemenu.visible .sidemenu__wrapper{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000);transition:1s cubic-bezier(0.645, 0.045, 0.355, 1.000);}body>div.sidemenu body>div.sidemenu.visible .sidemenu__toggle{pointer-events:auto;}body>div.sidemenu .fade-in{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}body>div.sidemenu .arrow{vertical-align:middle;margin-bottom:10px;-webkit-transition:.4s;transition:.4s;}body>div.sidemenu .arrow.active{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-transition:.4s;transition:.4s;}footer{background-color:rgba(0, 0, 0, 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(0, 0, 0, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;}footer .lp-input--dark{background-color:#fff;}footer .site-footer__subscribe{padding-top:92px;padding-bottom:92px;background-color:rgba(0,0,0,0.1);}@media (max-width: 768px){footer .site-footer__subscribe{padding-top:64px;padding-bottom:64px;}}footer .site-footer__logo-bar{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;padding-bottom:64px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){footer .site-footer__logo-bar{padding-bottom:24px;}}footer .site-footer__logo-container img{max-width:268px;max-height:56px;object-fit:contain;display:block;object-position:left top;}footer .site-footer__logo-container+.site-footer__logo-container{margin-left:50px;}@media (max-width: 768px){footer .site-footer__logo-container+.site-footer__logo-container{margin-left:0;margin-top:16px;width:100%;}}footer .site-footer__info{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:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}@media (max-width: 768px){footer .site-footer__info{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .site-footer__info .lp-a a{white-space:nowrap;}
31footer .site-footer__col{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-right:32px;}footer .site-footer__col-title{width:100%;margin-bottom:16px;min-height:29px;}footer .site-footer__col-content{opacity:0.5;padding-bottom:16px;}footer .site-footer__col-content p{margin-bottom:0;}footer .site-footer__col-content a{color:inherit;}footer .site-footer__col-content+.site-footer__col-content{padding-left:40px;}@media (max-width: 768px){footer .site-footer__col-content+.site-footer__col-content{padding-left:0;}}footer .site-footer__navigation-wrap{width:100%;padding-top:32px;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;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 992px){footer .site-footer__navigation-wrap{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:18px;}}@media (max-width: 768px){footer .site-footer__navigation-wrap{padding-top:24px;padding-bottom:0;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}footer .site-footer__socials{margin-left:auto;}@media (max-width: 992px){footer .site-footer__socials{margin-left:0;}}@media (max-width: 768px){footer .site-footer__socials{margin-right:auto;}}footer .site-footer__socials li{margin-bottom:0;}footer .site-footer__disclaimer{padding-top:64px;padding-bottom:32px;position:relative;opacity:0.5;}@media (max-width: 768px){footer .site-footer__disclaimer{padding-top:18px;padding-bottom:25px;}}footer .site-footer__disclaimer:after{content:'';display:block;position:absolute;left:0;bottom:0;right:0;height:1px;background-color:currentColor;opacity:0.2;}footer .site-footer__copy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:32px;font-size:18px;}@media (max-width: 768px){footer .site-footer__copy{padding-top:15px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}footer .site-footer__copy>div:first-child{margin-bottom:15px;}}footer .site-footer__copy a{color:inherit;}footer .site-footer__copy-lp span{margin-right:5px;}footer .site-footer__copy-lp img{margin-right:30px;}@media (max-width: 768px){footer .site-footer__copy-lp img{margin-right:0;margin-bottom:15px;}}@media (min-width: 769px){footer .site-footer__copy-lp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}footer .site-footer__bottom{padding-top:96px;padding-bottom:96px;}@media (max-width: 768px){footer .site-footer__bottom{padding-top:64px;padding-bottom:64px;}}footer .footer-contact{margin-bottom:13px;}footer .footer-contact p{margin-bottom:0;opacity:.7;}footer .footer-contact ul{list-style:none;padding-left:0;margin:0;}footer .footer-subscribe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){footer .footer-subscribe{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .footer-subscribe__title-wrap{padding-right:50px;}@media (max-width: 768px){footer .footer-subscribe__title-wrap{padding-right:0;padding-bottom:32px;}}footer .footer-subscribe__title{margin-bottom:8px;}footer .footer-subscribe__sub-title{margin-bottom:0;}footer .footer-subscribe__form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-width:330px;margin-bottom:0;position:relative;}footer .footer-subscribe__submit{margin-top:16px;}footer .footer-subscribe__success-msg{position:absolute;top:100%;width:100%;text-align:center;opacity:.7;padding-top:10px;}footer .footer-navigation{list-style:none;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;padding:0 20px 0 0;margin:0 -30px;}@media (max-width: 992px){footer .footer-navigation{margin-bottom:36px;}}@media (max-width: 768px){footer .footer-navigation{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 0 36px;}}footer .footer-navigation__item{margin:0 30px;}@media (max-width: 768px){footer .footer-navigation__item{margin:0 0 10px;}}
31footer .footer-navigation__link{color:inherit;-webkit-text-decoration:none;text-decoration:none;font-size:14px;line-height:14px;background-color:transparent;border:none;font-family:inherit;cursor:pointer;padding-left:0;padding-right:0;-webkit-transition:0.2s all;transition:0.2s all;}@media (hover: hover) and (pointer: fine){footer .footer-navigation__link:hover{color:var(--themeBeige);}}footer .lp-socials li{margin-bottom:14px;}footer .sync-icon{display:none;margin-right:10px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}footer .success-icon{display:none;margin-right:10px;-webkit-transition:0s;transition:0s;visibility:visible;}footer .loading{pointer-events:none;}footer .loading .sync-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}footer .success .success-icon{display:block;}footer .lp-footer-disclaimers{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:20px;margin-top:32px;padding-top:32px;}@media (max-width: 768px){footer .lp-footer-disclaimers{padding-top:15px;margin-top:15px;}}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
31ox='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
31699 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
3171 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;
31-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;
31height: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);}} 32 </style> 33 <style id="custom-style-css">.button-style-1{color:rgba(255, 255, 255, 1)!important;background-color:rgba(221, 8, 138, 1)!important;border-color:rgba(221, 8, 138, 1)!important;}.button-style-1:hover{color:rgba(221, 8, 138, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(221, 8, 138, 1)!important;}.pagination-style-1 li a{color:rgba(221, 8, 138, 1)!important;background-color:rgba(255, 255, 255, 0)!important;border-color:rgba(221, 8, 138, 1)!important;}.pagination-style-1 li a:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(221, 8, 138, 1)!important;border-color:rgba(221, 8, 138, 1)!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(221, 8, 138, 1)!important;border-color:rgba(221, 8, 138, 1)!important;}.social_icons-style-1 a{border-color:rgba(221, 8, 138, 1)!important;background-color:rgba(221, 8, 138, 1)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(221, 8, 138, 1)!important;background-color:rgba(204, 176, 145, 0)!important;color:rgba(221, 8, 138, 1)!important;}.social_icons-style-1 a i{color:inherit!important;}
33.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.hyperlink-style-1{color:rgba(33, 31, 31, 1)!important;}.hyperlink-style-1:hover{color:rgba(221, 8, 138, 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(255, 255, 255, 1)!important;}.pagination-style-2 li a:hover{color:rgba(221, 8, 138, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.pagination-style-2 li.active a{color:rgba(221, 8, 138, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(221, 8, 138, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255,255,255,1)!important;background-color:rgba(255, 255, 255, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}
33.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.button-style-2{color:rgba(221, 8, 138, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-2:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 0)!important;border-color:rgba(255,255,255,1)!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:rgba(221, 8, 138, 1)!important;}.hyperlink-style-3{color:rgba(0, 0, 0, 1)!important;}.hyperlink-style-3:hover{color:rgba(221, 8, 138, 1)!important;}.button-style-3{color:rgba(255, 255, 255, 1)!important;background-color:rgba(33, 31, 31, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-3:hover{color:rgba(221, 8, 138, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-4{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-4:hover{color:rgba(221, 8, 138, 1)!important;}</style> 34 <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode 35 defaults, and dynamically loads the locale + main (and banner if needed). --> 36
36<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="29fdc359-4e7c-4124-9d8f-335c77d83785"></script>
36 37 38 39 <!-- Follow Up Boss Tracker Code --> 40
40<script type="text/plain" data-consent-category="analytics"> 41 (function(w,i,d,g,e,t){w["WidgetTrackerObject"]=g;(w[g]=w[g]||function() 42 {(w[g].q=w[g].q||[]).push(arguments);}),(w[g].ds=1*new Date());(e="script"), 43 (t=d.createElement(e)),(e=d.getElementsByTagName(e)[0]);t.async=1;t.src=i; 44 e.parentNode.insertBefore(t,e);}) 45 (window,"https://widgetbe.com/agent",document,"widgetTracker"); 46 window.widgetTracker("create", "WT-KLSFOCDC"); 47 </script>
47 48 <!-- End Follow Up Boss Tracker Code --> 49
49<script> 50 (function utmParse() { 51 const url = new URL(window.location.href); 52 if (url.search) { 53 const utm = url.search.split(/\?|&/g).reduce((acc, current) => { 54 const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g); 55 if (matched) { 56 acc[matched[0]] = current.replace(`${matched[0]}=`, ''); 57 } 58 return acc; 59 }, {}); 60 if (Object.keys(utm).length) { 61 window.localStorage.setItem('utm_vars', JSON.stringify(utm)); 62 } else { 63 // Remove old utm vars 64 window.localStorage.removeItem('utm_vars'); 65 } 66 } 67 // Set referrer in local storage 68 // This is meant to be stored once to avoid self-referrals and to have the first referrer only. 69 if (!window.localStorage.getItem('referrer')) { 70 // Capture the Referrer URL 71 const referrer = document.referrer; 72 if (referrer) { 73 // Only store the referrer if it comes from outside the current domain (to avoid self-referrals) 74 const currentDomain = window.location.hostname; 75 const referrerDomain = new URL(referrer).hostname; 76 77 if (referrerDomain !== currentDomain) { 78 // Store it in localStorage 79 localStorage.setItem('referrer', referrer); 80 } 81 } 82 } 83 })(); 84 </script>
84 85 <meta name="google-site-verification" content="VhgX6FHkZUkBabb5HZeLNpwqacTbBhKeh61YBHhvfck" /> 86 <!-- GOOGLE TRANSLATE STYLES are moved to external CSS --> 87</head> 88<body> 89 <div id="google_translate_element" style="display: none"></div> 90 91 <nav id="global-navbar" data-el-id="b395957e-29e6-4bd5-99ee-352fbee7732a"> 92 <div class="header theme-auto"> 93 <div class="lp-container header__container"> 94 <div class="header__logo"> 95 <a href="/" class="logo"> 96 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx" 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/ie1d9l33tlypgkxlifcx 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/ie1d9l33tlypgkxlifcx 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx 982w" sizes="500px" class="logo__img dark" alt=""> 97 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx" 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/ie1d9l33tlypgkxlifcx 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/ie1d9l33tlypgkxlifcx 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx 982w" sizes="500px" class="logo__img light" alt=""> 98 </a> 99 </div> 100 101 <div class="header__right"> 102 <ul class="navigation"> 103 <li class="navigation__item sub-nav-container"> 104 <a href="#" class="navigation__link">Exclusive Search</a> 105 <ul class="sub-nav"> 106 <li class="sub-nav__item"><a class="sub-nav__link" data-type="MODAL_3f19c29d-7d36-4284-8624-f57775fb1636">Custom Search</a></li> 107 <li class="sub-nav__item"><a href="/properties" class="sub-nav__link">Exclusive Listings</a></li> 108 <li class="sub-nav__item"><a href="/home-search/listings?search_type=envelope&south=25.23480968696138&west=-80.80788962968748&north=26.140695843222957&east=-79.80813377031248&property_type%5B%5D=Co-op&property_type%5B%5D=Condo&property_type%5B%5D=Multi-family&property_type%5B%5D=Manufactured&property_type%5B%5D=Residential&property_type%5B%5D=Townhouse&property_type%5B%5D=Co-op&property_type%5B%5D=Condo&property_type%5B%5D=Multi-family&property_type%5B%5D=Manufactured&property_type%5B%5D=Residential&property_type%5B%5D=Townhouse&status%5B%5D=Active&status_days%5BActive%5D=36500&status%5B%5D=Under+Contract&status_days%5BUnder+Contract%5D=36500&status%5B%5D=Pending&status_days%5BPending%5D=36500&status_days%5BSold%5D=180&mailer_schedule=instant&order=price%3Adesc&page=1" class="sub-nav__link">Luxury Homes</a></li> 109 <li class="sub-nav__item"><a href="/home-search/listings?search_type=envelope&south=25.23480968696138&west=-80.80788962968748&north=26.140695843222957&east=-79.80813377031248&property_type%5B%5D=Condo&property_type%5B%5D=Condo&status%5B%5D=Active&status_days%5BActive%5D=36500&status%5B%5D=Under+Contract&status_days%5BUnder+Contract%5D=36500&status%5B%5D=Pending&status_days%5BPending%5D=36500&status_days%5BSold%5D=180&mailer_schedule=instant&order=price%3Adesc&page=1" class="sub-nav__link">Luxury Condos</a></li> 110 </ul> 111 </li> 112 <li class="navigation__item sub-nav-container"> 113 <a href="#" class="navigation__link">Buying</a> 114 <ul class="sub-nav"> 115 <li class="sub-nav__item"><a href="/buyer-services" class="sub-nav__link">Buyer Resources</a></li> 116 <li class="sub-nav__item"><a href="/new-developments" class="sub-nav__link">New Developments</a></li> 117 <li class="sub-nav__item"><a href="/neighborhoods" class="sub-nav__link">Neighborhoods</a></li> 118 <li class="sub-nav__item"><a href="/testimonials" class="sub-nav__link">Testimonials</a></li> 119 <li class="sub-nav__item"><a href="/markets" class="sub-nav__link">Markets</a></li> 120 </ul> 121 </li> 122 <li class="navigation__item sub-nav-container"> 123 <a href="#" class="navigation__link">Selling</a> 124 <ul class="sub-nav"> 125 <li class="sub-nav__item"><a href="/seller-services" class="sub-nav__link">Seller Resources</a></li> 126 <li class="sub-nav__item"><a href="/home-valuation" class="sub-nav__link">Home Valuation</a></li> 127 </ul> 128 </li> 129 <li class="navigation__item sub-nav-container"> 130 <a href="#" class="navigation__link">Other Services</a> 131 <ul class="sub-nav"> 132 <li class="sub-nav__item"><a href="/relocation-services" class="sub-nav__link">Relocation</a></li> 133 <li class="sub-nav__item"><a href="/rental-services" class="sub-nav__link">Rental</a></li> 134 <li class="sub-nav__item"><a href="/interior-design-services" class="sub-nav__link">Interior Design</a></li> 135 <li class="sub-nav__item"><a href="/legal-and-title-services" class="sub-nav__link">Legal & Title</a></li> 136 <li class="sub-nav__item"><a href="/lending-connections" class="sub-nav__link">Lending Connections</a></li> 137 </ul> 138 </li> 139 <li class="navigation__item"> 140 <a href="/media" class="navigation__link">Media</a> 141 </li> 142 <li class="navigation__item"> 143 <a href="/about-us" class="navigation__link">About Us</a> 144 </li> 145 <li class="navigation__item"> 146 <a data-type="CONTACT_US" class="navigation__link">Contact Us</a> 147 </li> 148 149 </ul> 150 151 152 153 154 155 <button class="hamburger-component header__hamburger">
156 <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg"> 157 <circle cx="30" cy="30" r="30" /> 158 <rect class="line line--top" x="18" y="26" width="24" height="2" /> 159 <rect class="line line--bottom" x="30" y="32" width="12" height="2" /> 160 </svg> 161 </button> 162 </div> 163 164 </div> 165</div> 166 </nav> 167 <div id="global-sidemenu" class="sidemenu" data-el-id="1575f740-92ae-4292-919d-936adffb0f46"> 168 <div class="sidemenu__container"> 169 170 171 <div class="sidemenu__img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/pz9vhya2m7b2so8xmzxq');"> 172 </div> 173 174 <div class="sidemenu__wrapper"> 175 <div class="sidemenu__header"> 176 <button class="sidemenu__toggle toggle sidemenu__toggle--right">Close Menu</button> 177 </div> 178 179 <div class="sidemenu__nav"> 180 <ul class="navigation"> 181 <li class="navigation__item" > 182 <a href="/" class="navigation__link" >Home</a> 183 </li> 184 <li class="navigation__item" > 185 <a href="/about-us" class="navigation__link" >About the Edit</a> 186 </li> 187 <li class="navigation__item" > 188 <a href="/media" class="navigation__link" >Media</a> 189 </li> 190 <li class="navigation__item sub-nav-container" data-wow-delay="2.3s"> 191 <a href="#" class="navigation__link"> 192 Exclusive Search 193 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="arrow" xmlns="http://www.w3.org/2000/svg"> 194 <path d="M7.41 8.58984L12 13.1698L16.59 8.58984L18 9.99984L12 15.9998L6 9.99984L7.41 8.58984Z" fill="currentColor"/> 195 </svg> 196 </a> 197 <ul class="sub-nav"> 198 <li class="sub-nav__item"><a class="sub-nav__link feature" data-type="MODAL_3f19c29d-7d36-4284-8624-f57775fb1636">Custom Search</a></li> 199 <li class="sub-nav__item"><a href="/properties" class="sub-nav__link feature">Exclusive Listings</a></li> 200 <li class="sub-nav__item"><a href="/home-search/listings?search_type=envelope&south=25.23480968696138&west=-80.80788962968748&north=26.140695843222957&east=-79.80813377031248&property_type%5B%5D=Co-op&property_type%5B%5D=Condo&property_type%5B%5D=Multi-family&property_type%5B%5D=Manufactured&property_type%5B%5D=Residential&property_type%5B%5D=Townhouse&property_type%5B%5D=Co-op&property_type%5B%5D=Condo&property_type%5B%5D=Multi-family&property_type%5B%5D=Manufactured&property_type%5B%5D=Residential&property_type%5B%5D=Townhouse&status%5B%5D=Active&status_days%5BActive%5D=36500&status%5B%5D=Under+Contract&status_days%5BUnder+Contract%5D=36500&status%5B%5D=Pending&status_days%5BPending%5D=36500&status_days%5BSold%5D=180&mailer_schedule=instant&order=price%3Adesc&page=1" class="sub-nav__link feature">Luxury Homes</a></li> 201 <li class="sub-nav__item"><a href="/home-search/listings?search_type=envelope&south=25.23480968696138&west=-80.80788962968748&north=26.140695843222957&east=-79.80813377031248&property_type%5B%5D=Condo&property_type%5B%5D=Condo&status%5B%5D=Active&status_days%5BActive%5D=36500&status%5B%5D=Under+Contract&status_days%5BUnder+Contract%5D=36500&status%5B%5D=Pending&status_days%5BPending%5D=36500&status_days%5BSold%5D=180&mailer_schedule=instant&order=price%3Adesc&page=1" class="sub-nav__link feature">Luxury Condos</a></li> 202 <li class="sub-nav__item"><a href="/new-developments" class="sub-nav__link feature">New Developments</a></li> 203 </ul> 204 205 </li> 206 <li class="navigation__item" > 207 <a href="/services" class="navigation__link" >Services</a> 208 </li> 209 <li class="navigation__item" > 210 <a href="/home-valuation" class="navigation__link" >Home Valuation</a> 211 </li> 212 <li class="navigation__item" > 213 <a href="/mortgagecalculator" class="navigation__link" >Mortgage Calculator</a> 214 </li> 215 <li class="navigation__item" > 216 <a href="/neighborhoods" class="navigation__link" >Neighborhoods</a> 217 </li> 218 <li class="navigation__item sub-nav-container" data-wow-delay="2.8s"> 219 <a href="#" class="navigation__link"> 220 Resources 221 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="arrow" xmlns="http://www.w3.org/2000/svg"> 222 <path d="M7.41 8.58984L12 13.1698L16.59 8.58984L18 9.99984L12 15.9998L6 9.99984L7.41 8.58984Z" fill="currentColor"/> 223 </svg> 224 </a> 225 <ul class="sub-nav"> 226 <li class="sub-nav__item"><a href="/buyer-services" class="sub-nav__link feature">Buying</a></li> 227 <li class="sub-nav__item"><a href="/seller-services" class="sub-nav__link feature">Selling</a></li> 228 </ul> 229 230 </li> 231 <li class="navigation__item" > 232 <a href="/buyer-seller-questionnaire" class="navigation__link" >Getting To Know you</a> 233 </li> 234 <li class="navigation__item"> 235 <a data-type="CONTACT_US" class="navigation__link">Contact Us</a> 236 </li> 237 <li class="navigation__item" > 238 <a href="/home-search/account" class="navigation__link" >My Search Portal</a> 239 </li> 240 </ul> 241 </div> 242 243 <div class="sidemenu__socials"> 244 <ul class="lp-socials social_icons-style-2 sidemenu-social-links"> 245 246 <li> 247 <a 248 href="https://www.instagram.com/theedit_realestate/" 249 class="lp-socials__link socials__item" 250 data-wow-delay="0s" 251 target="_blank" 252 aria-label="INSTAGRAM" 253 >
254 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 255 </a> 256 </li> 257 <li> 258 <a 259 href="https://www.facebook.com/people/The-Edit-Luxury-Real-Estate-Brokerage/100089863418581/" 260 class="lp-socials__link socials__item" 261 data-wow-delay="0.1s" 262 target="_blank" 263 aria-label="FACEBOOK" 264 > 265 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 266 </a> 267 </li> 268 <li> 269 <a 270 href="https://www.linkedin.com/in/lindsey-lamchick-00b7a6a4/" 271 class="lp-socials__link socials__item" 272 data-wow-delay="0.2s" 273 target="_blank" 274 aria-label="LINKEDIN" 275 > 276 <span class="lp-i lp-i--linkedin" aria-hidden="true"></span> 277 </a> 278 </li> 279 <li> 280 <a 281 href="https://www.zillow.com/profile/LindseyLamchick/" 282 class="lp-socials__link socials__item" 283 data-wow-delay="0.3s" 284 target="_blank" 285 aria-label="ZILLOW" 286 > 287 <span class="lp-i lp-i--zillow" aria-hidden="true"></span> 288 </a> 289 </li> 290 </ul> </div> 291 </div> 292</div> 293 294 </div> 295 <div id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51"> 296 <div class="btn-holder" 297style=" 298--backgroundColor: rgba(20, 20, 20, 1); 299--textColor: rgba(255, 255, 255, 1); 300--pillTextColor: rgba(26, 26, 26, 1); 301--pillBackgroundColor: rgba(255, 255, 255, 1);"> 302 303 <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Let's Connect</button> 304</div> 305 306 307<div class="pop-up" style="--backgroundColor: rgba(20, 20, 20, 1); --textColor: rgba(255, 255, 255, 1);"> 308 <div class="lp-container"> 309 <form data-type="contact-form" class="contact-form"> 310 <div class="contact-form__container"> 311 <h3 class="lp-h3">Leave a Message</h3> 312 313 <div class="contact-form__content"> 314 <div class="contact-form__inputs-container"> 315 <div class="contact-form__item"> 316 <input 317 id="__FullName" 318 type="text" name="name" 319 class="lp-input lp-input--light" 320 required 321 placeholder="Full Name"> 322 </div> 323 <div class="contact-form__item"> 324 <input 325 id="__Email" 326 type="email" name="email" 327 class="lp-input js-email-input lp-input--light" 328 required 329 placeholder="Email"> 330 </div> 331 <div class="contact-form__item"> 332 <input 333 class="lp-input lp-input--light" 334 type="tel" 335 placeholder="Phone" 336 id="__Phone" 337 name="phone" 338 required> 339 </div> 340 341 <div class="contact-form__item input-group-select"> 342 <select name="interest" id="-field-interest" placeholder="Interest" 343 class="lp-input dropdown-select js-select js-form-element lp-input--light" required> 344 <option value="" disabled selected data-label="Interest">Interested in...</option> 345 <option value="Selling & Buying">Selling & Buying</option> 346 <option value="Selling">Selling</option> 347 <option value="Buying">Buying</option> 348 <option value="Renting">Renting</option> 349 <option value="Other">Other</option> 350 </select> 351 <label for="-field-interest" class="lp-label sr-only">Interest</label> 352 </div> 353 354 <div class="contact-form__item"> 355 <textarea 356 name="message" 357 rows="4" 358 id="__Message"
359 class="lp-input lp-input--light" 360 placeholder="Message" 361 required></textarea> 362 </div> 363 <div class="lp-disclaimer"> <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label> 364 <label class='lp-tcr-content'> 365 <span class='lp-tcr-checkbox'> 366 <input 367 type='checkbox' 368 id='-termsAccepted' 369 name='termsAccepted' 370 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 371 oninput="this.setCustomValidity('')" 372 required 373 /></span> 374 <span class='lp-tcr-message'> 375 376 I agree to be contacted by 377 The Edit 378 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 379 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 380 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 381 </span> 382 </label> 383 384</div> 385 <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit contact-form__item">Submit</button> 386 387 <div class="lp-h-pot"> 388 <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 389 </div> 390 391 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 392 <input type="hidden" name="button_text" value="Let's Connect"> 393 </div> 394 </div> 395 </div> 396 397 398 <div class="success-block"> 399 <h3 class="lp-h3 success-message">Thank you for your message. We will be in touch with you shortly.</h3> 400 401 </div> 402 </form> 403 404 <button type="button" class="close-btn lp-ico lp-ico-close"></button> 405 406 407 </div> 408</div> 409 410 411 </div> 412 <section class="image-section is-font-color-light is-background-color-dark" id="section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460" data-el-id="bce33bae-7388-4ccc-abff-e0ce18ec46d2"> 413
414<script> 415 (function(){ 416 const sectionId = 'section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460' 417 const section = document.querySelector(`#${sectionId}`); 418 var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image'); 419 420 if('false' === 'true') { 421 section.classList.add('parallax-enabled'); 422 section.style.setProperty('--sectionBackground', sectionBg); 423 section.style.setProperty('background', 'transparent'); 424 } 425 })() 426</script>
426 427 428 429<div class="opening-with-search height-class-600px "> 430 <div class="center-block"> 431 <button class='lp-play video-section__play-button js-play-btn'></button> 432 <div class="container lp-container"> 433 434 <div class="lp-title-group"> 435 436 437 <h1 class="h1 lp-h1 opening-title lp-pre-line" style="color: rgba(255, 255, 255, 1)">Contact Us</h1> 438 439 440 </div> 441 442 <div class="buttons"></div> 443 444 </div> 445 </div> 446 <div class="bottom-spacer"></div> 447</div> 448</section> 449<section id="section-dd5660f9-dde4-4bb2-9a67-826841c9d871" class="solid-section is-font-color-light is-background-color-dark" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 450 451<div class="boxed-text lp-vertical-paddings redesign"> 452 <div class="lp-container"> 453 454 <div class="boxed-text__description"><div class="contactInfo"> 455<h3>Contact Information</h3> 456<br /> 457<div class="site-footr__col-content lp-a"> 458<p><a class="lp-a" href="/cdn-cgi/l/email-protection#234a4d454c63574b460e46474a570d404c4e"><span class="__cf_email__" data-cfemail="4a23242c250a3e222f672f2e233e64292527">[email protected]</span></a><br /><a class="lp-a" href="tel:3057178711">(305) 717-8711</a></p> 459</div> 460</div> 461<div class="socialMediaInfo"> 462<h3>Our Social Media</h3> 463<br /> 464<div class="container-icons2"> 465<ul class="lp-socials footer__middle__wrapper__social__icons social_icons-style-2"> 466<ul class="lp-socials social_icons-style-2 site-footer__socials socials"> 467<li><a class="lp-socials__link socials__item" href="https://www.instagram.com/theedit_realestate/" target="_blank" rel="noopener" data-wow-delay="0s" aria-label="INSTAGRAM"> <span class="lp-i lp-i--instagram" aria-hidden="true">a</span> </a></li> 468<li><a class="lp-socials__link socials__item" href="https://www.facebook.com/people/The-Edit-Luxury-Real-Estate-Brokerage/100089863418581/" target="_blank" rel="noopener" data-wow-delay="0.1s" aria-label="FACEBOOK"> <span class="lp-i lp-i--facebook" aria-hidden="true">a</span> </a></li> 469<li><a class="lp-socials__link socials__item" href="https://www.linkedin.com/company/98342267/admin/feed/posts/" target="_blank" rel="noopener" data-wow-delay="0.2s" aria-label="LINKEDIN"> <span class="lp-i lp-i--linkedin" aria-hidden="true">a</span> </a></li> 470<li><a class="lp-socials__link socials__item" href="https://www.zillow.com/profile/LindseyLamchick/" target="_blank" rel="noopener" data-wow-delay="0.3s" aria-label="ZILLOW"> <span class="lp-i lp-i--zillow" aria-hidden="true">a</span> </a></li> 471<li><a class="lp-socials__link socials__item" href="https://www.tiktok.com/@theedit_realestate" target="_blank" rel="noopener" data-wow-delay="0.4s" aria-label="TIKTOK"> <span class="lp-i lp-i--tiktok" aria-hidden="true">a</span> </a></li> 472</ul> 473</ul> 474</div> 475</div></div> 476 </div> 477</div> 478</section> 479<section id="section-9b6dcd29-e314-422d-9b92-bcd75434a292" class="solid-section is-font-color-dark is-background-color-light" data-el-id="19e4a145-7cee-4338-8873-657ce2636b4c"> 480 481<div class="newsletter-signup lp-vertical-paddings redesign"> 482 <div class="lp-container-custom"> 483 <form data-type="contact-form" class="newsletter-signup__form"> 484 <div class="newsletter-signup__form-container"> 485 <div class="lp-title-group"> 486 <h2 class="lp-h2">Receive Our Newsletter</h2> 487 488 </div> 489 <div class="newsletter-signup-form"> 490 <div class="newsletter-signup__inputs-container"> 491 <input id="section-9b6dcd29-e314-422d-9b92-bcd75434a292__newsSignFirstName" type="text" name="name" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Name"> 492 493 <input id="section-9b6dcd29-e314-422d-9b92-bcd75434a292__newsSignEmail" type="email" name="email" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Email" pattern="[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+"> 494 495 <button type="submit" class="lp-btn lp-btn--filled lp-btn--light submit button-style-1 newsletter-signup__form-item lp-btn--mob-full-width">Submit</button> 496 497 <div class="lp-h-pot"> 498 <input id="section-9b6dcd29-e314-422d-9b92-bcd75434a292__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 499 </div> 500 501 <input style="display: none;" type="text" name="source" value="NEWSLETTER_SIGNUP" /> 502 </div> 503 </div> 504 <div class="lp-disclaimer"> <label style='display: none;' for='section-9b6dcd29-e314-422d-9b92-bcd75434a292-termsAccepted'>Opt In/Disclaimer Consent:</label> 505 <label class='lp-tcr-content'> 506 <span class='lp-tcr-checkbox'> 507 <input 508 type='checkbox' 509 id='section-9b6dcd29-e314-422d-9b92-bcd75434a292-termsAccepted' 510 name='termsAccepted' 511 oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
512 oninput="this.setCustomValidity('')" 513 required 514 /></span> 515 <span class='lp-tcr-message'> 516 517 I agree to be contacted by 518 The Edit 519 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 520 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 521 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 522 </span> 523 </label> 524 525</div> 526 </div> 527 <div class="success-block"> 528 <div class="lp-title-group"> 529 <h2 class="lp-h2">Thank You</h2> 530 <div class="lp-text--subtitle">You have successfully been added to our Newsletter. Stay tuned for the latest updates sent straight to your inbox!</div> 531 </div> 532 </div> 533 </form> 534 535 </div> 536</div> 537</section> 538 539 <div id="modals" class="modals"></div> 540 <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="f3892c1c-f128-483a-b998-cb1ea48c25c1"> 541 <div class="site-footer"> 542 543 <div class="site-footer__bottom"> 544 <div class="lp-container"> 545 546 <div class="site-footer__logo-bar"> 547 <div class="site-footer__logo-container"> 548 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx" 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/ie1d9l33tlypgkxlifcx 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/ie1d9l33tlypgkxlifcx 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ie1d9l33tlypgkxlifcx 982w" sizes="268px" alt=""> 549 </div> 550 <div class="site-footer__logo-container"> 551 552 </div> 553 </div> 554 555 <div class="site-footer__info"> 556 <div class="site-footer__col"> 557 <h5 class="lp-h5 site-footer__col-title">Contact Info</h5> 558 559 <div class="site-footer__col-content lp-a"><p><a href="/cdn-cgi/l/email-protection#b8d1d6ded7f8ccd0dd95dddcd1cc96dbd7d5"><span class="__cf_email__" data-cfemail="ee8287808a9d8b97ae9a868bc38b8a879ac08d8183">[email protected]</span></a></p> 560<p data-pm-slice="1 1 []"><span style="text-decoration: underline;"><a href="tel:3057178711">(786) 321-9019</a></span></p></div> 561 </div> 562 563 564 <div class="site-footer__col"> 565 <h5 class="lp-h5 site-footer__col-title">Address</h5> 566 567 <div class="site-footer__col-content lp-a"><p>6910 N Kendall Dr.<br />Miami, FL 33156</p></div> 568 </div> 569 570 <div class="site-footer__navigation-wrap"> 571 <ul class="footer-navigation"> 572 <li class="footer-navigation__item"> 573 <a href="/" class="footer-navigation__link">Home</a> 574 </li> 575 <li class="footer-navigation__item"> 576 <a href="/team" class="footer-navigation__link">Meet the Team</a> 577 </li> 578 <li class="footer-navigation__item"> 579 <a href="/home-valuation" class="footer-navigation__link">Home Valuation</a> 580 </li> 581 <li class="footer-navigation__item"> 582 <a href="/neighborhoods" class="footer-navigation__link">Neighborhoods</a> 583 </li> 584 <li class="footer-navigation__item"> 585 <a href="/testimonials" class="footer-navigation__link">Testimonials</a> 586 </li> 587 <li class="footer-navigation__item"> 588 <a href="/contact-us" class="footer-navigation__link">Contact Us</a> 589 </li> 590 </ul> 591 592 <ul class="lp-socials social_icons-style-2 site-footer__socials socials"> 593 594 <li> 595 <a 596 href="https://www.instagram.com/theedit_realestate/" 597 class="lp-socials__link socials__item" 598 data-wow-delay="0s" 599 target="_blank" 600 aria-label="INSTAGRAM" 601 >
602 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 603 </a> 604 </li> 605 <li> 606 <a 607 href="https://www.facebook.com/people/The-Edit-Luxury-Real-Estate-Brokerage/100089863418581/" 608 class="lp-socials__link socials__item" 609 data-wow-delay="0.1s" 610 target="_blank" 611 aria-label="FACEBOOK" 612 > 613 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 614 </a> 615 </li> 616 <li> 617 <a 618 href="https://www.linkedin.com/company/98342267/admin/feed/posts/" 619 class="lp-socials__link socials__item" 620 data-wow-delay="0.2s" 621 target="_blank" 622 aria-label="LINKEDIN" 623 > 624 <span class="lp-i lp-i--linkedin" aria-hidden="true"></span> 625 </a> 626 </li> 627 <li> 628 <a 629 href="https://www.zillow.com/profile/LindseyLamchick/" 630 class="lp-socials__link socials__item" 631 data-wow-delay="0.3s" 632 target="_blank" 633 aria-label="ZILLOW" 634 > 635 <span class="lp-i lp-i--zillow" aria-hidden="true"></span> 636 </a> 637 </li> 638 <li> 639 <a 640 href="https://www.tiktok.com/@theedit_realestate" 641 class="lp-socials__link socials__item" 642 data-wow-delay="0.4s" 643 target="_blank" 644 aria-label="TIKTOK" 645 > 646 <span class="lp-i lp-i--tiktok" aria-hidden="true"></span> 647 </a> 648 </li> 649 </ul> 650 651 </div> 652 </div> 653 654 <div class="site-footer__disclaimer"><p style="font-size: 12px;">All information is deemed reliable but not guaranteed and should be independently reviewed and verified.</p> 655<p style="filter: invert();"><img style="filter: invert;" src="https://media-production.lp-cdn.com/media/2bf02b11-9284-4cf2-9c87-611405ac6076" alt width="100px" height="auto"></p></div> 656 657 <div class="site-footer__copy"> 658 <div class="lp-a site-footer__copy-lp"> 659 <span>Website designed and developed by</span> 660 <a href="https://www.luxurypresence.com/" class="hyperlink-style-4" target="_blank">Luxury Presence</a> 661 </div> 662 <div>Copyright © <span class="auto-year-update">2026</span> | <a href="/terms-and-conditions">Privacy Policy</a></div> 663 </div> 664 665 </div> 666 </div> 667 668 669 670</div> 671 672 </footer> 673 674 <div id="modal-global-contact-us" class="modal " 675 data-el-id="" 676 style="background-color: ;" 677 > 678 <div class="modal-content"> 679 <div class="section opening" style="background-color: #ffffff; --bgOpacity: rgba(0,0,0, .6); "> 680 <div class="left" style="color: #000000;"> 681 682 <h2 class="lp-h2">Get in Touch</h2> 683 684 <form class="contact-form__form" data-type="contact-form"> 685 <div class="input-container"> 686 <input id="-cmp-name" name="firstName" type="text" class="lp-input lp-input--dark contact-form__input" placeholder="First Name" required> 687 </div> 688 689 <div class="input-container"> 690 <input id="-cmp-name" name="lastName" type="text" class="lp-input lp-input--dark contact-form__input" placeholder="Last Name" required> 691 </div> 692 693 <div class="input-container"> 694 <input id="-cmp-email" name="email" type="email" class="lp-input lp-input--dark contact-form__input" placeholder="Email" required pattern="[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+"> 695 </div> 696 697 <div class="input-container"> 698 <input id="-cmp-phone" name="phone" type="tel" class="lp-in
698put lp-input--dark contact-form__input" placeholder="Phone" required> 699 </div> 700 701 <div class="input-container textarea"> 702 <textarea id="-cmp-contactMessage" placeholder="Message" name="message" required type="text" class="lp-input lp-input--dark contact-form__input"></textarea> 703 </div> 704 705 <div class="h-pot"> 706 <label for="-cmp-middleName">Middle Name</label> 707 <input id="-cmp-middleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 708 </div> 709 710 <div class="lp-disclaimer"> <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label> 711 <label class='lp-tcr-content'> 712 <span class='lp-tcr-checkbox'> 713 <input 714 type='checkbox' 715 id='-termsAccepted' 716 name='termsAccepted' 717 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 718 oninput="this.setCustomValidity('')" 719 required 720 /></span> 721 <span class='lp-tcr-message'> 722 723 I agree to be contacted by 724 The Edit 725 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 726 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 727 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 728 </span> 729 </label> 730 731 </div> 732 733 <input type="hidden" name="source" value="CONTACT_INQUIRY"> 734 735 <div class="button-holder"> 736 <button class="contact-form__submit btn lp-btn lp-btn--filled button-style-1" type="submit"> 737 <span class="sync-icon lp-i--spin"> 738 <svg width="20" height="15" viewBox="0 0 20 15" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 739 <path d="M16.3636 3.66667L12.7273 7.33333H15.4545C15.4545 10.3675 13.0091 12.8333 10 12.8333C9.08182 12.8333 8.20909 12.6042 7.45455 12.1917L6.12727 13.53C7.24545 14.245 8.57273 14.6667 10 14.6667C14.0182 14.6667 17.2727 11.385 17.2727 7.33333H20L16.3636 3.66667ZM4.54545 7.33333C4.54545 4.29917 6.99091 1.83333 10 1.83333C10.9182 1.83333 11.7909 2.0625 12.5455 2.475L13.8727 1.13667C12.7545 0.421666 11.4273 0 10 0C5.98182 0 2.72727 3.28167 2.72727 7.33333H0L3.63636 11L7.27273 7.33333H4.54545Z" /> 740 </svg> 741 </span> 742 743 <span class="success-icon"> 744 <svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 745 <path d="M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM10 18C5.59 18 2 14.41 2 10C2 5.59 5.59 2 10 2C14.41 2 18 5.59 18 10C18 14.41 14.41 18 10 18ZM14.59 5.58L8 12.17L5.41 9.59L4 11L8 15L16 7L14.59 5.58Z" /> 746 </svg> 747 </span> 748 749 Submit<span class="success-text">ted</span> 750 </button> 751 </div> 752 753 </form> 754 755 </div> 756 <div class="right" style="color: #ffffff;"> 757 <div class="img-wrapper"> 758 <img src="https://media-production.lp-cdn.com/media/c74719fe-ca96-4bd2-8261-2f093b949e88" class="img" alt="contact-form-background"> 759 </div> 760 761 <h3 class="lp-h3">Contact Details</h3> 762 763 <div class="top-holder"> 764 <div class="agent-row lp-a"> 765 <div class="agent"> 766 <p></p> 767 <p class="lp-pre-line"><p><strong>The Edit.</strong></p> 768 <p><a href="/cdn-cgi/l/email-protection#a6cfc8c0c9e6d2cec38bc3c2cfd288c5c9cb"><span class="__cf_email__" data-cfemail="c7aea9a1a887b3afa2eaa2a3aeb3e9a4a8aa">[email protected]</span></a></p> 769 <p><br /><br /></p> 770 <p>6910 N Kendall Dr.</p> 771 <p>Miami, FL 33156</p></p> 772 </div> 773 774 775 </div> 776 777 </div> 778 779 <ul class="lp-socials social_icons-style-1 site-footer__socials socials"> 780 781 <li> 782 <a 783 href="https://www.instagram.com/theedit_realestate/" 784 class="lp-socials__link socials__item" 785 data-wow-delay="0s" 786 target="_blank" 787 aria-label="INSTAGRAM" 788 >
789 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 790 </a> 791 </li> 792 <li> 793 <a 794 href="https://www.facebook.com/people/The-Edit-Luxury-Real-Estate-Brokerage/100089863418581/" 795 class="lp-socials__link socials__item" 796 data-wow-delay="0.1s" 797 target="_blank" 798 aria-label="FACEBOOK" 799 > 800 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 801 </a> 802 </li> 803 <li> 804 <a 805 href="https://www.linkedin.com/in/lindsey-lamchick-00b7a6a4/" 806 class="lp-socials__link socials__item" 807 data-wow-delay="0.2s" 808 target="_blank" 809 aria-label="LINKEDIN" 810 > 811 <span class="lp-i lp-i--linkedin" aria-hidden="true"></span> 812 </a> 813 </li> 814 <li> 815 <a 816 href="https://www.zillow.com/profile/LindseyLamchick/" 817 class="lp-socials__link socials__item" 818 data-wow-delay="0.3s" 819 target="_blank" 820 aria-label="ZILLOW" 821 > 822 <span class="lp-i lp-i--zillow" aria-hidden="true"></span> 823 </a> 824 </li> 825 <li> 826 <a 827 href="https://www.tiktok.com/@theedit_realestate" 828 class="lp-socials__link socials__item" 829 data-wow-delay="0.4s" 830 target="_blank" 831 aria-label="TIKTOK" 832 > 833 <span class="lp-i lp-i--tiktok" aria-hidden="true"></span> 834 </a> 835 </li> 836 </ul> 837 838 </div> 839 </div> 840 841 </div> 842 <button class="close lp-close" type="button" aria-label="close modal"> 843 <span class="lp-close-icon" aria-hidden="true"></span> 844 </button> 845 </div> 846 <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;"> 847 <style> 848 #qualifying-questions-modal .custom-select-toggle { 849 border: 1px solid #848484; 850 border-radius: 8px; 851 padding: 12px 16px; 852 } 853 854 #qualifying-questions-modal .custom-select-toggle.is-placeholder { 855 color: #848484; 856 } 857 858 #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder { 859 color: #848484; 860 opacity: 1; 861 } 862 863 #qualifying-questions-modal .disclaimer-more { 864 display: none; 865 } 866 867 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more { 868 display: inline; 869 } 870 871 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis { 872 display: none; 873 } 874 </style>
vendor: 119 bytes, lines 874-875
874 875 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
875<script> 876 function toggleDisclaimerQualifyingQuestionsModal() { 877 const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text'); 878 const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer'); 879 880 if (disclaimerText.classList.contains('collapsed')) { 881 disclaimerText.classList.remove('collapsed'); 882 toggleButton.textContent = 'Read less'; 883 toggleButton.setAttribute('aria-expanded', 'true'); 884 } else { 885 disclaimerText.classList.add('collapsed'); 886 toggleButton.textContent = 'Read more'; 887 toggleButton.setAttribute('aria-expanded', 'false'); 888 } 889 } 890 </script>
890 891 <div style="max-width: 400px; width: 95%; margin: 0 auto;"> 892 <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;"> 893 <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;"> 894 <span aria-hidden="true">×</span> 895 </button> 896 <div style="padding: 40px 30px 32px;"> 897 <div style="text-align: left; margin-bottom: 32px;"> 898 <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;"> 899 Thanks, please provide more information to help serve you 900 </h2> 901 </div> 902 <form id="qualifying-questions-modal-form" data-type="contact-form"> 903 <input type="hidden" name="source" value="PROFILE_UPDATE" /> 904 <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" /> 905 <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" /> 906 <label for="qualifying-questions-modal-email" style="display:none;"> 907 Email 908 </label> 909 <label for="qualifying-questions-modal-triggerSource" style="display:none;"> 910 Trigger Source 911 </label> 912 913 <div style="margin-bottom: 20px;"> 914 <label for="qualifying-questions-modal-phoneNumber" style="display:none;"> 915 Phone Number 916 </label> 917 <input 918 type="tel" 919 id="qualifying-questions-modal-phoneNumber" 920 name="phoneNumber" 921 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;" 922 pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$" 923 required 924 placeholder="Phone" 925 aria-label="Phone Number" 926 inputmode="tel" 927 autocomplete="tel" 928 onfocus="this.style.borderColor='black';" 929 onblur="this.style.borderColor='#848484';" 930 /> 931 </div> 932 933 <div style="margin-bottom: 20px;"> 934 <label for="qualifying-questions-modal-interest" style="display:none;"> 935 Interest 936 </label> 937 <select 938 id="qualifying-questions-modal-interest" 939 name="interest" 940 required 941 data-label="Interest" 942 aria-label="Interest" 943 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;" 944 onfocus="this.style.borderColor='black'; this.style.color='black';" 945 onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';" 946 > 947 <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option> 948 <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option> 949 <option value="Selling" style="background: #fff; color: black;">Selling</option> 950 <option value="Buying" style="background: #fff; color: black;">Buying</option> 951 <option value="Renting" style="background: #fff; color: black;">Renting</option> 952 <option value="Other" style="background: #fff; color: black;">Other</option> 953 </select> 954 </div> 955 956 <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;"> 957 <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label> 958 <label class='lp-tcr-content'>
959 <span class='lp-tcr-checkbox'> 960 <input 961 type='checkbox' 962 id='qualifying-questions-modal-qualifying-questions-termsAccepted' 963 name='termsAccepted' 964 aria-describedby='qualifying-questions-modal-disclaimer-text' 965 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 966 oninput="this.setCustomValidity('')" 967 required 968 /></span> 969 <span class='lp-tcr-message'> 970 <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;"> 971 972 I agree to be contacted by 973 <strong>The Edit</strong> 974 via call, email, and text <span class="disclaimer-more">for real estate services. 975 To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 976 You can also click the unsubscribe link in the emails. 977 Message and data rates may apply. Message frequency may vary.</span> 978 <span class="disclaimer-ellipsis">...</span> 979 <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>. 980 </div> 981 <button 982 id="qualifying-questions-modal-toggle-disclaimer" 983 type="button" 984 style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;" 985 aria-expanded="false" 986 onclick="toggleDisclaimerQualifyingQuestionsModal()" 987 > 988 Read more 989 </button> 990 </span> 991 </label> 992 </div> 993 994 <div> 995 <button 996 type="submit" 997 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;" 998 onmouseover="this.style.background='transparent'; this.style.color='black';" 999 onmouseout="this.style.background='black'; this.style.color='white';" 1000 > 1001 Submit 1002 </button> 1003 </div> 1004 </form> 1005 </div> 1006 </div> 1007 </div> 1008 </div> 1009 1010
1010<script> 1011 (function() { 1012 var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy")); 1013 1014 if ("IntersectionObserver" in window && lazyVideos.length > 0) { 1015 var lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 1016 entries.forEach(function(video) { 1017 if (video.isIntersecting) { 1018 for (var source in video.target.children) { 1019 var videoSource = video.target.children[source]; 1020 if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") { 1021 videoSource.src = videoSource.dataset.src; 1022 } 1023 } 1024 1025 video.target.load(); 1026 video.target.classList.remove("lazy"); 1027 lazyVideoObserver.unobserve(video.target); 1028 } 1029 }); 1030 }); 1031 1032 lazyVideos.forEach(function(lazyVideo) { 1033 lazyVideoObserver.observe(lazyVideo); 1034 }); 1035 } 1036 })(); 1037 </script>
1037 1038 1039 <!-- Global site tag (gtag.js) - Google Analytics --> 1040
1040<script defer src="https://www.googletagmanager.com/gtag/js"></script>
1040 1041 1042 <!-- Google Tag Manager --> 1043
1043<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1044 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1045 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 1046 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1047 })(window,document,'script','dataLayer','GTM-KTG8HXV');</script>
1047 1048 <!-- End Google Tag Manager --> 1049 <!-- Google Tag Manager --> 1050
1050<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1051 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1052 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 1053 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1054 })(window,document,'script','dataLayer','GTM-NRB4D5T');</script>
1054 1055 <!-- End Google Tag Manager --> 1056 <!-- Google Tag Manager --> 1057
1057<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1058 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1059 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 1060 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1061 })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
1061 1062 <!-- End Google Tag Manager --> 1063 1064 1065 <!-- LP Tracker (divolte.js) - LP Divolte --> 1066
1066<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
1066 1067 <!-- LP Tracker (eventBus) - LP EventBus --> 1068
1068<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
1068 1069 1070
1070<script> 1071 window.dataLayer = window.dataLayer || []; 1072 document.sendGoogleTagManagerEvent = function() { 1073 /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */ 1074 if (window.navigator.globalPrivacyControl) { 1075 return; 1076 } 1077 1078 dataLayer.push(arguments); 1079 } 1080 1081 document.sendGoogleTagManagerEvent('js', new Date()); 1082 document.sendGoogleTagManagerEvent('config', 'G-YSWQTCDLZG', { page: location.pathname, location: location.href }); 1083 document.sendGoogleTagManagerEvent('config', 'UA-257498069-8', { page: location.pathname, location: location.href }); 1084 document.sendGoogleTagManagerEvent('config', 'G-7JNS6KR5CL', { page: location.pathname, location: location.href }); 1085 document.sendGoogleTagManagerEvent('config', 'G-157MFLVTP7', { page: location.pathname, location: location.href }); 1086 document.sendGoogleAnalyticsEvent = function(googleEvent) { 1087 document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, { 1088 event_category: googleEvent.eventCategory, 1089 event_label: googleEvent.eventLabel, 1090 value: googleEvent.eventValue, 1091 page: googleEvent.page, 1092 location: googleEvent.location 1093 }) 1094 }; 1095 1096 document.addEventListener("DOMContentLoaded", function() { 1097 (function() { 1098 //If the page has an element with ID of auto-year-update the element will be populated with the current year. 1099 var date = new Date(); 1100 var elements = document.getElementsByClassName('auto-year-update'); 1101 var i; 1102 for (i = 0; i < elements.length; i++) { 1103 elements[i].innerText = date.getFullYear(); 1104 } 1105 })(); 1106 if (window.divolteLp) { 1107 window.divolteLp('sendLpPageView', {}); 1108 } 1109 if (window.eventBusLp) { 1110 window.eventBusLp('sendLpPageView', {}); 1111 } 1112 }); 1113 </script>
1113 1114 1115 <!-- Facebook Pixel Code --> 1116
1116<script type="text/plain" data-consent-category="advertising">
vendor: 575 bytes, lines 1116-1125
1116 1117 !function(f,b,e,v,n,t,s) 1118 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 1119 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 1120 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 1121 n.queue=[];t=b.createElement(e);t.async=!0; 1122 t.src=v;s=b.getElementsByTagName(e)[0]; 1123 s.parentNode.insertBefore(t,s)}(window, document,'script', 1124 'https://connect.facebook.net/en_US/fbevents.js'); 1125 fbq('init', '
1125771609776960552
vendor: 58 bytes, lines 1125-1127
1125'); 1126 fbq('track', 'PageView'); 1127
1127</script>
1127 1128 <noscript><img height="1" width="1" style="display:none" 1129 src="https://www.facebook.com/tr?id=771609776960552&ev=PageView&noscript=1" 1130 /></noscript> 1131 <!-- End Facebook Pixel Code --> 1132 1133
1133<script> 1134 // Function to dynamically load a script 1135 function loadScript(url, callback) { 1136 var script = document.createElement('script'); 1137 script.type = 'text/javascript'; 1138 script.src = url; 1139 script.defer = true; 1140 script.async = true; 1141 script.onload = callback; 1142 document.head.appendChild(script); 1143 } 1144 1145 // Function to dynamically load CSS file 1146 function loadCSS(url) { 1147 var link = document.createElement("link"); 1148 link.rel = "stylesheet"; 1149 link.href = url; 1150 document.head.appendChild(link); 1151 } 1152 1153 // Global methods / variables that can be accessed by element js 1154 window.luxuryPresence = { 1155 libs: { 1156 loadJs: loadScript, 1157 loadCss: loadCSS, 1158 jsLibsMap: { 1159 paroller: { 1160 jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js', 1161 isLoaded: false, 1162 }, 1163 ionRangeSlider: { 1164 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js', 1165 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css', 1166 isLoaded: false, 1167 requires: ['jquery'], 1168 }, 1169 splide: { 1170 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js', 1171 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css', 1172 isLoaded: false, 1173 }, 1174 wow: { 1175 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js', 1176 isLoaded: false, 1177 }, 1178 jquery: { 1179 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js', 1180 isLoaded: false, 1181 }, 1182 slick: { 1183 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js', 1184 isLoaded: false, 1185 requires: ['jquery'], 1186 }, 1187 libphonenumber: { 1188 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js', 1189 isLoaded: false, 1190 }, 1191 }, 1192 }, 1193 }; 1194 </script>
1194 1195
1195<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>
1195 1196
1196<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1196 1197
1197<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1197 1198
1198<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1198 1199
1199<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>
1199 1200
1200<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>
1200 1201
1201<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>
1201 1202 1203 <!-- GOOGLE TRANSLATE SCRIPT --> 1204
1204<script> 1205 function googleTranslateElementInit() { 1206 // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'` 1207 // Language codes can be taken from here https://cloud.google.com/translate/docs/languages 1208 const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt'; 1209 document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){ 1210 translate.innerText = ''; 1211 new google.translate.TranslateElement({ 1212 pageLanguage: 'en', 1213 layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 1214 includedLanguages: window.customLanguages || DEFAULT_LANGUAGES, 1215 }, translate); 1216 }); 1217 } 1218 </script>
1218 1219
1219<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1219 1220
1220<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1220 1221 1222 <!-- GOOGLE TRANSLATE SCRIPT END--> 1223
1223<script> 1224 1225 // UI helpers 1226 (function () { 1227 1228 function getSideMenu () { 1229 return document.querySelector('body > div.sidemenu'); 1230 } 1231 1232 function sideMenuHide (instant) { 1233 var sideMenu = getSideMenu(); 1234 if (!sideMenu || !sideMenu.classList.contains('visible')) { 1235 return; 1236 } 1237 sideMenu.classList.remove('visible'); 1238 sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } })); 1239 window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} })); 1240 } 1241 1242 function sideMenuShow () { 1243 var sideMenu = getSideMenu(); 1244 if (!sideMenu || sideMenu.classList.contains('visible')) { 1245 return; 1246 } 1247 sideMenu.classList.add('visible'); 1248 sideMenu.dispatchEvent(new Event('lpui-show')); 1249 window.dispatchEvent(new Event('lpui-sidemenu-show')); 1250 } 1251 1252 function sideMenuToggle () { 1253 var sideMenu = getSideMenu(); 1254 if (!sideMenu) { 1255 return; 1256 } 1257 var isSideMenuVisible = sideMenu.classList.contains('visible'); 1258 if (isSideMenuVisible) { 1259 sideMenuHide(); 1260 } else { 1261 sideMenuShow(); 1262 } 1263 } 1264 1265 var scrollLockRequests = {}; 1266 window.__debug_scrollLockRequests = scrollLockRequests; 1267 var hideScrollStyles = ''+ 1268 'body {'+ 1269 'overflow: hidden;' + 1270 '}'; 1271 var hideScrollId = 'hide-body-scroll-style'; 1272 1273 function scrollLock () { 1274 var style = document.createElement('style'); 1275 style.id = hideScrollId; 1276 style.textContent = hideScrollStyles; 1277 document.head.appendChild(style); 1278 window.dispatchEvent(new Event('lpui-scroll-locked')); 1279 } 1280 1281 function scrollUnlock () { 1282 document.getElementById(hideScrollId)?.remove(); 1283 window.dispatchEvent(new Event('lpui-scroll-unlocked')); 1284 } 1285 1286 function requestScrollLock (lockId) { 1287 var wasLocked = Object.keys(scrollLockRequests).length > 0; 1288 scrollLockRequests[lockId || '__anonymous_lock'] = true; 1289 if (!wasLocked) { 1290 scrollLock(); 1291 } 1292 } 1293 1294 function releaseScrollLock (lockId) { 1295 if (lockId) { 1296 delete scrollLockRequests[lockId]; 1297 if (!Object.keys(scrollLockRequests).length) { 1298 scrollUnlock(); 1299 } 1300 } else { 1301 scrollLockRequests = {}; 1302 window.__debug_scrollLockRequests = scrollLockRequests; 1303 scrollUnlock(); 1304 } 1305 } 1306 1307 function showModal (modalId, options) { 1308 var modal = document.getElementById(modalId); 1309 if (!modal) { 1310 return; 1311 } 1312 1313 if (!modal.classList.contains('visible')) { 1314 modal.classList.add('visible'); 1315 if (options && options.scrollLock) { 1316 window.lpUI.requestScrollLock(modalId); 1317 } 1318 modal.dispatchEvent(new Event('lpui-show')); 1319 window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } })); 1320 } 1321 1322 const visibleModals = document.querySelectorAll('.modal.visible'); 1323 1324 if (visibleModals.length > 1) { 1325 1326 const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => { 1327 const zIndex = window.getComputedStyle(modal).zIndex; 1328 const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0; 1329 return Math.max(maxZIndex, parsedZIndex); 1330 }, 0); 1331 1332 modal.style.zIndex = maxZIndex + 1; 1333 } 1334 1335 } 1336 1337 function _hideModal (modalEl) { 1338 if (!modalEl) { 1339 return; 1340 } 1341 if (!modalEl.classList.contains('visible')) { 1342 return; 1343 } 1344 modalEl.classList.remove('visible'); 1345 modalEl.style.zIndex = '';
1346 modalEl.dispatchEvent(new Event('lpui-hide')); 1347 var modalId = modalEl.getAttribute('id'); 1348 if (modalId) { 1349 window.lpUI.releaseScrollLock(modalId); 1350 window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } })); 1351 } 1352 } 1353 1354 function hideModal (modalId) { 1355 _hideModal(document.getElementById(modalId)); 1356 } 1357 1358 function hideClosestModal (el) { 1359 const modal = el?.closest('.modal'); 1360 if (!modal) { 1361 return; 1362 } 1363 if (modal.classList) { 1364 _hideModal(modal); 1365 return; 1366 } 1367 if (modal.length && modal[0].classList) { 1368 _hideModal(modal[0]); 1369 } 1370 } 1371 1372 window.lpUI = { 1373 sideMenuHide: sideMenuHide, 1374 sideMenuShow: sideMenuShow, 1375 sideMenuToggle: sideMenuToggle, 1376 requestScrollLock: requestScrollLock, 1377 releaseScrollLock: releaseScrollLock, 1378 showModal: showModal, 1379 hideModal: hideModal, 1380 hideClosestModal: hideClosestModal 1381 } 1382 })(); 1383 1384 var stringifyPrimitive = function(v) { 1385 switch (typeof v) { 1386 case 'string': 1387 return v; 1388 1389 case 'boolean': 1390 return v ? 'true' : 'false'; 1391 1392 case 'number': 1393 return isFinite(v) ? v : ''; 1394 1395 default: 1396 return ''; 1397 } 1398 }; 1399 1400 function objectToQuerystring(obj, sep, eq, name) { 1401 // https://github.com/Gozala/querystring/blob/master/encode.js 1402 sep = sep || '&'; 1403 eq = eq || '='; 1404 if (obj === null) { 1405 obj = undefined; 1406 } 1407 1408 if (typeof obj === 'object') { 1409 return Object.keys(obj).map(function(k) { 1410 var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; 1411 if (Array.isArray(obj[k])) { 1412 return obj[k].map(function(v) { 1413 return ks + encodeURIComponent(stringifyPrimitive(v)); 1414 }).join(sep); 1415 } else { 1416 return ks + encodeURIComponent(stringifyPrimitive(obj[k])); 1417 } 1418 }).filter(Boolean).join(sep); 1419 1420 } 1421 1422 if (!name) return ''; 1423 return encodeURIComponent(stringifyPrimitive(name)) + eq + 1424 encodeURIComponent(stringifyPrimitive(obj)); 1425 } 1426 1427 function getPath(url, options) { 1428 var parser = document.createElement('a'); 1429 parser.href = url || ''; 1430 var path = parser.pathname || ''; 1431 if (path[0] !== '/') { 1432 // IE does not return path starting with a slash 1433 path = '/' + path; 1434 } 1435 1436 if (options && options.queryString) { 1437 path += parser.search; 1438 } 1439 1440 return path; 1441 } 1442 1443 function getMLSAutocomplete(keyword) { 1444 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1445 var query = { 1446 kind: 'listings', 1447 query: keyword 1448 }; 1449 1450 return superagent 1451 .get(searchURL) 1452 .query(query) 1453 .then(function(res) { 1454 var data = res.body || []; 1455 /* 1456 Of the format: 1457 [{ 1458 "_index": "listing_auto_completes_production_20190723232720775", 1459 "_type": "listing_auto_complete", 1460 "_id": "235875624", 1461 "_score": 0, 1462 "status_modified_at": 1553250708, 1463 "city": "Jupiter", 1464 "price": 1335743, 1465 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 1466 "sold_price": null, 1467 "id": 235875624, 1468 "state": "FL", 1469 "photo_urls": [ 1470 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 1471 ], 1472 "status": "Pending" 1473 }, ...] 1474 */ 1475 1476 return data; 1477 }); 1478 } 1479 1480 function getMLSAutocompleteWithFilters(keyword, filters = {}) { 1481 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1482 1483 return superagent 1484 .get(searchURL) 1485 .query({ kind: 'listings', query: keyword, ...filters }) 1486 .then(function(res) { 1487 /* 1488 Of the format: 1489 [{ 1490 "_index": "listing_auto_completes_production_20190723232720775", 1491 "_type": "listing_auto_complete", 1492 "_id": "235875624", 1493 "_score": 0, 1494 "status_modified_at": 1553250708, 1495 "city": "Jupiter", 1496 "price": 1335743, 1497 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 1498 "sold_price": null, 1499 "id": 235875624, 1500 "state": "FL", 1501 "photo_urls": [ 1502 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 1503 ], 1504 "status": "Pending" 1505 }, ...] 1506 */ 1507 return res.body || []; 1508 }); 1509 } 1510 1511 function makeMlsLink(data) { 1512 // Code Dupe from utils/googlePlace 1513 // mapping of google data type to mls data type 1514 var mapping = { 1515 neighborhood: 'neighborhood', 1516 locality: 'place', 1517 administrative_area_level_2: 'county', 1518 administrative_area_level_1: 'state', 1519 postal_code: 'postalcode', 1520 }; 1521 1522 function _filterTypes(types) { 1523 return types.filter(function(type) { return type !== 'political' }); 1524 } 1525 1526 if (!data || !Object.keys(data).length) { 1527 return '/home-search/listings'; 1528 } 1529 1530 var newData = {};
1531 _filterTypes(data.types).forEach(function(type) { 1532 if (mapping[type]) { 1533 newData.search_type = mapping[type]; 1534 } 1535 }); 1536 newData.omnibox = data.formatted_address; 1537 data.address_components.forEach(function(component) { 1538 _filterTypes(component.types).forEach(function(type) { 1539 if (mapping[type]) { 1540 newData[mapping[type]] = component.long_name; 1541 } 1542 }); 1543 }); 1544 var bounds = data.geometry.bounds; 1545 var convertedData = Object.assign(bounds, newData); 1546 1547 return '/home-search/listings?' + objectToQuerystring(convertedData); 1548 } 1549 1550 function debounce(func, wait) { 1551 let timeout; 1552 return function(...args) { 1553 const context = this; 1554 clearTimeout(timeout); 1555 timeout = setTimeout(() => func.apply(context, args), wait) 1556 } 1557 } 1558 1559 // Global methods / variables that can be accessed by element js 1560 window.luxuryPresence = { 1561 ...window.luxuryPresence, 1562 defaults: { 1563 companyId: '4bdfdea8-7590-45fe-8f02-015bff2768e3', 1564 apiGatewayUrl: '/api-gw', 1565 routerUrl: '/api-nv', 1566 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\
1566n }\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 $pressReleaseId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $categories: [String!]\n $propertyId: [String!]\n $developmentId: [String!]\n $agentId: [String!]\n $teamId: [String!]\n $year: [Int!]\n ) {\n pressReleases (\n pressReleaseId: $pressReleaseId\n companyId: $companyId\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 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 }\n publishedAt\n categories\n }\n pressReleasesCount(\n companyId: $companyId\n search: $search\n categories: $categories\n propertyId: $propertyId\n developmentId: $developmentId\n agentId: $agentId\n teamId: $teamId\n year: $year\n ) {\n count\n }\n }\n","posts":"\n query Posts (\n $postId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $order: String\n $sortDir: SortDirectionEnum\n $search: String\n $featured: Boolean\n $categoryId: String\n $categoryIds: [String!]\n $neighborhoodId: [String!]\n ) {\n posts (\n postId: $postId\n companyId: $companyId\n offset: $offset\n limit: $limit\n order: $order\n sortDir: $sortDir\n search: $search\n featured: $featured\n postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n categoryId: $categoryId\n categoryIds: $categoryIds\n neighborhoodId: $neighborhoodId\n ) {\n id\n title\n subtitle\n description\n status\n featured\n slug\n categories {\n id\n name\n }\n createdAt\n publishedAt\n scheduledAt\n createdBy {\n firstName\n lastName\n }\n customAuthor\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n seoTitle\n seoDescription\n slug\n }\n postsCount(\n companyId: $companyId\n search: $search\n featured: $featured\n postStatusId: \"5f528253-
1566abb7-484e-95c3-330269ac1102\"\n categoryId: $categoryId\n categoryIds: $categoryIds\n neighborhoodId: $neighborhoodId\n ) {\n count\n }\n }\n","testimonials":"\n query Testimonials(\n $testimonialId: ID\n $agentId: ID\n $teamId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n ) {\n testimonials(\n testimonialId: $testimonialId\n agentId: $agentId\n teamId: $teamId\n companyId: $companyId\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n ){\n id\n body\n author\n position\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\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 testimonialsCount(\n companyId: $companyId\n agentId: $agentId\n teamId: $teamId\n search: $search\n ) {\n count\n }\n }\n","neighborhoods":"\n query Neighborhoods (\n $neighborhoodId: ID\n $companyId: String\n $search: String\n $tag: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n ) {\n neighborhoods (\n neighborhoodId: $neighborhoodId\n companyId: $companyId\n search: $search\n tag: $tag\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n ) {\n id\n name\n description\n descriptionShort\n slug\n tags\n googlePlaceData\n mlsLink\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n seoTitle\n seoDescription\n }\n neighborhoodsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n ) {\n count\n }\n }\n","developments":"\n query Developments (\n $developmentId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $tag: [String!]\n $agentId: [ID!]\n $neighborhoodId: ID\n $neighborhoodIds: [ID!]\n ) {\n developments (\n developmentId: $developmentId\n companyId: $companyId\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n id\n name\n description\n descriptionShort\n slug\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n googlePlaceData\n seoTitle\n seoDescription\n tags\n }\n developmentsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n count\n }\n }\n","pois":"\nquery PointsOfInterest(\n $regionId: String!,\n $radius: Int,\n $offset: Int,\n $limit: Int,\n $categories: [PoiCategoryEnum!],\n $sortBy: PoiSortByEnum\n) {\n pois(\n regionId: $regi
1566onId,\n radius: $radius,\n offset: $offset,\n limit: $limit,\n categories: $categories,\n sortBy: $sortBy\n ) {\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 }\n","offices":"\n query Offices (\n $officeId: ID\n $officeIds: [ID!]\n $companyId: String\n $slug: String\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $tags: [String]\n $offset: Int\n $limit: Int\n ) {\n offices (\n officeId: $officeId\n officeIds: $officeIds\n companyId: $companyId\n slug: $slug\n sort: $sort\n sortDir: $sortDir\n search: $search\n tags: $tags\n offset: $offset\n limit: $limit\n ) {\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 media {\n id\n originalUrl\n thumbnailUrl\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n }\n }\n officesCount(\n companyId: $companyId\n officeId: $officeId\n officeIds: $officeIds\n slug: $slug\n search: $search\n tags: $tags\n ) {\n count\n }\n }\n","teams":"query TeamsAndCount(\n $offset: Int\n $limit: Int\n $search: String\n $sort: String\n $sortDir: SortDirectionEnum\n $companyId: ID\n) {\n teams(\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n companyId: $companyId\n ) {\n \n id\n companyId\n name\n email\n shortBio\n fullBio\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 }\n teamsCount(\n search: $search\n companyId: $companyId\n ) {\n count\n }\n}"}, 1567 propertyPlaceholderImage: {"id":"8f3bfc92-fd29-43f8-8496-703f49363a14","alt":null,"bytes":28927,"width":1920,"format":"jpg","height":1200,"shared":true,"curated":false,"duration":null,"largeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bo9ees9iysphfpsv8tlb","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/bo9ees9iysphfpsv8tlb","authorUrl":null,"createdAt":"2023-05-01T20:01:24.497Z","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/bo9ees9iysphfpsv8tlb","sourceUrl":null,"updatedAt":"2023-05-01T20:01:24.497Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bo9ees9iysphfpsv8tlb","__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/bo9ees9iysphfpsv8tlb","description":null,"displayName":"property-logo-the-edit","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bo9ees9iysphfpsv8tlb","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/bo9ees9iysphfpsv8tlb","originalFileName":"Property logo - The Edit"} 1568 }, 1569 objectToQuerystring: objectToQuerystring, 1570 getPath: getPath, 1571 getMLSAutocomplete: getMLSAutocomplete, 1572 getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters, 1573 makeMlsLink: makeMlsLink, 1574 debounce: debounce, 1575 }; 1576 1577 var wowOffset = 100; 1578 </script>
1578 1579
1579<script> 1580 (()=>{var e={},t={};t={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let s=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===s[1].toLowerCase().indexOf("video"))return null;let i=s[s.length-1];i.lastIndexOf(".")>-1?i=`${i.slice(0,i.lastIndexOf("."))}.jpg`:i+=".jpg",s[s.length-1]=i;let r=3;"videos"===s[1].toLowerCase()&&""!==s[2]&&(r=2);let a=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;r<s.length-1&&a.test(s[r]);)r++;return s.splice(r,0,"so_0,eo_0"),t+s.join("/")}},e=function(e,{isEqual:s}){let i=[{field:"thumbnailUrl",w:320},{field:"smallUrl",w:960},{field:"mediumUrl",w:1280},{field:"largeUrl",w:1920},{field:"xLargeUrl",w:2560},{field:"xxLargeUrl",w:3456}],r=function(e,t,s){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 r="number"==typeof s?s:0,a=Number.isInteger(e)?0:r,o={minimumFractionDigits:a,maximumFractionDigits:a};return"USD"===t?`$${e.toLocaleString(i,o)}`:"CAD"===t?`$${e.toLocaleString(i,o)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(i,o)}`:"GBP"===t?`\xa3${e.toLocaleString(i,o)}`:"PERCENT"===t?`${e}%`:"number"==typeof s&&s>-1?e.toLocaleString(i,{maximumFractionDigits:s}):e.toLocaleString(i)},a=function(e){switch(e){case"DAY":return"daily";case"MONTH":return"monthly";case"WEEK":return"weekly";case"YEAR":return"yearly";case"QUARTER":return"quarterly";case"HALF_YEAR":return"semi-annually";case"NIGHTLY":return"nightly";case"SEASONAL":return"seasonally";default:return""}},o=function(e){switch(e){case"DAY":return"day";case"WEEK":return"wk";case"MONTH":return"mo";case"YEAR":return"yr";case"QUARTER":return"3 mos";case"HALF_YEAR":return"6 mos";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},n=function(e){switch(e){case"DAY":return"day";case"WEEK":return"week";case"MONTH":return"month";case"YEAR":return"year";case"QUARTER":return"quarter";case"HALF_YEAR":return"6 months";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},l=function(e,t){let s,i,r=t||{};switch(r.mode){case"short":s=o(e),i=r.frequencySeparator||"/";break;case"standard":case"std":s=n(e),i=r.frequencySeparator||"/";break;default:s=a(e),i=r.frequencySeparator||" "}return s?r.frequencyTag||r.frequencyClass?`${i}<${r.frequencyTag||"span"}${r.frequencyClass?` class="${r.frequencyClass}"`:""}>${s}</${r.frequencyTag||"span"}>`:i+s:""};return{isEmpty(e,t){let s=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?s?t.fn(this):t.inverse(this):s},ifEquals(e,t,i){return s(e,t)?i.fn(this):i.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?(e=(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,"")).replace(/ /g," ")).replace(/<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g,""):"",striptagsLineBreaks:e=>e?(e=(e=(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,"")).replace(/(<br\s*\/?>)|(<\/p\s*>)(?=.*(<\/p\s*>|<br\s*\/?>))/g," ")).replace(/ /g," ")).replace(/<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g,""):"",truncate:(e,t,s)=>e?e.length>t?"string"==typeof s?e.slice(0,t-s.length)+s:e.slice(0,t):e:"",setSubArray(e=[],t,s,i,r){r.data.root[i]=e.slice(t,s)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:a,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>l(e,t&&t.hash),subArray(e,t,s,i){return e>=t&&e<s?i.fn(this):i.inverse(this)},formatPropertyStatus(e,t,s){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 s&&s&&(i+=` on ${s}`),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 s="current"===e?new Date:new Date(e);if(Number.isNaN(s.getTime()))return"";if("YYYY"===t||"year"===t)return`${s.getFullYear()}`;if("MM/DD/YY"===t){let e=s.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${s.getDate()}/${s.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][s.getMonth()]} ${s.getDate()}, ${s.getFullYear()}`}
1580,openHousesFormat(e,t,s){if(!e||!t)return"";let i=e=>{let t=e.getHours();t>12&&(t-=12);let s=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?s+="PM":s+="AM",s},r="",a=e,o=t;s&&(a=new Date(e).toLocaleString("en-US",{timeZone:s}),o=new Date(t).toLocaleString("en-US",{timeZone:s}),[,,,r]=new Date(t).toLocaleString("en-US",{timeZone:s,timeZoneName:"short"}).split(" "));let n=new Date(a),l=n.toLocaleDateString("en-US"),d=i(n),c=i(new Date(o));return`${l} ${d} - ${c} ${r}`},math:(e,t,s)=>(e=parseFloat(e),({"+":e+(s=parseFloat(s)),"-":e-s,"*":e*s,"/":e/s,"%":e%s})[t]),findByKey(e,t,s,i){let r=(e||[]).find(e=>e[t]===s);return i.fn(r)},capitalize(e,t,s){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,s,i){let r="",a=null;i.data&&(a=e.createFrame(i.data));let o=(s||[]).filter(Boolean);if(o&&o.length){let e=0;r=o.reduce((s,r,o)=>{let n=(t||[]).find(e=>e.id===r);return n?(a&&(a.index=o-e),s+i.fn(n,{data:a})):(e+=1,s)},"")}else for(let e=0,s=(t||[]).length;e<s;e++)a&&(a.index=e),r+=i.fn(t[e],{data:a});return r},ifIn(e,t,s){return t&&t.indexOf(e)>-1?s.fn(this):s.inverse(this)},partial:(t,s)=>(e.registerPartial(t,e.compile(s.fn())),`
1580<script type="text/x-handlebars-template" class="${t} pagination-script">${s.fn()}<\/script>`),numCompare(e,t,s,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}})[s](e,t)?!i.fn||i.fn(this):!!i.fn&&i.inverse(this)},lpFormatNumber:r,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,s)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,s,i){let r=null,a=0,o=new Set;return i.data&&(r=e.createFrame(i.data)),(t||[]).reduce((e,t,n)=>{let l=s?t[s]:t;return!o.has(l)||s&&void 0===l?(o.add(l),r&&(r.index=n-a),e+i.fn(t,{data:r})):(a+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let s=t[t.length-1].hash,i=t.length>1?t[0]:s.property,a=s.precision||0;t.length>2&&(s.mode=t[1]),s.mode||(s.mode="short");let o=t.length>3?t[2]:s.separator;if("string"!=typeof o&&(o=" | "),i.isPasswordProtected)return"Exclusive Listing";let n=t.length>4?t[3]:s.priceUponRequestText;if("string"!=typeof n&&(n="Price Upon Request"),i.priceUponRequest)return n;let d=i.salesPrice,c=null;"SOLD"!==i.status&&"Leased"!==i.status&&i.reducedPrice&&(s.reducedClass?c=i.reducedPrice:d=i.reducedPrice);let u="";c&&(u+=`<${s.reducedTag||"span"} class="${s.reducedClass}">${r(c,i.currency,a)}</${s.reducedTag||"span"}>`),d&&(d=r(d,i.currency,a),s.priceTag||s.priceClass?u+=`<${s.priceTag||"span"}${s.priceClass?` class="${s.priceClass}"`:""}>${d}</${s.priceTag||"span"}>`:u+=d);let h=i.leasePrice&&r(i.leasePrice,i.currency,a);if(h){u&&(u+=o);let e=`${h}${l(i.leasePeriod,s)}`;s.leaseTag||s.leaseClass?u+=`<${s.leaseTag||"span"}${s.leaseClass?` class="${s.leaseClass}"`:""}>${e}</${s.leaseTag||"span"}>`:u+=e}
1580return new e.SafeString(u)},mediaImage(t,s={}){if(!t)return;let{lazy:r,...a}=s.hash,o="",n="";if("string"==typeof t)o=t;else{let e={},{height:r,width:l,altTagText:d}=t;i.forEach(s=>{t[s.field]&&!e[t[s.field]]&&(e[t[s.field]]=s.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(a.alt=d),r&&l&&(r>=l&&(a.class?a.class+=" portrait":a.class="portrait"),"setDims"in s.hash&&(a.width=l,a.height=r)),c.length>1&&l&&l<e[c[c.length-1]]){let t=c.findIndex(t=>e[t]>=l);c.splice(t+1),e[c[c.length-1]]=l}c.length>1&&(n=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,s)=>Math.abs(e[t]-1280)-Math.abs(e[s]-1280))),o=c[0]}delete a.setDims,n||delete a.sizes,"alt"in a||(a.alt=""),!("loading"in a)&&(s?.data?.root?.sectionIndex>1||r)&&(a.loading="lazy");let l=Object.keys(a).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(a[t])}"`).join(" ");return new e.SafeString(`<img src="${o}"${n?` srcset="${n}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let s in e)null!==e[s]&&void 0!==e[s]&&"object"!=typeof e[s]&&(t+=e[s]);return t},setVideoExtension(e,t){if(!e||!t)return"";let s=new URL(e);if("res.cloudinary.com"!==s.host)return s.pathname.endsWith(`.${t}`)?e:"";let i=s.pathname.lastIndexOf("."),r=s.pathname;return -1!==i&&(r=s.pathname.substr(0,i)),s.pathname=`${r}.${t}`,s.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 s=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},w_1920,c_limit`)}.${e.format}`;return`<source data-src="${s}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:t.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let s=+t?.hash?.maxChars||2,i=e.match(/\b\w/g)?.slice(0,s);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 s{constructor(e,t,s){if(this.config=e,this.window=t,this.document=s,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let i="lp_lead_form_conversion_fired";function r(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(i)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(i,"true")}catch{}}catch{}}let a="/api/v1/home-valuation";class o extends s{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 s=t.indexOf(", call time frame:");return -1!==s&&(t=t.substring(0,s).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,s={},i=t("street_number"),r=t("route"),a=t("administrative_area_level_1"),o=t("postal_code"),n=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return i&&(s.streetNumber=i),r&&(s.streetName=r),l&&(s.city=l),a&&(s.state=a),o&&(s.zipcode=o),n&&(s.addressLine2=n),s}_extractAddressAndCoordinates(e){let t=null,s=null;if(e?.result){let{result:i}=e;i.address?.addressComponents&&(t=this._transformAddressComponents(i.address.addressComponents)),i.geocode?.location&&(s={latitude:i.geocode.location.latitude,longitude:i.geocode.location.longitude})}return{structuredAddress:t,coordinates:s}}_filterEmptyStrings(e){let t={};for(let[s,i]of Object.entries(e))""!==i&&null!=i&&(t[s]=i);return t}_getRawAddress(e){let t=e.activity.content||{},s=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,s,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,s=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(s&&(i.errorMessage=s.userMessage||(s.status?`Request failed with status ${s.status}`:"An error occurred"),i.errorName=s.name,i.errorStatus=s.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
1580ontact 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,s,i){let r=this._formatStructuredAddress(s)||this._getRawAddress(e);if(!r)throw Error("Unable to extract home valuation address from form data");let a={companyId:e.companyId,homeValuationAddress:r,homeValuationEstimate:t?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0,minimumFractionDigits:0}).format(t):null,websiteId:e.page.websiteId,sourceUrl:e.activity.source_url},o={leadEmailAddress:e.activity.author_email,leadFullName:e.activity.author_name,leadPhoneNumber:e.activity.author_phone,parcelId:e.activity.content?.parcelId,resourceId:e.page.pageMeta?.resourceId,pageId:e.page.pageId,sourceResource:e.page.pageMeta?.sourceResource,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,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},n=this._filterEmptyStrings(o);return{...a,...n,...s&&{address:s},...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}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let s=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(s,e),s.status=t,s}async _submitLead(e,t){let s=new AbortController,i=setTimeout(()=>s.abort(),1e4);try{let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:s.signal});clearTimeout(i);let a=await r.text(),o=this._parseResponsePayload(a);if(!r.ok)throw this._createResponseError(o,r.status);if(o&&"success"===o.status&&o.redirectUrl)return this.window.location.href=o.redirectUrl,{redirected:!0,url:o.redirectUrl};return o}catch(e){throw clearTimeout(i),e}}async _submitHomeValuationRequest(e){let{config:t}=this;if(!t.websiteApiGatewayUrl)throw Error("websiteApiGatewayUrl not configured for home valuation");this._logLeadEvent("home_valuation_submission_started",e);try{let s=this._getRawAddress(e),i=null;try{i=await this._validateAddressSafely(s)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let r=null;try{r=await this._getHomeValuationEstimateSafely(i)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),r=null}let{structuredAddress:o,coordinates:n}=this._extractAddressAndCoordinates(i),l=`${t.websiteApiGatewayUrl}${a}`,d=this._buildHomeValuationData(e,r,o,n),c=await this._submitLead(l,d);return this._logLeadEvent("home_valuation_submission_success",e),c}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:s}=this,i=t.googleMapsAPIKey;if(!i&&s.luxuryPresence?.mapApiLoader&&(i=await s.luxuryPresence.mapApiLoader.getMapApiKey()),!i)throw Error("Google Maps API key not configured");let r=new AbortController,a=setTimeout(()=>r.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:r.signal});if(clearTimeout(a),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(a),e}}_hasMandatoryAddressFields(e){return!!(e.streetNumber&&e.streetName&&e.city&&e.state&&e.zipcode)}_logMissingAddressFields(e){let t=[];e.streetNumber||t.push("streetNumber"),e.streetName||t.push("streetName"),e.city||t.push("city"),e.state||t.push("state"),e.zipcode||t.push("zipcode"),console.log("Home valuation estimate skipped - missing required fields:",t.join(", "),"Available fields:",Object.keys(e).join(", "))}_buildAddressQueryString(e){return Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}async _getHomeValuationEstimate(e=null){let{config:t}=this;if(!t.websiteApiGatewayUrl)throw Error("websiteApiGatewayUrl not configured");let s=`${t.websiteApiGatewayUrl}${a}`;if(!e?.result?.address?.addressComponents)return null;let i=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(i))return this._logMissingAddressFields(i),null;let r=this._buildAddressQueryString(i),o=`${s}?${r}`,n=new AbortController,l=setTimeout(()=>n.abort(),1e4);try{let e=await fetch(o,{headers:{Accept:"application/json"},signal:n.signal});if(clearTimeout(l),!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(l),e}}}let n="middleName",l=["name","firstName","lastName",n,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],d="lp_map_key_failed",c="oauthSuccess",u={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
1580]+)/);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 h(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function p(e,t){t.forEach(t=>{let s=e[t];Array.isArray(s)&&0===s.length&&delete e[t]})}function m(e,t,s,i){let r=t.map(t=>(function e(t){return Array.isArray(t)?t.flatMap(t=>e(t)):"string"==typeof t?t.split(/\s+/).filter(Boolean):null==t?[]:[t]})(e[t])),a=i?.merge?r.flat():r.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),a.length>0&&(e[s]=[...new Set(a)])}function g(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 s=[...e.socialLinks].sort((e,t)=>{let s=e.type?.toLowerCase()||"",i=t.type?.toLowerCase()||"";return s.localeCompare(i)});t.socialLinks=s;let i={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};s.forEach(e=>{let s=i[e.type?.toLowerCase()??""];s&&(t[s]=e.link)})}return t}function y(e){return e&&Array.isArray(e)?e.map(e=>g(e)):e}function f(e){let{region:t}=e;if(!h(t))return e;let{schools:s,pois:i,...r}=t,a={...r,schools:h(s)?s.data??[]:[],...Array.isArray(i)?{pois:i.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:a}}function w(e){return e&&Array.isArray(e)?e.map(e=>f(e)):e}function b(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let s=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:s}}function v(e){return e&&Array.isArray(e)?e.map(e=>b(e)):e}function S(e,t){return h(e)?t(e):e}function _(e,t){return Array.isArray(e)?t(e):e}let E=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.googleMapsAPIKey=null}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)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setEventBus({enabled:e,apiKey:t,url:s}){this.eventBus={enabled:e,apiKey:t,url:s}}}({}),I=new class extends s{constructor(e,t,s){super(e,t,s),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:s}=this;this.pageId=t.pageId,this.modals=s.querySelectorAll("body > #modals > .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}
1580=this,s=new Date().getTime()+864e5,i=`modal-controller-${e}`;try{t.localStorage.setItem(i,JSON.stringify(s))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,s=t.localStorage,i=s.getItem(`modal-controller-${e}`);if(!i)return!1;let r=JSON.parse(i);return!(new Date().getTime()>r)||(s.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:s}=this,i=this.getModalWithExpiry(e);(e&&!i||!0===t.forced)&&(s.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:s,pageSpecific:i}=e;(!i||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===s?this._exitModalHandler(e):"TIMER"===s?this._timerModalHandler(e):"FORCED"===s&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:s,exitModalTriggered:i}=this,{modalId:r}=e;function a(e){!i[r]&&(e.toElement||e.relatedTarget||(t.show(r),i[r]=!0))}s.addEventListener("mouseout",a),this.exitModalEventListeners.push(a)}_timerModalHandler(e){let{modalId:t,timerDelay:s}=e;setTimeout(()=>{this.show(t)},s)}_forcedModalHandler(e){let{modalId:t}=e,{window:s,document:i}=this;if("true"!==s.localStorage.getItem("isSignedUp")){let e=i.querySelector(`#modal-${t}`),r=e?.querySelector("form"),a=r?.dataset.delay||2e3;r.addEventListener("formsubmitted",()=>{this.setLoginState()}),s.addEventListener("oauthSuccess",()=>{this.setLoginState(),r.classList.add("success"),setTimeout(()=>{s.lpUI.hideModal(`modal-${t}`),r.reset(),r.classList.remove("success")},a)}),this.show(t,{forced:!0})}}}(E,window,document),A=new class extends s{constructor(e,t,s){super(e,t,s),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:s}=this,i=e.target.closest("button, a");if(!i)return;let r=i.dataset.type||"",a=i.href||i.dataset.href||"",o=i.target||"",{submit:n}=i.dataset;if(n){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)}})(a,"_blank"===o)}if(this._trackConversion(i),"VIDEO"===r)return void this._handleVideoButton(i);if("CONTACT_US"===r)return void this._handleContactUsButton(i);if("SUBSCRIBE"===r)return void t.lpUI.showModal("modal-global-subscribe");if("MY_ACCOUNT"===r)return void t.lpUI.showModal("modal-global-my-account");if("SHARE_POPUP"===r){let t=i.querySelector(".share-popup");t&&(t.style.display="flex"),e.stopPropagation();return}if("MODAL_"===r.substring(0,6)){let e=r.substring(6);t.lpUI.showModal(`modal-${e}`);return}if(a?.startsWith("mailto:")){let e=a.substring(7);s.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(a?.startsWith("tel:")){let e=a.substring(4);s.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:s}=this;return t?await s.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[,s,i]=t,r=`https://player.vimeo.com/video/${s}?`;return i&&(r+=`h=${i}&`),r+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,s=e.closest("section"),{src:i}=e.dataset,r="";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=))|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(r=e[1])}let a=this._getVimeoSrc(i);if(r?i=`https://youtube.com/embed/${r}?autoplay=1&controls=0`:a&&(i=a),!i||!s)return;let o=i.endsWith(".mp4")||i.endsWith(".webm")||i.includes("cloudinary.com"),n=` 1581 <div id="modal-${s.id}" class="modal visible"> 1582 <div class="modal-content"> 1583 <div class="lightbox-video"> 1584 <div class="video-player"> 1585 <div class="embed-container"> 1586 ${o?`<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>`} 1587 </div> 1588 </div> 1589 </div> 1590 </div> 1591 <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button> 1592 </div> 1593 `;t.body.insertAdjacentHTML("beforeend",n);let l=t.getElementById(`modal-${s.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:s}=this;s.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:s}=this,{gtagConversionId:i,gtagConversionLabel:r,fbEventName:a}=e.dataset;if(i&&r){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===i)||s.sendGoogleTagManagerEvent("config",i));let e=`${i}/${r}`;s.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&a&&t.fbq("track",a,{})}}(E,window,document),L=new class extends s{constructor(e,t,s){super(e,t,s),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:s}=this,{selector:i}=e,r=[];if(r=i?s.querySelectorAll(`${i} form[data-type="contact-form"]`):s.querySelectorAll('form[data-type="contact-form"]'),s.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:s}=t.luxuryPresence.libs,{libphonenumber:i}=s;e(i.jsSrc,this.attachValidation.bind(this,r))}else this.attachValidation(r);this.validatedForms=this.validatedForms.concat(r)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}
1593attachValidation(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 s=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;s(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("")})}}}(E,window,document),$=new class extends s{constructor(e,t,s){super(e,t,s),this.forms=[],this.homeValuationService=new o(e,t,s)}initialize(e={}){try{let{document:t}=this,{selector:s}=e,i=[];(i=s?t.querySelectorAll(`${s} 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),s={},i=[],r=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let a=e.trim();r.test(t)&&a&&i.push(a);let o=s[t];s[t]=o?`${o} ${a}`:a}else s[t]=e}),i.length?s.name=i.join(" ").trim():!s.name&&s.firstName&&(s.name=s.firstName,s.lastName&&(s.name+=` ${s.lastName}`)),s}_buildSubmissionData(e,t,s){let{window:i,config:r}=this,a=Object.keys(e).filter(e=>!l.includes(e)).reduce((t,s)=>(t[s]=e[s],t),{}),{pageId:o,companyId:n,websiteId:d,pageMeta:c}=r,u=i.localStorage.getItem("utm_vars")||"{}",h=i.localStorage.getItem("referrer")||"",p=this._getFormId(s);return{activity:{author_email:e.email,author_name:e.name,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:{...a,...JSON.parse(u)}},page:{pageId:o,companyId:n,websiteId:d,pageMeta:{...c,formId:p}},companyId:n,referrer:h,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,s=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),r(this.window,this.document),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},s)}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 s=this._getFields(t),i=this._buildSubmissionData(e,s,t);await this._submitLeadRequest(i),this._sendGAEvent(i),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.")}}}_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:s}=this.config;if(!t||!s)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 r=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(s,t);this.window.eventBusProvider.alias({anonId:i,canonicalId:r}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}
1593async _submitLeadRequest(e){let{config:t}=this;return(this._aliasUserWithEventBus(e),t.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest(e):fetch(`${t.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,s={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":s.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":s.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":s.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":s.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:s={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(s)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),s={};return t.forEach(t=>{let{id:i,name:r,type:a}=t;if(r===n)return!0;let o="";if(i){let s=e.querySelector(`label[for='${i}']`);s?o=s.textContent.trim():t.placeholder&&(o=t.placeholder.trim())}s[r]={label:o,type:t.tagName,inputType:"INPUT"===t.tagName?a:"text"}}),s}_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 s=e.querySelector(".submission-error-message");s&&(s.textContent=t||"Something went wrong. Please try again.",s.style.display="block")}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(E,window,document),x=new class extends s{constructor(e,t,s){super(e,t,s),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 s=1;s<=3;s+=1){let i=e&&!t;try{let e=await fetch(this._getMapKeyUrl(s,i));if(t=t||i,this._setFailureFlag(!1),!e.ok)throw Error(`Failed to fetch API key: ${e.status}`);let r=await e.text();if(!r)return"";return this.apiKey=r,this.apiKey}catch(e){console.error(e),s<3&&await this._delay(300*2**(s-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let s=[];e>1&&s.push(`attempt=${e}`),t&&s.push("recovered_after_failure=1");let i=s.length?`?${s.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${i}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(d)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(d,"1"):this.window.sessionStorage.removeItem(d)}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");let 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)=>
1593{this.loadCallback(s=>{s?t(s):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 s=Math.min(1024/e,1024/t);return{width:parseInt(e*s),height:parseInt(t*s)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let s=t.visibility?`visibility:${t.visibility}`:"",i=t.color?`color:${t.color.replace("#","0x")}`:"",r=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${s}${i}${r}`},""),s=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${s}${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:s}=await t.json();return s}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,s,i,r,a){let{width:o,height:n}=this.resizeStaticMapDimensions(r,a),l={center:`${e},${t}`,zoom:s,scale:2,size:`${o}x${n}`,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:s,...i}){let{width:r,height:a}=this.resizeStaticMapDimensions(e,t),o={...i,size:`${r}x${a}`};s&&(o.style=this.convertThemeToStaticApiUrl(s));let n=new URLSearchParams;Object.entries(o).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.append(e,t.toString())):n.append(e,t.toString())});let l=n.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(E,window,document),k=new class extends s{destroy(){}updateQueryString(e,t,s){s||(s=this.window.location.href);let i=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),r="";null!=t&&(Array.isArray(t)?t.length&&(r=this.serializeArray(e,t)):"object"==typeof t?(i=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),r=this.serializeObj(t,"",e)):r=`${e}=${encodeURIComponent(t)}`);let a=s.split("#"),o=a[0];if(i.test(s)){let e=o;for(r=r?`$1${r}$2`:"$1";i.test(e);)o=e.replace(i,r),e=e.replace(i,"$1");o=o.replace(/(&|\?)$/,"")}else if(r){let e=-1!==o.indexOf("?")?"&":"?";o+=`${e}${r}`}return void 0!==a[1]&&null!==a[1]&&(o+=`#${a[1]}`),o}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let s=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),i=Array.from(RegExp.prototype[Symbol.matchAll].call(s,t)).flat();if(!i.length){let s=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return i=Array.from(RegExp.prototype[Symbol.matchAll].call(s,t)).flat(),this._parseParamToObject(i,"advancedFilters"===e)}return i.length>3?i.reduce((e,t,s)=>((s+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):i[2]?decodeURIComponent(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 s={},i=this.makePageKey(t),r=this.getParameterByName(i);return r&&(s.page=parseInt(r)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,i),r=this.getParameterByName(t);if("int"===e.type)isFinite(r=parseInt(r))||(r=null);else if("bool"===e.type||"boolean"===e.type)r="true"===r||"false"!==r&&null;else if("json"===e.type)try{r=JSON.parse(r)}catch(e){}s[e.formKey||e.param]=r}),s}serializeParams(e,t,s){let i=this.window.location.href,r=this.makePageKey(t);return i=this.updateQueryString(r,s.page,i),Array.isArray(e)&&e.forEach(e
1593=>{let t=this.makeParamKey(e,r),a=s[e.formKey||e.param];"json"===e.type&&null!=a&&(a=JSON.stringify(a)),i=this.updateQueryString(t,a,i)}),i}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",s=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${s}K`:`${this.formatSliderAtom(e/1e6,t)}${s}M`}formatSliderPriceRange(e,t,s,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e,s," ")}`:t.max===e?`${this.formatSliderValue(e,s," ")}${i.highSuffix}`:`${this.formatSliderValue(e,s," ")}`}formatSliderAreaRange(e,t,s,i){return t.min===e&&0!==e?`${i.lowPrefix}${this.formatSliderValue(e)} ${s}`:t.max===e?`${this.formatSliderValue(e)}${i.highSuffix} ${s}`:`${this.formatSliderValue(e)} ${s}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:s,areaSliderElement:i,neighborhoodSelect:r}=e,a={};if(t&&(a.search=t.value||null),s){let e=s.value.split(";"),t=parseInt(s.dataset.min),i=parseInt(s.dataset.max),r=parseInt(e[0]),o=parseInt(e[1]);a.priceMin=r!==t?r:null,a.priceMax=o!==i?o:null}if(i){let e=i.value.split(";"),t=parseInt(i.dataset.min),s=parseInt(i.dataset.max),r=parseInt(e[0]),o=parseInt(e[1]);a.areaMin=r!==t?r:null,a.areaMax=o!==s?o:null}return r&&(a.neighborhoodId=r.value||null),a}serializeObj(e,t="",s=""){let i=[];for(let r in e)if(e.hasOwnProperty(r)){let a,o=e[r];if(s){let e=t?`[${t}][${r}]`:`[${r}]`;a=`${s}${e}`}else a=t?`${t}[${r}]`:r;null!==o&&Array.isArray(o)?o.length&&i.push(this.serializeArray(a,o)):null!==o&&"object"==typeof o?i.push(this.serializeObj(o,a)):i.push(`${a}=${encodeURIComponent(o)}`)}return i.join("&")}serializeArray(e,t,s=""){let i=[];return t.forEach(t=>{let r=s?`${s}${e}`:e;i.push(`${r}=${encodeURIComponent(t)}`)}),i.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let s={};for(let i=0;i<e.length;i++)if((i+1)%3==0){let r=decodeURIComponent(e[i].replace(/\+/g," ")),a=e[i-1];Object.assign(s,this._setObjectPath(a,r,s,t))}return s}_setObjectPath(e,t,s,i=!1){let r=e.split(/[\[\]]/).filter(Boolean),a=["in","nin","btw","ciin","cinin"],o={},n=o,l=((e,t,s)=>{if(!t)return;let i=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===i?s:i})(s,r.join("."));return r.forEach((e,o)=>{o===r.length-1?l?n[e]=Array.isArray(l)?[...l,t]:[l,t]:n[e]=i&&a.includes(e)?[t]:t:(n[e]=s[e]?s[e]:{},n=n[e])}),o}}(E,window,document),T=new class extends s{constructor(e,t,s){super(e,t,s),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,s=e.closest("section[id]"),i=e.dataset.append,r=s.querySelector(".lp-expand-btn");if(!r)if((r=t.createElement("button")).className="lp-expand-btn",r.setAttribute("aria-label","Open a lightbox"),r.innerHTML='<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>',i){let e=s.querySelector(i);e&&e.appendChild(r)}else{let s=t.createElement("div");s.className="lp-expand-btn-wrapper",s.style.position="relative",s.appendChild(r),e.parentNode.insertBefore(s,e.nextSibling)}r.addEventListener("click",()=>{this._createLightbox({slider:e,section:s})})}_createLightbox({slider:e,section:t,initialIndex:s}){let{window:i,document:r}=this,a=`lightbox-for-${t?.id}`,o=i.$&&i.$.fn.slick,n=o&&e.slick,l="function"==typeof i.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=r.createElement("div");t.id=a,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=` 1594 <button class="lp-lightbox__close" aria-label="close modal"></button> 1595 <div class="lp-lightbox__content"> 1596 <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery"> 1597 <div class="splide__arrows"> 1598 <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button> 1599 <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button> 1600 </div> 1601 <div class="splide__track"> 1602 <ul class="splide__list"></ul> 1603 </div> 1604 </div> 1605 </div> 1606 `,"function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(a):r.body.style.overflow="hidden",r.body.appendChild(t);let o=t.querySelector(".lp-lightbox__carousel"),n=o.querySelector(".splide__list");t.classList.add("show"),(d?e.querySelectorAll(".splide__slide:not(.splide__slide--clone) img"):e.querySelectorAll("img")).forEac
1606h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let s=r.createElement("li");s.className="lp-lightbox__slide splide__slide",s.appendChild(t),n.appendChild(s)});let l=new i.Splide(o,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==s&&s>=0&&l.go(s),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let s=t.querySelector(".splide__arrow--prev"),i=t.querySelector(".splide__arrow--next"),r=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&s?(e.preventDefault(),s.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&r&&(e.preventDefault(),r.click())};r.addEventListener("keydown",c),t.querySelector(".lp-lightbox__close").addEventListener("click",()=>{r.removeEventListener("keydown",c),t.classList.remove("show"),l&&l.destroy(),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(a):r.body.style.overflow="",t.remove()})}if("function"==typeof i.lpUI.requestScrollLock?i.lpUI.requestScrollLock(a):r.body.style.overflow="hidden",o&&!d){let t,s,o,l,d;s={arrows:!0,dots:!1,infinite:!0,draggable:!0,prevArrow:'<button type="button" class="lp-lightbox-arrow--prev lp-lightbox-arrow" aria-label="Previous"></button>',nextArrow:'<button type="button" class="lp-lightbox-arrow--next lp-lightbox-arrow" aria-label="Next"></button>'},(o=r.createElement("div")).id=a,o.className="lp-lightbox",o.setAttribute("tabindex","-1"),o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.innerHTML=` 1607 <button class="lp-lightbox__close" aria-label="close modal"></button> 1608 <div class="lp-lightbox__content"> 1609 <div class="lp-lightbox__carousel"></div> 1610 </div> 1611 `,r.body.appendChild(o),l=o.querySelector(".lp-lightbox__carousel"),o.classList.add("show"),n?(t=e.slick.$slides.find("img"),s.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 s=r.createElement("div");s.className="lp-lightbox__slide",s.appendChild(t),l.appendChild(s)}),i.$(l).slick(s),setTimeout(()=>{o.focus()},100),d=e=>{if(!o.classList.contains("show"))return;let t=o.querySelector(".lp-lightbox-arrow--prev"),s=o.querySelector(".lp-lightbox-arrow--next"),i=o.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&s?(e.preventDefault(),s.click()):"Escape"===e.key&&i&&(e.preventDefault(),i.click())},r.addEventListener("keydown",d),o.querySelector(".lp-lightbox__close").addEventListener("click",()=>{r.removeEventListener("keydown",d),o.classList.remove("show");let t=l?.slick?i.$(l).slick("slickCurrentSlide"):0;l?.slick&&i.$(l).slick("unslick"),n&&i.$(e).slick("slickGoTo",t),"function"==typeof i.lpUI.releaseScrollLock?i.lpUI.releaseScrollLock(a):r.body.style.overflow="",o.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}))}}(E,window,document),C=new class extends s{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:s,templateId:i,websiteId:r,pageId:a,shareId:o,pageMeta:n}=this.config;this.window.divolte.signal(e,Object.assign({companyId:s,templateId:i,websiteId:r,pageId:a,shareId:o,pageMeta:n},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(E,window,document),M=new class extends s{constructor(e,t,s){super(e,t,s)}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"}
1611)),(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:s}=this.config;try{this.window.eventBusProvider.capture(e,{company:s,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",{})}}(E,window,document),U=new class extends s{constructor(e,t,s){super(e,t,s),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:s}=this.config,{data:i,origin:r}=e,{type:a,height:o,event:n,source:l,token:d}=i;if(a===t||"hide_intermediate_iframe"===a){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=o,e.style.display=a===t?"unset":"none")}r===s&&"GOOGLE_SIGN_ON"===l&&("success"===n?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===n&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let s=this.document.createElement("iframe");s.src=this._buildUrlAndCopyAttributes(t,s,e),s.dataset.isSocialOauthButton=!0,t.replaceWith(s)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(c);this.window.dispatchEvent(e),r(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,s){let{buyerSellerServiceUrl:i,companyId:r,websiteId:a,pageId:o,pageMeta:n}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${i}/buttons/${s}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",r),c.searchParams.append("websiteId",a),c.searchParams.append("pageId",o),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(n)),u&&c.searchParams.append("utm",u),h&&c.searchParams.append("referrer",h);let p=["data-size","data-width","data-text","data-button-type","data-shape","data-layout","data-max-rows","data-use-continue-as","data-type","data-theme","data-logo_alignment","data-locale"];
1611return 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,"/"),s=4-t.length%4,i=4===s?t:t+"=".repeat(s);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")}}}(E,window,document),P=new class extends s{constructor(e,t,s){super(e,t,s),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:s})=>{e&&e.removeEventListener&&e.removeEventListener(t,s)}),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 s=t.querySelector('input[name="email"]');s&&"string"==typeof e&&(s.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let s=t.querySelector(`#${this.modalId}-triggerSource`);s&&"string"==typeof e&&(s.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,s){let i="";if(s){let e=new Date;e.setTime(e.getTime()+864e5*s),i=`; expires=${e.toUTCString()}`}let r="; path=/; SameSite=Lax";this.window&&this.window.location&&"https:"===this.window.location.protocol&&(r+="; Secure"),this.document.cookie=`${e}=${encodeURIComponent(t||"")}${i}${r}`}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 s=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",s),this.eventListeners.push({element:t,event:"formsubmitted",handler:s})}let s=e.querySelector('[data-dismiss="modal"]');if(s){let t=()=>{e.style.display="none",this.restoreBodyScroll()};s.addEventListener("click",t),this.eventListeners.push({element:s,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})}}(E,window,document),R=new class extends s{constructor(e,t,s){super(e,t,s),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 s=` 1612 query { 1613 validSession { 1614 success 1615 } 1616 } 1617 `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:s})});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}}(E,window,document),N=new class extends s{constructor(e,t,s){super(e,t,s),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=u[e.provider];if(!t)return;this.eventName=t.eventName;let s=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||s)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(E,window,document),O=new class extends s{destroy(){}transformVariables(e,t){let s;return p(s={...t},["testimonialId"]),m(s,["testimonialId"],"testimonialIds"),0===s.limit&&delete s.limit,(void 0===s.limit||null===s.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(s.limit=50),("agents"===e||"agentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(s.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(s),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":p(e,["testimonialIds"]);break;case"agents":case"agentsCount":p(e,["officeId","teamId","developmentId","agentIds","tags"]),m(e,["officeId"],"officeIds"),m(e,["teamId"],"teamIds"),m(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":p(e,["neighborhoodIds","neighborhoodId"]),m(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":p(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),m(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":p(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1617spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>m(e,[t],t)),m(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),m(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),m(e,["networkId"],"networkId"),m(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":p(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),m(e,["categoryIds","categoryId"],"categoryId"),void 0!==e.postId&&delete e.postId;break;case"postCategories":p(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),m(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":p(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),m(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":p(e,["officeId","officeIds","tags"]),m(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":p(e,["teamId","teamIds"]),m(e,["teamId"],"teamIds");break;case"pois":p(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(s,e),s}transformResponse(e,t){return"agent"===e?S(t,g):"agents"===e||"agentsCount"===e?_(t,y):"neighborhood"===e?S(t,f):"neighborhoods"===e||"neighborhoodsCount"===e?_(t,w):"development"===e?S(t,b):"developments"===e||"developmentsCount"===e?_(t,v):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}}(E,window,document);function B(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}B("config",E),B("modals",I),B("buttons",A),B("validation",L),B("contactForms",$),B("mapApiLoader",x),B("pagination",k),B("expandSliders",T),B("divolte",C),B("eventBus",M),B("oauth",U),B("qualifyingQuestionsModal",P),B("session",R),B("consent",N),B("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),B("routerApi",O),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){var s;return((s=e)&&s.__esModule?s.default:s)(t,{isEqual:(e,t)=>e==t})}})(); 1618//# sourceMappingURL=lp-sdk.js.map 1619 1620 </script>
1620 1621 1622
1622<script> 1623 var lpGlobalInitialized = false; 1624 1625 function lpGlobalInit () { 1626 if (lpGlobalInitialized) { 1627 return; 1628 } 1629 lpGlobalInitialized = true; 1630 // Initialize wow animation plugin only according to turbolinks 1631 var wow; 1632 if (window.WOW) { 1633 wow = new WOW({ 1634 animateClass: 'animated', 1635 offset: wowOffset, 1636 live: false, 1637 callback: function(box) {} 1638 }); 1639 } 1640 // Initialize handlebar helpers only once 1641 function handlebarsInit() { 1642 if (!window.Handlebars) { 1643 return; 1644 } 1645 HandlebarsIntl.registerWith(Handlebars); 1646 Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars)); 1647 } 1648 1649 handlebarsInit(); 1650 1651 var modalContentUrl = "/modals.html"; 1652 const modalsContainer = document.getElementById('modals'); 1653 if (modalsContainer) { 1654 fetch(modalContentUrl).then(function(res) { 1655 if (!res.ok) { 1656 throw new Error(`HTTP error! Status: ${res.status}`); 1657 } 1658 return res.text(); 1659 }).then(function(resultText) { 1660 modalsContainer.innerHTML = resultText; 1661 1662 // now we need to execute all script elements 1663 Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) { 1664 const script = document.createElement("script"); 1665 script.text = s.innerHTML; 1666 Array.from(s.attributes).forEach(function (a) { 1667 script.setAttribute(a.name, a.value); 1668 }) 1669 s.parentNode.replaceChild(script, s); 1670 }); 1671 1672 try { 1673 window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes); 1674 window.luxuryPresence.contactForms.initialize({ selector: '#modals' }); 1675 window.luxuryPresence.validation.initialize({ selector: '#modals' }); 1676 window.luxuryPresence.oauth.initialize({ 1677 googleSignOnEnabled: true, 1678 iframe: false }); 1679 } catch (e) { 1680 console.log(e); 1681 } 1682 document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => { 1683 closeModalBtn.addEventListener('click', function() { 1684 window.lpUI.hideClosestModal(closeModalBtn); 1685 }); 1686 }); 1687 }).catch((e) => console.log(e)); 1688 } 1689 /* Initialize Luxury Presence SDK */ 1690 try { 1691 window.luxuryPresence.config.setCompany("4bdfdea8-7590-45fe-8f02-015bff2768e3", {}); 1692 window.luxuryPresence.config.setWebsite("29fdc359-4e7c-4124-9d8f-335c77d83785", { 1693 myhomeDashboardEnabled: true, 1694 mlsEnabled: true, 1695 hstValuationRedirectEnabled: true 1696 }); 1697 const url = new URL(window.location.href); 1698 const shareId = url.searchParams.get('shareId'); 1699 window.luxuryPresence.config.setPage("b650200b-8936-4499-9a9c-b2bad0f5970a", { 1700 sourceResource: "", 1701 pageElementId: "", 1702 pageQueryVariables: {}, 1703 shareId: "", 1704 }); 1705 window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {}); 1706 window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {}); 1707 window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {}); 1708 window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {}); 1709 window.luxuryPresence.config.setEventBus({ 1710 enabled: true, 1711 apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr", 1712 url: "https://p.luxurypresence.com", 1713 }); 1714 window.luxuryPresence.config.setTemplateId("e3960201-1a19-4660-a991-8658653d81e9", {}); 1715 window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {}); 1716 window.luxuryPresence.buttons.initialize({}); 1717 window.luxuryPresence.consent.initialize({ provider: 'lp-consent' }); 1718 window.luxuryPresence.contactForms.initialize({}); 1719 window.luxuryPresence.validation.initialize({}); 1720 window.luxuryPresence.expandSliders.initialize({}); 1721 window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false }); 1722 window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true }); 1723 } catch (e) { 1724 console.log(e); 1725 } 1726 1727 /* Inject Section Specific Javascript */ 1728 try { 1729(function init(sectionDomId) { 1730 function setHttp(link) { 1731 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 1732 link = 'https://' + link; 1733 } 1734 return link; 1735 } 1736 const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__item, #' + sectionDomId + ' .lp-socials__link'); 1737 socialLinks.forEach(linkElement => { 1738 const href = linkElement.getAttribute('href'); 1739 if (href) { 1740 linkElement.setAttribute('href', setHttp(href)); 1741 } 1742 }); 1743 $("#" + sectionDomId + " form").on("reset", function () { 1744 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 1745 if (redirectLink.length) { 1746 const rawHref = redirectLink.attr('href'); 1747 redirectLink.attr('href', setHttp(rawHref)); 1748 redirectLink[0].click(); 1749 } 1750 }); 1751})('modal-global-contact-us'); 1752} catch(e) { 1753console.log(e); 1754} 1755 1756 try { 1757(function init(sectionDomId) { 1758 var resizeMenu = function () { 1759 var widthSoFar = 0; 1760 var availableWidth = $('#' + sectionDomId + ' .navigation').width(); 1761 if ($(window).width() > 1024) { 1762 $('#' + sectionDomId + ' .navigation > li').each(function () { 1763 $(this).hide(); 1764 const currentItemWidth = $(this).outerWidth(); 1765 if (availableWidth - widthSoFar >= currentItemWidth) $(this).css({ 1766 "visibility": "visible", 1767 "display": "list-item", 1768 "height": "auto" 1769 }); 1770 widthSoFar += $(this).outerWidth(); 1771 }); 1772 } 1773 }; 1774 $(window).on('resize.lpui-auto-clean', resizeMenu); 1775 const mediaQuery = window.matchMedia('(hover: hover) and (pointer: fine)'); 1776 var $subNavTrigger = $('body > nav .sub-nav-container a'); 1777 var $subNavContainer = $('body > nav .sub-nav-container'); 1778 if (mediaQuery.matches) { 1779 $subNavTrigger.off('click'); 1780 $subNavContainer.mouseout(function () { 1781 var self = $(this); 1782 self.removeClass('active').find('.sub-nav').removeClass('visible'); 1783 }).mouseover(function () { 1784 $(this).siblings('.sub-nav-container').removeClass('active').find('.sub-nav').removeClass('visible'); 1785 $(this).addClass('active').find('.sub-nav').addClass('visible'); 1786 }).mouseup(function () { 1787 var self = $(this); 1788 self.toggleClass('active'); 1789 }); 1790 } 1791 function isSectionLight(sect) { 1792 if (!sect || !sect.style) { 1793 return true; 1794 } 1795 if (sect.style.backgroundImage) { 1796 return false;
1797 } 1798 if ($(sect).children('.video-wrapper').length) { 1799 return false; 1800 } 1801 return sect.classList.contains('is-background-color-light'); 1802 } 1803 const $header = $(`#${sectionDomId} > .header`); 1804 if ($header.hasClass('theme-auto')) { 1805 if (isSectionLight($('body > section')[0])) { 1806 $header.removeClass('theme-light'); 1807 } else { 1808 $header.addClass('theme-light'); 1809 } 1810 } 1811 var resizeTimeout; 1812 clearTimeout(resizeTimeout); 1813 resizeTimeout = setTimeout(function () { 1814 resizeMenu(); 1815 }, 1000); 1816})('global-navbar'); 1817} catch(e) { 1818console.log(e); 1819} 1820 try { 1821(function init(sectionDomId, options) { 1822 var elementSelector = options.elementSelector || 'nav'; 1823 var element = document.querySelector(elementSelector); 1824 var sections = document.querySelectorAll('body > section'); 1825 var subNavContainers = element.querySelectorAll('.sub-nav'); 1826 var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor; 1827 var backgroundColorScroll = options.backgroundColorScroll || '#191919'; 1828 var fontColor = options.fontColor || '#fff'; 1829 var fontColorScroll = options.fontColorScroll || '#000'; 1830 var didScroll = false; 1831 var lastScrollTop = 0; 1832 var delta = 5; 1833 1834 // eslint-disable-next-line sonarjs/no-collapsible-if 1835 if (wow) { 1836 // Wowjs might not trigger for position fixed elements 1837 if (window.scrollY > 0) { 1838 element.querySelectorAll('.wow').forEach(el => wow.show(el)); 1839 } 1840 } 1841 function adjustNavPinState() { 1842 // Remove 'visible' class from all subNavContainers 1843 for (let i = 0; i < subNavContainers.length; i++) { 1844 subNavContainers[i].classList.remove('visible'); 1845 } 1846 if (window.scrollY > 0) { 1847 element.style.backgroundColor = backgroundColorScroll; 1848 element.style.color = fontColorScroll; 1849 element.classList.add('scroll'); 1850 } else { 1851 element.style.backgroundColor = initialBackgroundColor; 1852 element.style.color = fontColor; 1853 element.classList.remove('scroll'); 1854 } 1855 } 1856 adjustNavPinState(); 1857 function onScroll() { 1858 didScroll = true; 1859 } 1860 window.addEventListener('scroll', onScroll); 1861 1862 // eslint-disable-next-line 1863 var debounceInterval = setInterval(() => { 1864 if (didScroll) { 1865 // eslint-disable-next-line 1866 hasScrolled(); 1867 didScroll = false; 1868 } 1869 }, 250); 1870 function hasScrolled() { 1871 adjustNavPinState(); 1872 // eslint-disable-next-line 1873 var navbarHeight = element.offsetHeight; 1874 // eslint-disable-next-line 1875 var st = window.scrollY; 1876 1877 // Make sure they scroll more than delta 1878 if (Math.abs(lastScrollTop - st) <= delta) { 1879 return; 1880 } 1881 if (st > lastScrollTop && st > navbarHeight) { 1882 // Scroll Down 1883 element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`; 1884 document.documentElement.style.setProperty('--global-header-height', '0px'); 1885 1886 // Some sections "follow" the navbar with class sticky (i.e. Producer search) 1887 sections.forEach(section => { 1888 if (section.classList.contains('sticky')) { 1889 section.style.top = '0px'; 1890 } 1891 }); 1892 } else { 1893 // Scroll Up 1894 // eslint-disable-next-line 1895 if (st + window.innerHeight < document.documentElement.scrollHeight) { 1896 element.style.transform = `translateY(0) scaleY(1)`; 1897 document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`); 1898 sections.forEach(section => { 1899 if (section.classList.contains('sticky')) { 1900 section.style.top = `${navbarHeight}px`; 1901 } 1902 }); 1903 } 1904 } 1905 lastScrollTop = st; 1906 } 1907})('NAVBAR', JSON.parse("{\"fontColor\":\"#211F1F\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#ffffff\",\"backgroundColorScroll\":\"#2C3426\",\"initialBackgroundColor\":\"transparent\"}")); 1908} catch(e) { 1909console.log(e); 1910} 1911 try { 1912(function init(sectionDomId) { 1913 sectionDomId = "global-sidemenu"; 1914 var $sidemenu = $('#' + sectionDomId); 1915 const subNavItems = $('body > div.sidemenu .sub-nav-container .sub-nav__item'); 1916 const hideSubNavItems = () => { 1917 subNavItems.removeClass('fadeInUp'); 1918 }; 1919 const showSubNavItems = subnav => { 1920 if ($(subnav).find('.arrow').hasClass('active')) { 1921 $(".sidemenu").find('.arrow').removeClass('active'); 1922 } else { 1923 $(".sidemenu").find('.arrow').removeClass('active'); 1924 $(subnav).find('.arrow').addClass('active'); 1925 } 1926 let i = 0; 1927 subnav.find('.sub-nav__item').each((idx, item) => { 1928 i++; 1929 var timeout; 1930 clearTimeout(timeout); 1931 timeout = setTimeout(() => { 1932 $(item).addClass('fadeInUp'); 1933 }, 100 + i * 50); 1934 }); 1935 }; 1936 $(document).on("click", function (e) {
1937 if ($(e.target).closest(".navigation").length < 1) { 1938 hideSubNavItems(); 1939 } 1940 }); 1941 $('body > div.sidemenu .sub-nav-container > a').click(function (e) { 1942 const subnavContainer = $(this).closest('.sub-nav-container'); 1943 hideSubNavItems(); 1944 showSubNavItems(subnavContainer); 1945 }); 1946 const hideSideMenu = () => { 1947 $('body > div.sidemenu').removeClass('visible'); 1948 }; 1949 $('body > div.sidemenu .navigation .navigation__item:not(.sub-nav-container) .navigation__link').on('click', function (e) { 1950 onHide(); 1951 hideSideMenu(); 1952 }); 1953 $('body > div.sidemenu .sub-nav-container .sub-nav__link').on('click', function (e) { 1954 onHide(); 1955 setTimeout(() => { 1956 hideSideMenu(); 1957 }, 1601); 1958 }); 1959 var shown = false; 1960 function onShow() { 1961 if (shown) { 1962 return; 1963 } 1964 shown = true; 1965 window.lpUI.requestScrollLock(sectionDomId); 1966 $('#' + sectionDomId + ' .navigation__link').removeClass('fade-in'); 1967 $('#' + sectionDomId + ' .lp-socials__link').removeClass('fade-in'); 1968 let i = 0; 1969 $('#' + sectionDomId + ' .navigation__link').each(function () { 1970 i++; 1971 setTimeout(() => { 1972 $(this).addClass('fade-in'); 1973 }, 900 + i * 50); 1974 }); 1975 $('#' + sectionDomId + ' .lp-socials__link').each(function () { 1976 i++; 1977 setTimeout(() => { 1978 $(this).addClass('fade-in'); 1979 }, 900 + i * 50); 1980 }); 1981 } 1982 function onHide() { 1983 hideSubNavItems(); 1984 if (!shown) { 1985 return; 1986 } 1987 $('#' + sectionDomId + ' .lp-socials__link').removeClass('fade-in'); 1988 let i = 0; 1989 $($('#' + sectionDomId + ' .navigation__link').get().reverse()).each(function () { 1990 i++; 1991 setTimeout(() => { 1992 $(this).removeClass('fade-in'); 1993 }, i * 50); 1994 }); 1995 shown = false; 1996 setTimeout(() => { 1997 window.lpUI.releaseScrollLock(sectionDomId); 1998 }, 1600); 1999 } 2000 $sidemenu.on('lpui-show', onShow); 2001 $sidemenu.on('lpui-hide', onHide); 2002})('global-sidemenu'); 2003} catch(e) { 2004console.log(e); 2005} 2006 2007 try { 2008(function init(sectionDomId) { 2009 function setHttp(link) { 2010 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 2011 link = 'http://' + link; 2012 } 2013 return link; 2014 } 2015 $(`#${sectionDomId} form`).on("reset", function () { 2016 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 2017 if (redirectLink.length) { 2018 const rawHref = redirectLink.attr('href'); 2019 redirectLink.attr('href', setHttp(rawHref)); 2020 redirectLink[0].click(); 2021 } 2022 }); 2023})('global-footer'); 2024} catch(e) { 2025console.log(e); 2026} 2027 2028 try { 2029(function init(sectionDomId) { 2030 var _section = $('#' + sectionDomId); 2031 var _footer = document.getElementById('global-footer'); 2032 const redirectLink = _section.find('.js-redirect-link'); 2033 function setHttp(link) { 2034 if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) { 2035 link = 'https://' + link; 2036 } 2037 return link; 2038 } 2039 function redirectPage(link) { 2040 if (link.length) { 2041 window.location.href = setHttp(link.attr('href')); 2042 } 2043 } 2044 const emailInput = _section.find('.js-email-input'); 2045 const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/; 2046 emailInput.on('input', function () { 2047 if (emailRegex.test(this.value)) { 2048 this.setCustomValidity(''); 2049 } else { 2050 this.setCustomValidity('Please enter a valid email address.'); 2051 } 2052 this.reportValidity(); 2053 }); 2054 _section.find('input[name="name"]').on("keyup", function () { 2055 if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") { 2056 this.setCustomValidity("Please input your first name and last name."); 2057 } else { 2058 this.setCustomValidity(""); 2059 } 2060 }); 2061 _section.find('form').on("reset", function () { 2062 $(this).addClass("show-success"); 2063 redirectPage(redirectLink); 2064 }); 2065 $(window).scroll(function () { 2066 if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible'); 2067 }); 2068 _section.find('.close-btn, .connect-btn').click(function () { 2069 _section.find('.pop-up').toggle(); 2070 _section.find('.btn-holder').toggle(); 2071 }); 2072 if (!_footer) return; 2073 const observer = new IntersectionObserver(entries => {
2074 entries.forEach(entry => { 2075 if (entry.isIntersecting) _section.hide();else _section.show(); 2076 }); 2077 }, { 2078 threshold: 0.1 2079 }); 2080 observer.observe(_footer); 2081 function selectToDropdown(selectItem) { 2082 let customDropdown = ` 2083 <div class="custom-select" role="presentation"> 2084 <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button> 2085 <div class="custom-select-menu" style="display: none;max-height: none;"> 2086 <div class="custom-select-content"> 2087 </div> 2088 </div> 2089 </div>`; 2090 $(customDropdown).insertAfter(selectItem); 2091 let $dropdown = $($(selectItem).next()); 2092 let $dropdownToggle = $dropdown.find(".custom-select-toggle"); 2093 let $dropdownMenu = $dropdown.find(".custom-select-menu"); 2094 let $dropdownContent = $dropdown.find(".custom-select-content"); 2095 $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select"); 2096 $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom"); 2097 $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id")); 2098 appendOptionButtons(selectItem, $dropdownContent); 2099 $(selectItem).removeClass().addClass("sr-only"); 2100 var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text(); 2101 $dropdownToggle.html(toggleText); 2102 $dropdown.on("click", ".custom-select-item", function (e) { 2103 if ($(this).hasClass("is-disabled")) return; 2104 let elementNumber = $(this).index(); 2105 let $originalSelect = $(this).closest(".custom-select").siblings("select"); 2106 let $linkedOption = $originalSelect.find("option").eq(elementNumber); 2107 if (!$linkedOption.prop("selected")) { 2108 $linkedOption.prop("selected", true); 2109 $originalSelect.change(); 2110 $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected"); 2111 $dropdownToggle.html($(this).html()); 2112 closeSelectMenu($(this).closest(".custom-select-menu")); 2113 } 2114 $dropdownToggle.removeClass("is-placeholder"); 2115 }); 2116 function convertOptionToButton(option) { 2117 var optionText = $(option).text(); 2118 var optionValue = $(option).attr("value") || $(option).text(); 2119 var optionIsDisabled = $(option).prop("disabled"); 2120 var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`; 2121 return outputButton; 2122 } 2123 function appendOptionButtons(selectItem, appendTarget) { 2124 $(selectItem).find("option").each(function () { 2125 let currentButton = convertOptionToButton(this); 2126 $(appendTarget).append(currentButton); 2127 }); 2128 } 2129 function showSelectMenu(selectMenu) { 2130 var customSelect = $(selectMenu).closest(".custom-select")[0]; 2131 $(customSelect).addClass("open"); 2132 $(selectMenu).slideDown(); 2133 } 2134 function closeSelectMenu(selectMenu) { 2135 var customSelect = $(selectMenu).closest(".custom-select")[0]; 2136 $(customSelect).removeClass("open"); 2137 $(selectMenu).slideUp(); 2138 } 2139 $dropdown.on("click", ".custom-select-toggle", function (e) { 2140 var $customSelect = $(this).closest(".custom-select"); 2141 var selectMenu = $customSelect.find(".custom-select-menu")[0]; 2142 if ($customSelect.hasClass("open")) { 2143 closeSelectMenu(selectMenu); 2144 } else { 2145 showSelectMenu(selectMenu); 2146 } 2147 }); 2148 $(document).on("click", function (e) { 2149 if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) { 2150 $(".custom-select.open").each(function () { 2151 var selectMenu = $(this).find(".custom-select-menu")[0]; 2152 closeSelectMenu(selectMenu); 2153 }); 2154 } 2155 }); 2156 } 2157 $(".pop-up select[name='interest']").each(function () { 2158 selectToDropdown(this); 2159 }); 2160})('global-mobile-contact'); 2161} catch(e) { 2162console.log(e); 2163} 2164 2165 try { 2166(function init(sectionDomId) { 2167 const $section = $('#' + sectionDomId); 2168 const $videoWrap = $section.find('.full-screen-video-component > .video-wrapper'); 2169 const $playButton = $section.find('.js-play-btn'); 2170 if ($videoWrap.length) { 2171 const $video = $videoWrap.find('video'); 2172 $video.each(function () { 2173 var v = this; 2174 if (v.readyState > 0) { 2175 $videoWrap.addClass('playing'); 2176 var promise = v.play(); 2177 if (promise !== undefined) { 2178 promise.catch(error => { 2179 $playButton.addClass('visible'); 2180 }).then(() => {}); 2181 } 2182 } else { 2183 v.addEventListener('canplay', function () { 2184 $videoWrap.addClass('playing'); 2185 }, { 2186 once: true 2187 }); 2188 } 2189 }); 2190 } 2191 $playButton.on('click', function () { 2192 const $video = $videoWrap.find('video'); 2193 this.classList.remove('visible'); 2194 if ($video[0].currentTime === 0) { 2195 $video[0].load(); 2196 $video[0].play(); 2197 } 2198 }); 2199 window.luxuryPresence.mapApiLoader.load().then(() => {
2200 const $searchWrapper = $section.find('.search-wrapper'); 2201 if (!$searchWrapper.length) { 2202 return; 2203 } 2204 const searchMls = $searchWrapper[0].dataset.searchMls === 'true'; 2205 const searchProperties = $searchWrapper[0].dataset.searchProperties === 'true'; 2206 const searchPlaces = searchMls; 2207 const showNeighborhoods = searchMls; 2208 const searchNearEnabled = searchMls; 2209 const $searchInput = $section.find('.search-input'); 2210 const $searchResults = $section.find('.search-results'); 2211 const $resultsContainer = $section.find('.results-container'); 2212 const $loader = $section.find('.search-in-progress'); 2213 const $predefined = $section.find('.predefined-links'); 2214 const $searchBtn = $section.find('.search-button'); 2215 const $leaseFalseButton = $section.find('.jsLeaseFalse'); 2216 const $leaseTrueButton = $section.find('.jsLeaseTrue'); 2217 const $nextSection = $section.next(); 2218 const fixZIndex = $nextSection.length && parseInt($nextSection.css('z-index')) || 1; 2219 const searchDelay = 300; 2220 const maxPlaces = 3; 2221 const maxMls = 5; 2222 const leaseFilter = $leaseFalseButton.length > 0 && $leaseTrueButton.length > 0; 2223 const service = new google.maps.places.AutocompleteService(); 2224 const geocoder = new google.maps.Geocoder(); 2225 var keyword; 2226 var leasePropertyState = false; 2227 var leasePropertySearched; 2228 var searchActive = false; 2229 var isLoading = false; 2230 function showSearchResults() { 2231 searchActive = true; 2232 updateSearchDisplay(); 2233 } 2234 function hideSearchResults() { 2235 searchActive = false; 2236 updateSearchDisplay(); 2237 } 2238 function showLoading() { 2239 isLoading = true; 2240 updateSearchDisplay(); 2241 } 2242 function hideLoading() { 2243 isLoading = false; 2244 updateSearchDisplay(); 2245 } 2246 function updateSearchDisplay() { 2247 if (leaseFilter) { 2248 if (leasePropertyState) { 2249 $leaseTrueButton.addClass('active'); 2250 $leaseFalseButton.removeClass('active'); 2251 } else { 2252 $leaseFalseButton.addClass('active'); 2253 $leaseTrueButton.removeClass('active'); 2254 } 2255 } 2256 if (!searchActive) { 2257 $searchResults.removeClass('show'); 2258 $searchResults.css('height', '0'); 2259 return; 2260 } 2261 var hasResults = !!$resultsContainer.html(); 2262 var hasPredefined = $predefined.find('a:not(.not-processed)').length > 0; 2263 if (hasResults) { 2264 $predefined.addClass('not-visible'); 2265 $loader.addClass('not-visible'); 2266 $resultsContainer.removeClass('not-visible'); 2267 } else if (isLoading) { 2268 $resultsContainer.addClass('not-visible'); 2269 $predefined.addClass('not-visible'); 2270 $loader.removeClass('not-visible'); 2271 } else if (hasPredefined) { 2272 $resultsContainer.addClass('not-visible'); 2273 $loader.addClass('not-visible'); 2274 $predefined.removeClass('not-visible'); 2275 } else { 2276 $resultsContainer.addClass('not-visible'); 2277 $loader.addClass('not-visible'); 2278 $predefined.addClass('not-visible'); 2279 } 2280 var height = 0; 2281 height += $predefined[0].getBoundingClientRect().height; 2282 height += $resultsContainer[0].getBoundingClientRect().height; 2283 height += $loader[0].getBoundingClientRect().height; 2284 if (height > 0) { 2285 $searchResults.addClass('show'); 2286 } else { 2287 $searchResults.removeClass('show'); 2288 } 2289 $searchResults.css('height', height + 'px'); 2290 } 2291 function clearSelection() { 2292 $searchResults.find('.selected-link').removeClass('selected-link'); 2293 } 2294 function moveSelection(up) { 2295 var $cont = $resultsContainer.html() ? $resultsContainer : $predefined; 2296 var $links = $cont.find('.results-link'); 2297 if (!$links.length) { 2298 return; 2299 } 2300 var idx = -1; 2301 $links.each(function (i) { 2302 if (idx === -1 && $(this).is('.selected-link')) { 2303 idx = i; 2304 } 2305 }); 2306 var newIdx; 2307 if (up) { 2308 newIdx = idx - 1; 2309 if (newIdx < 0) { 2310 newIdx = $links.length - 1; 2311 } 2312 } else { 2313 newIdx = idx + 1; 2314 if (newIdx > $links.length - 1) { 2315 newIdx = 0; 2316 } 2317 } 2318 if (newIdx !== idx) { 2319 $searchResults.find('.selected-link').removeClass('selected-link'); 2320 $($links.get(newIdx)).addClass('selected-link'); 2321 } 2322 } 2323 var newSearchTimer; 2324 function inputChanged(ev) { 2325 if (ev.which === 38) { 2326 ev.preventDefault(); 2327 moveSelection(true); 2328 return false;
2329 } 2330 if (ev.which === 40) { 2331 ev.preventDefault(); 2332 moveSelection(); 2333 return false; 2334 } 2335 if (ev.which === 13) { 2336 $lnk = $searchResults.find('.selected-link'); 2337 if ($lnk.length) { 2338 $lnk[0].click(); 2339 hideSearchResults(); 2340 } else { 2341 $searchBtn.click(); 2342 } 2343 } 2344 window.clearTimeout(newSearchTimer); 2345 newSearchTimer = window.setTimeout(startSearch, searchDelay); 2346 } 2347 function startSearch() { 2348 const term = $searchInput.val(); 2349 if (term === keyword && leasePropertySearched === leasePropertyState) { 2350 return; 2351 } 2352 leasePropertySearched = leasePropertyState; 2353 keyword = term; 2354 if (term) { 2355 doSearch(term, leasePropertySearched); 2356 } else { 2357 setResults(null); 2358 } 2359 } 2360 function mlsSearch(term, leaseProperty) { 2361 var query = { 2362 keyword_search: term, 2363 limit: maxMls 2364 }; 2365 if (leaseFilter && leaseProperty) { 2366 query.lease_property = true; 2367 } 2368 return superagent.get(window.location.protocol + '//' + window.location.host + '/home-search/listings.json').query(query).then(function (res) { 2369 if (!Array.isArray(res.body)) { 2370 return []; 2371 } 2372 return res.body.map(function (item) { 2373 return { 2374 id: item.id, 2375 display_address: [item.address_1, item.city, [item.state, item.postal_code].filter(function (i) { 2376 return i; 2377 }).join(' ')].filter(function (i) { 2378 return i; 2379 }).join(', ') 2380 }; 2381 }); 2382 }, function (e) { 2383 console.log(e); 2384 return []; 2385 }); 2386 } 2387 function resolveGeoBounds(placeId, description, terms) { 2388 return new Promise(function (resolve, reject) { 2389 geocoder.geocode({ 2390 'placeId': placeId 2391 }, function (results, status) { 2392 if (status != 'OK') { 2393 return resolve(null); 2394 } 2395 var result = results[0]; 2396 var bounds = new google.maps.LatLngBounds();
2397 bounds.extend(result.geometry.viewport.getSouthWest()); 2398 bounds.extend(result.geometry.viewport.getNorthEast()); 2399 result.geometry.bounds = bounds.toJSON(); 2400 var placeUrl = window.luxuryPresence.makeMlsLink(result); 2401 return resolve({ 2402 placeUrl: placeUrl, 2403 description: description, 2404 cityName: terms[0].value, 2405 stateName: terms[1].value 2406 }); 2407 }); 2408 }); 2409 } 2410 function resolveAutocomplete(term, deeper) { 2411 var request = { 2412 input: term, 2413 componentRestrictions: { 2414 country: 'us' 2415 }, 2416 types: deeper ? ['geocode'] : ['(regions)'], 2417 limit: 1 2418 }; 2419 return new Promise(function (resolve, reject) { 2420 service.getPlacePredictions(request, function (results, status) { 2421 if (status !== google.maps.places.PlacesServiceStatus.OK) { 2422 resolve(null); 2423 return; 2424 } 2425 if (!Array.isArray(results)) { 2426 resolve(null); 2427 return; 2428 } 2429 if (deeper) { 2430 var allowedTypes = { 2431 'neighborhood': true, 2432 'administrative_area_level_3': true, 2433 'administrative_area_level_4': true, 2434 'administrative_area_level_5': true, 2435 'sublocality_level_1': true, 2436 'sublocality_level_2': true, 2437 'sublocality_level_3': true 2438 }; 2439 results = results.filter(function (res) { 2440 return res.types.find(t => allowedTypes[t]); 2441 }); 2442 } 2443 if (!results.length) { 2444 resolve(null); 2445 return; 2446 } 2447 resolve(results); 2448 }); 2449 }); 2450 } 2451 var placesResult = {}; 2452 function placesSearch(term, ignoreInput) { 2453 if (placesResult.term !== term) { 2454 placesResult = { 2455 term: term, 2456 result: resolveAutocomplete(term).then(function (results) { 2457 if (!ignoreInput && term !== keyword) { 2458 return null; 2459 } 2460 if (ignoreInput && !results) { 2461 return resolveAutocomplete(term, true); 2462 } 2463 return results; 2464 }).then(function (results) { 2465 if (!ignoreInput && term !== keyword) { 2466 return []; 2467 } 2468 if (!results) { 2469 return []; 2470 } 2471 var geoResultPromises = results.map(function (result) { 2472 return resolveGeoBounds(result.place_id, result.description, result.terms); 2473 }); 2474 return Promise.all(geoResultPromises).then(function (geoLinks) { 2475 return geoLinks.filter(function (i) { 2476 return i; 2477 }).slice(0, maxPlaces); 2478 }); 2479 }) 2480 }; 2481 } 2482 return placesResult.result; 2483 } 2484 function propertiesSearch(term, leaseProperty) { 2485 var payload = { 2486 companyId: window.luxuryPresence.defaults.companyId, 2487 search: term, 2488 offset: 0, 2489 limit: 6, 2490 statusIds: ["5f528253-abb7-484e-95c3-330269ac1105", "959c11cf-8655-4f91-874c-292b0ab7ea6b", "a0012964-4f51-4430-abf8-6547c5ab6441", "df04ccbe-4621-4140-a504-ee1a17430bb7", "88b4ace6-f39b-4b25-a051-8f6dba976833", "96031d77-bbe5-4de3-90d8-1e4e70de8ca8"] 2491 }; 2492 if (leaseFilter) { 2493 payload.leaseProperty = !!leaseProperty; 2494 } 2495 return superagent.post(window.luxuryPresence.defaults.apiGatewayUrl + '/graphql').send({ 2496 query: window.luxuryPresence.defaults.gql.properties, 2497 variables: payload 2498 }).then(function (res) { 2499 return (res.body.data || {}).properties || []; 2500 }, function (err) { 2501 return []; 2502 }); 2503 } 2504 function doSearch(term, leaseProperty) { 2505 showLoading(); 2506 Promise.all([searchMls ? mlsSearch(term, leaseProperty) : [], searchPlaces ? placesSearch(term) : [], searchProperties ? propertiesSearch(term, leaseProperty) : []]).then(function (res) { 2507 if (term !== keyword) { 2508 return; 2509 } 2510 setResults(res[0], res[1], res[2], leaseProperty); 2511 }); 2512 } 2513 function makeResultsBlockHtml(title, links) { 2514 if (!links || !links.length) { 2515 return ''; 2516 } 2517 var html = '<div class="results-block">'; 2518 html += '<div class="results-block-title">'; 2519 if (searchNearEnabled) { 2520 html += '<div class="search-near-container"><a class="search-near lp-link lp-link--light">Search Near Me</a></div>'; 2521 } 2522 html += '<div class="results-title-label">' + title + '</div></div>'; 2523 html += links.join('') + '</div>'; 2524 return html; 2525 } 2526 function setResults(mlsResults, placesResults, propertiesResults, leaseProperty) { 2527 clearSelection(); 2528 hideLoading(); 2529 if (!mlsResults) { 2530 $resultsContainer.html(''); 2531 updateSearchDisplay(); 2532 return; 2533 } 2534 if (!mlsResults.length && !placesResults.length && !propertiesResults.length) { 2535 $resultsContainer.html('<div class="nothing-found">No results found</div>'); 2536 updateSearchDisplay(); 2537 return; 2538 } 2539 var propertiesHtml = makeResultsBlockHtml('Featured Properties', propertiesResults.map(function (result) { 2540 return `<a href="/properties/${result.slug}" class="results-link">${result.privateAddress ? result.name : result.fullAddress}</a>`; 2541 })); 2542 var placesHtml = makeResultsBlockHtml('Locations', placesResults.map(function (result) { 2543 return `<a class="results-link" href="${result.placeUrl}${leaseProperty ? '&lease_property=true' : ''}&cityName=${result.cityName}&stateName=${result.stateName}">${result.description}</a>`; 2544 })); 2545 var mlsHtml = makeResultsBlockHtml('Address', mlsResults.map(function (result) { 2546 return `<a href="/home-search/listings/${result.id}" class="results-link">${result.display_address}</a>`; 2547 }));
2548 $resultsContainer.html(propertiesHtml + placesHtml + mlsHtml); 2549 updateSearchDisplay(); 2550 } 2551 function searchBtnClicked() { 2552 var resultsBlockHref = $("#" + sectionDomId + " .results-block .results-link").attr("href"); 2553 const term = $searchInput.val(); 2554 if (!term) { 2555 return; 2556 } 2557 if (searchMls) { 2558 window.location.href = resultsBlockHref; 2559 return; 2560 } 2561 if (searchProperties) { 2562 window.location.href = "/properties/sale"; 2563 } 2564 } 2565 var neighborhoods = null; 2566 function fetchNeighborhoods() { 2567 var url = window.luxuryPresence.defaults.apiGatewayUrl; 2568 var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, offset: $offset, limit: $limit) {id, name, mlsLink, googlePlaceData}}'; 2569 var payload = {}; 2570 payload.offset = 0; 2571 payload.limit = 100; 2572 payload.companyId = window.luxuryPresence.defaults.companyId; 2573 return superagent.post(url + '/graphql').withCredentials().send({ 2574 query: gqlQuery, 2575 variables: payload 2576 }).then(function (res) { 2577 neighborhoods = res.body.data && res.body.data.neighborhoods; 2578 if (neighborhoods && !neighborhoods.length) { 2579 neighborhoods = null; 2580 } 2581 }); 2582 } 2583 function setPredefinedNeighborhoods() { 2584 return fetchNeighborhoods().then(function () { 2585 if (!neighborhoods) { 2586 return; 2587 } 2588 var leaseProperty = leaseFilter && leasePropertyState; 2589 var placesHtml = makeResultsBlockHtml('Locations', neighborhoods.map(function (item) { 2590 return `<a class="results-link" href="${item.mlsLink}${leaseProperty ? '&lease_property=true' : ''}">${item.googlePlaceData && item.googlePlaceData.formatted_address || item.name}</a>`; 2591 })); 2592 $predefined.html(placesHtml); 2593 updateSearchDisplay(); 2594 }); 2595 } 2596 if (showNeighborhoods) { 2597 setPredefinedNeighborhoods(); 2598 } 2599 $searchInput.on('focus', showSearchResults); 2600 $searchInput.on('keyup focus', inputChanged); 2601 $searchResults.on('mouseenter', '.results-link', function (ev) { 2602 clearSelection(); 2603 }); 2604 $searchBtn.on('click', searchBtnClicked); 2605 $leaseFalseButton.on('click', function () { 2606 if (leasePropertyState) { 2607 leasePropertyState = false; 2608 if (showNeighborhoods) { 2609 setPredefinedNeighborhoods(); 2610 } 2611 updateSearchDisplay(); 2612 setResults(null); 2613 startSearch(); 2614 } 2615 }); 2616 $leaseTrueButton.on('click', function () { 2617 if (!leasePropertyState) { 2618 leasePropertyState = true; 2619 if (showNeighborhoods) { 2620 setPredefinedNeighborhoods(); 2621 } 2622 updateSearchDisplay(); 2623 setResults(null); 2624 startSearch(); 2625 } 2626 }); 2627 function createPolygonUrl(center, radius, n) { 2628 var step = Math.PI * 2 / n; 2629 var angle = 0 - step / 2; 2630 var points = []; 2631 var kx = 1.0 / Math.cos(center[1] * Math.PI / 180); 2632 for (var i = 0; i < n; i++) { 2633 points.push('[' + (center[0] + radius * Math.sin(angle) * kx).toFixed(5) + ',' + (center[1] - radius * Math.cos(angle)).toFixed(5) + ']'); 2634 angle += step; 2635 } 2636 points.push(points[0]); 2637 var str = '[[' + points.join(',') + ']]'; 2638 return '&polygon=' + encodeURIComponent(str); 2639 } 2640 function makeNearMeUrl(center, leaseProperty) { 2641 var url = '/home-search/listings?search_type=envelope'; 2642 if (leaseProperty) { 2643 url += '&lease_property=true'; 2644 } 2645 var distance = 0.11; 2646 var lat = center[1]; 2647 var lng = center[0]; 2648 url += '&south=' + (lat - distance); 2649 url += '&north=' + (lat + distance); 2650 url += '&west=' + (lng - distance); 2651 url += '&east=' + (lng + distance); 2652 url += createPolygonUrl(center, distance, 54); 2653 return url; 2654 } 2655 var $locMsg = null; 2656 $section.on('click', '.search-near', function () { 2657 showLoading(); 2658 navigator.geolocation.getCurrentPosition(function (position) { 2659 hideLoading(); 2660 hideSearchResults(); 2661 if (!position || !position.coords || !position.coords.latitude || !position.coords.longitude) { 2662 showLocationMessage('Unknown Location', '<p>Getting position of your device failed.</p><p>
2662You can type your address manually in the search field</p>'); 2663 return; 2664 } 2665 var url = makeNearMeUrl([position.coords.longitude, position.coords.latitude], leaseFilter && leasePropertyState); 2666 var link = document.createElement('a'); 2667 link.href = url; 2668 link.class = 'lp-visually-hidden'; 2669 $section[0].appendChild(link); 2670 link.click(); 2671 setTimeout(function () { 2672 $section[0].removeChild(link); 2673 }, 100); 2674 }, function (geoError) { 2675 hideLoading(); 2676 hideSearchResults(); 2677 var title = 'Unknown Location'; 2678 var msg; 2679 if (geoError.code === 1) { 2680 msg = '<p>To be able to search near you we need to know your current location.</p><p>If you don\'t want to give access to your device\'s location, you can type your address in the search field</p>'; 2681 } else { 2682 msg = '<p>Getting position of your device failed.</p><p>You can type your address manually in the search field</p>'; 2683 } 2684 showLocationMessage(title, msg); 2685 }); 2686 }); 2687 var locHideTimer = null; 2688 function showLocationMessage(title, message) { 2689 clearTimeout(locHideTimer); 2690 if (!$locMsg) { 2691 var html = `<div class="loc-msg-backdrop"> 2692 <div class="loc-msg-wrap"> 2693 <div class="loc-msg-modal"> 2694 <div class="loc-msg-close"></div> 2695 <h4 class="loc-msg-title lp-h4"></h4> 2696 <div class="loc-msg-container"></div> 2697 </div> 2698 </div> 2699 </div> 2700 `; 2701 $locMsg = $(html); 2702 $locMsg.on('click', hideLocationMessage); 2703 $section.append($locMsg); 2704 } 2705 $locMsg.find('.loc-msg-container').html(message); 2706 $locMsg.find('.loc-msg-title').html(title); 2707 setTimeout(function () { 2708 if ($locMsg) { 2709 $section.addClass('visible-loc-msg'); 2710 } 2711 }); 2712 } 2713 function hideLocationMessage() { 2714 $section.removeClass('visible-loc-msg'); 2715 locHideTimer = setTimeout(function () { 2716 $locMsg.remove(); 2717 $locMsg = null; 2718 }, 400); 2719 } 2720 function outsideClickHandler(e) { 2721 if ($searchWrapper.find($(e.target)).length > 0) { 2722 return; 2723 } 2724 hideSearchResults(); 2725 } 2726 $(document).on('click', outsideClickHandler); 2727 if ('geolocation' in navigator) { 2728 $searchWrapper.removeClass('search-near-hidden'); 2729 } 2730 updateSearchDisplay(); 2731 }); 2732})('section-2a383b35-47ef-4e59-a3a3-da7c7dc7a460', 'undefined'); 2733} catch(e) { 2734console.log(e); 2735} 2736 try { 2737(function init(sectionDomId) {})('section-dd5660f9-dde4-4bb2-9a67-826841c9d871', 'undefined'); 2738} catch(e) { 2739console.log(e); 2740} 2741 try { 2742(function init(sectionDomId) { 2743 var $contactForm = $('#' + sectionDomId + ' .newsletter-signup__form'); 2744 $contactForm.find('.contact-form__reset').click(function (e) { 2745 e.preventDefault(); 2746 $(this).closest('form').removeClass('success').trigger("reset"); 2747 }); 2748 $contactForm.find('input[name="name"]').on("keyup", function () { 2749 if (this.value.replaceAll(/\d/g, "").trim() === "") { 2750 this.setCustomValidity("Please enter your name."); 2751 } else { 2752 this.setCustomValidity(""); 2753 } 2754 }); 2755 const form = $("#" + sectionDomId).find("form"); 2756 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 2757 form.on("reset", function () { 2758 redirectPage(redirectLink); 2759 }); 2760 function redirectPage(link) { 2761 if (link.length) { 2762 const rawHref = link.attr('href'); 2763 link.attr('href', setHttp(rawHref)); 2764 link[0].click(); 2765 } 2766 } 2767 function setHttp(link) { 2768 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 2769 link = 'http://' + link; 2770 } 2771 return link; 2772 } 2773})('section-9b6dcd29-e314-422d-9b92-bcd75434a292', 'undefined'); 2774} catch(e) { 2775console.log(e); 2776} 2777 2778 var { body } = document; 2779 var globalNav = body.querySelector(':scope > nav'); 2780 var globalSideMenu = body.querySelector(':scope > div.sidemenu'); 2781 2782 document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => { 2783 modalCloseBtn.addEventListener('click', function() { 2784 window.lpUI.hideClosestModal(modalCloseBtn); 2785 }); 2786 }); 2787 2788 window.addEventListener('click', function() { 2789 document.querySelectorAll('.share-popup').forEach(sharedPopup => { 2790 sharedPopup.style.display = 'none' ; 2791 }); 2792 }); 2793 2794 /* Misc Partials / Addons */ 2795 function initWOW() { 2796 if (wow) { 2797 wow.init(); 2798 wow.scrollHandler(); 2799 setTimeout(function () { 2800 const wowHideStyle = document.getElementById('wow-hide-elements'); 2801 if(wowHideStyle) { 2802 wowHideStyle.disabled = true; 2803 } 2804 }, 1); 2805 } 2806 } 2807 2808 const wowHideElements = document.getElementById('wow-hide-elements'); 2809 if (wowHideElements) { 2810 wowHideElements.disabled = false;
2811 } 2812 2813 initWOW(); 2814 2815 /* Generic Navbar Handling */ 2816 globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => { 2817 hamburgerComponent.addEventListener('click', function() { 2818 window.lpUI.sideMenuToggle(); 2819 }); 2820 }); 2821 globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => { 2822 toggleEl.addEventListener('click', function() { 2823 window.lpUI.sideMenuToggle(); 2824 }); 2825 }); 2826 2827 document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => { 2828 linkEl.addEventListener('click', function(e) { 2829 e.preventDefault(); 2830 e.stopPropagation(); 2831 var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav'); 2832 if (subNav && subNav.classList.contains('visible')){ 2833 subNav.classList.remove('visible'); 2834 } else { 2835 globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => { 2836 globalSubNav.classList.remove('visible'); 2837 }); 2838 globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => { 2839 sideMenuSubNav.classList.remove('visible'); 2840 }); 2841 subNav?.classList.add('visible'); 2842 } 2843 }); 2844 }); 2845 window.addEventListener('click', function() { 2846 document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => { 2847 subNavEl.classList.remove('visible'); 2848 }); 2849 }); 2850 2851 } 2852 2853 document.addEventListener('DOMContentLoaded', lpGlobalInit); 2854 2855 </script>
2855 2856 2857
2857<script type="module"> 2858 function selectorExists(selector) { 2859 return document.querySelector(selector) !== null; 2860 } 2861 2862 // Function to initialize the third-party library 2863 function initParoller(selector = '.my-paroller') { 2864 var $parollerElements = $(selector); 2865 if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') { 2866 $parollerElements.paroller(); 2867 } 2868 } 2869 2870 const parollerSelector = '.my-paroller'; 2871 2872 if (selectorExists(parollerSelector)) { 2873 window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() { 2874 initParoller(parollerSelector); 2875 window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true; 2876 }); 2877 } 2878 </script>
2878 2879 2880 <!-- Follow Up Boss Page View Tracker--> 2881
2881<script type="text/plain" data-consent-category="analytics"> 2882 window.widgetTracker("send", "pageview"); 2883 </script>
2883 2884 <!-- End Follow Up Boss Page View Tracker --> 2885 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 2885-2886
2885 2886 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2886GTM-KTG8HXV
vendor: 107 bytes, lines 2886-2888
2886" 2887 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 2888
2888<!-- End Google Tag Manager --> 2889 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 2889-2890
2889 2890 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2890GTM-NRB4D5T
vendor: 107 bytes, lines 2890-2892
2890" 2891 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 2892
2892<!-- End Google Tag Manager --> 2893 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 2893-2894
2893 2894 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2894GTM-T9SFQGHZ
vendor: 107 bytes, lines 2894-2896
2894" 2895 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 2896
2896<!-- End Google Tag Manager --> 2897 2898
2898<script 2899 src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js" 2900 data-website-id="29fdc359-4e7c-4124-9d8f-335c77d83785" 2901 2902 defer></script>
vendor: 1 bytes, line 2902
2902
2903<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"d2a8f4b3d65944edb8fcd6ffce49ee5e","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2903
2903
2904<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:'a432d9ac6d88127b',t:'MTc5MDc2NzM1MQ=='};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>
2904</body> 2905</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.