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 Foster Real Estate Services | Paul Wesley, Mid-Atl</title> 10 <meta property="og:title" content="Contact Foster Real Estate Services | Paul Wesley, Mid-Atl"> 11 <meta name="twitter:title" content="Contact Foster Real Estate Services | Paul Wesley, Mid-Atl"> 12 <meta name="description" content="Contact Paul Wesley Real Estate to discuss buying, selling, or renting properties. Submit your message today and our team will reach out shortly to assist you."> 13 <meta property="og:description" content="Contact Paul Wesley Real Estate to discuss buying, selling, or renting properties. Submit your message today and our team will reach out shortly to assist you."> 14 <meta name="twitter:description" content="Contact Paul Wesley Real Estate to discuss buying, selling, or renting properties. Submit your message today and our team will reach out shortly to assist you."> 15 <meta property="og:image" content="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/69c22ca9-7858-4efe-9397-00e704a8f50e"> 16 <meta name="twitter:image" content="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/69c22ca9-7858-4efe-9397-00e704a8f50e"> 17 <meta property="og:url" content="https://paulwesley.com/contact"> 18 <link rel="canonical" href="https://paulwesley.com/contact"> 19
19<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
19 20 <link rel="preconnect" href="https://fonts.googleapis.com"> 21 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 22 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Quattrocento%20Sans:400,400i,700,700i"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito%20Sans:200,300,400,500,600,700,800,900,200i,300i,400i,500i,600i,700i,800i,900i"> 23 <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 24 <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript> 25 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 26 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 27 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 28 <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png"> 29 <style id="global-css">:root{--global-primary-font-family:'Quattrocento Sans',sans-serif;--global-primary-font-family-short:Quattrocento Sans;--global-secondary-font-family:'Nunito Sans',sans-serif;--global-secondary-font-family-short:Nunito Sans;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:70px;--global-h2-font-size:44px;--global-h3-font-size:36px;--global-h4-font-size:21px;--global-h5-font-size:17px;--global-h6-font-size:16px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:'Nunito Sans',sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Quattrocento Sans',sans-serif;}h1{font-size:70px;}h2{font-size:44px;}h3{font-size:36px;}h4{font-size:21px;}h5{font-size:17px;}h6{font-size:16px;}</style> 30 <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/producer/index.css" /> 31 <style id="website-css">:root{--accent:#C5A467;--text:#3D4040;--link:#C5A467;--lightBG:#F2EDE7;--blockBG:#E5D5C5;--red:#7A1426;}#global-navbar .buttons-wrapper{padding-left:20px;}#global-navbar .buttons-wrapper .hamburger__bars{width:30px!important;height:1px!important;}#global-navbar .buttons-wrapper .hamburger__bars:before{width:40px!important;height:1px!important;right:0!important;left:unset!important;}#global-navbar .buttons-wrapper .hamburger__bars:after{width:20px!important;height:1px!important;right:0!important;left:unset!important;}nav#global-navbar .header .navigation .sub-nav ul{background-color:var(--lightBG);padding:0!important;}nav#global-navbar .header .navigation .sub-nav ul .sub-nav__link{color:var(--text);font-size:13px!important;}nav#global-navbar .header .navigation .sub-nav ul .sub-nav__link:hover{color:#fff;}nav#global-navbar .header .navigation .sub-nav ul li:hover{background-color:var(--red)!important;color:#fff!important;}nav#global-navbar li.navigation__item a.navigation__link{color:#fff;}nav#global-navbar li.navigation__item a.navigation__link:hover{color:#fff;}nav#global-navbar li.navigation__item a.navigation__link span:after{background-color:#fff;}nav#global-navbar.scroll{background-color:var(--lightBG)!important;}nav#global-navbar.scroll button{color:var(--red);}nav#global-navbar.scroll button:hover{color:var(--link);}nav#global-navbar.scroll li.navigation__item a.navigation__link{color:var(--red);}nav#global-navbar.scroll li.navigation__item a.navigation__link:hover{color:var(--link);}nav#global-navbar.scroll li.navigation__item a.navigation__link span:after{background-color:var(--link);}#global-navbar.scroll .header a.logo__link img:last-child{display:block!important;}#global-navbar.scroll .header a.logo__link img:first-child{display:none!important;}.redesign .btn--small{padding:20px 46px;}.lp-btn,.btn{padding:20px 46px!important;}button.newsletter-signup__form-item{line-height:1;font-weight:700;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}#modal-global-contact-us .section-message:after{background:#fff!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:#fff!important;}#modal-global-contact-us .lp-input-group .lp-label{text-transform:uppercase;}#modal-global-contact-us .lp-input-group textarea{border:solid 1px #fff!important;}#modal-global-contact-us .lp-tcr-message{color:#fff!important;font-weight:400!important;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:22px;}#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:22px!important;}}#global-footer .info-wrap-contact_zone h4{line-height:.8;}@media (max-width: 768px){#global-footer .info-wrap-contact_zone h4{line-height:1.5;}}footer .footer .info-privacy .powered_zone a,footer .footer .info-privacy .copy_zone a{font-weight:400!important;}@media (max-width: 768px){.lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;
31-webkit-justify-content:center;justify-content:center;}}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:20px!important;}@media (max-width: 768px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:7px!important;}}@media (max-width: 768px){footer .footer .info-privacy .socials_zone li{padding:0 3px 7px 3px!important;}}@media (max-width: 768px){#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (min-width: 1201px){#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (max-width: 768px){footer .footer.no_newsletter h3{margin-bottom:26px!important;}}div#modal-global-contact-us .contact-form .info-zone .info-zone_contact_cell{margin-bottom:21px;}div#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:21px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:25px;}}div#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:14px;}div#modal-global-contact-us .contact-form .section-message h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .section-message h2{font-size:32px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:28px;}}div#modal-global-contact-us div.modal-content div.contact-form.redesign:after{background-color:rgba(0, 0, 0, .6);}#modal-global-contact-us .lp-input-group *{color:#fff!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:#fff!important;}#modal-global-contact-us .section-message .lp-tcr-message{color:#fff;}#modal-global-contact-us .contact-form .section-message label{color:inherit;}#modal-global-contact-us a:not(.lp-socials__link):after{background-color:#fff!important;}@media(max-width: 768px){#modal-global-contact-us .close{right:5vw!important;top:5vh!important;}}div#modal-global-contact-us .contact-form{-webkit-background-position:center;background-position:center;}.redesign .pagination-container .paginationjs ul li{margin:0 3px;}.lp-pagination.pagination-container .paginationjs ul li a{font-weight:500;}.redesign .pagination-container .paginationjs ul li a{font-weight:500;}nav#global-navbar .header .logo .logo__img{max-height:60px;max-width:220px;}@media (max-width: 560px){nav#global-navbar .header .logo .logo__img{max-height:50px;max-width:180px;}}@media (max-width: 560px){.redesign .h2,.redesign h2,h2,.lp-h2{font-size:32px;}.redesign .h3,.redesign h3,h3,.lp-h3{font-size:22px;}}footer .footer .info-privacy{border-top:1px solid var(--accent)!important;}@media (max-width: 768px){footer .footer .info-privacy .copy_zone{border-top:1px solid var(--accent)!important;}footer .footer .info-privacy{border:none!important;}}#global-footer>div>div>div.info-wrap>div>div.info-wrap-contact_zone.type_user>h4{margin-top:0px!important;}footer .redesign.footer .lp-link{color:#fff!important;}footer .redesign.footer .lp-link:hover{color:var(--link)!important;}footer .redesign.footer .lp-link:after{background-color:var(--link)!important;}.info-container{max-width:700px;text-align:center;margin:0 auto;}.info-container .profile-img{width:auto;height:120px;margin-bottom:30px;}.info-container .info-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:20px;margin-bottom:30px;}.info-container .info-wrapper .info-item{-webkit-flex:1;-ms-flex:1;flex:1;
31min-width:200px;}.info-container .info-wrapper .info-item .info-label{font-weight:bold;display:block;margin-bottom:5px;text-transform:uppercase;}.info-container .info-wrapper .info-item p{margin:0;}.info-container .info-wrapper .info-item .lp-link{-webkit-text-decoration:none;text-decoration:none;font-weight:400;}.luxury-text{width:100%;}#ipql{text-align:center;}footer .form-col.form-col--powered.powered-box .img-wrap{-webkit-filter:invert(1)!important;filter:invert(1)!important;}footer .footer .info-privacy{padding-top:20px!important;padding-bottom:0!important;}@media (max-width: 500px){footer .footer{padding-top:64px!important;}}body>div.sidemenu .sidebar{width:400px!important;padding-bottom:0!important;}@media(max-width: 768px){body>div.sidemenu .sidebar{width:80vw!important;}}@media(max-width: 400px){body>div.sidemenu .sidebar{width:95vw!important;}}body>div.sidemenu .sidebar .sidebar__nav-item{border:none;text-align:left;padding:0;font-size:1.2rem;}body>div.sidemenu .sidebar .sidebar__subnav-link{font-size:1.1rem;padding-left:30px;}#global-sidemenu a{-webkit-transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;}#global-sidemenu a:hover{-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);color:var(--link);}#global-sidemenu a:active{-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px);color:var(--link);}#global-mobile-contact .custom-select-item{text-transform:none;font-weight:normal!important;font-family:var(--global-secondary-font-family)!important;}#global-mobile-contact .custom-select-item:hover{background-color:var(--red);color:#fff;}#global-mobile-contact .custom-select-toggle.lp-input--light{color:var(--dark);}#global-mobile-contact .custom-select-toggle{text-transform:none;}#global-mobile-contact .custom-select-toggle:after{border-color:var(--dark);}#global-mobile-contact .custom-select-content{background-color:var(--lightBG);color:var(--text);}section:has(.custom-intro),section:has(.agent-intro){background-attachment:fixed;-webkit-background-position:bottom!important;background-position:bottom!important;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;}body>div.mobile-contact-wrapper .mobile-contact.with-search div.buttons-holder{bottom:150px;}@media only screen and (max-width: 768px){iframe[name='widgetCta']{bottom:55px!important;right:15px!important;}}iframe[name="widgetCta"]{bottom:70px!important;right:15px!important;}body>div.mobile-contact-wrapper .connect-btn{border:2px solid #cbad76!important;}body>div.mobile-contact-wrapper{z-index:9999!important;}body>div.mobile-contact-wrapper .mobile-contact{z-index:9999!important;}.lp-btn,.redesign .lp-btn,.redesign .btn{padding:20px 46px;}.lp-btn,.redesign .lp-btn,.redesign .btn{text-overflow:initial;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}#global-mobile-contact .mobile-contact{z-index:9999;}input[type="checkbox"][name="termsAccepted"]{cursor:pointer!important;}@media (max-width: 1024px){div.calendar__item{margin-bottom:10px!important;}}.search-wrapper.js-address-search .loader .line{background-color:#7a1426!important;}html body .uwy:not(.uon){z-index:99999!important;}body>div.sidemenu .sidebar{box-shadow:0 0 10px rgba(255,255,255,0.2);}</style> 32 <style id="wow-hide-elements">.wow{visibility:hidden!important}</style> 33 <style id="page-css"> 34 #section-985ac9b9-58ac-4203-8965-d415ae54f872{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:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#ffffff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.30));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/69c22ca9-7858-4efe-9397-00e704a8f50e');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .container{max-width:inherit!important;}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:600px;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro__title{font-size:22px;}}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-985ac9b9-58ac-4203-8965-d415ae54f872 .custom-intro__subtitle{font-size:18px;}}#section-985ac9b9-58ac-4203-8965-d415ae54f872 .description{margin-bottom:15px;}@media (min-width: 960px) and (orientation: landscape){#section-985ac9b9-58ac-4203-8965-d415ae54f872{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/69c22ca9-7858-4efe-9397-00e704a8f50e');}}@media (min-width: 1280px) and (orientation: landscape){#section-985ac9b9-58ac-4203-8965-d415ae54f872{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/69c22ca9-7858-4efe-9397-00e704a8f50e');}}@media (min-width: 1920px) and (orientation: landscape){#section-985ac9b9-58ac-4203-8965-d415ae54f872{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/69c22ca9-7858-4efe-9397-00e704a8f50e');}}@media (min-width: 2560px) and (orientation: landscape){#section-985ac9b9-58ac-4203-8965-d415ae54f872{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/69c22ca9-7858-4efe-9397-00e704a8f50e');}}#section-9b183d11-3724-4733-99a4-435e7538fc4c{color:#3D4040;--fontColor:#3D4040;--fontColor_H:180;--fontColor_S:2%;--fontColor_L:25%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F2EDE7;--bgColor_H:33;--bgColor_S:30%;--bgColor_L:93%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#F2EDE7;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__header{max-width:inherit!important;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-label{text-transform:uppercase!important;}#section-9b183d11-3724-4733-99a4-435e7538fc4c div.custom-form__img-block{height:auto;aspect-ratio:1;}#section-9b183d11-3724-4733-99a4-435e7538fc4c div.custom-form__header{max-width:700px;}@media (min-width: 769px){#section-9b183d11-3724-4733-99a4-435e7538fc4c div.custom-form__img-block{height:100%;overflow:hidden;position:relative;}#section-9b183d11-3724-4733-99a4-435e7538fc4c div.custom-form__img-block img{position:absolute;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c.modal.is-background-color-light>button.close{padding:5px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c.modal.is-background-color-light>button.close:before{content:'';width:100%;display:block;padding-bottom:100%;-webkit-clip-path:polygon(8% 0, 50% 42%, 92% 0, 100% 8%, 58% 50%, 100% 92%, 92% 100%, 50% 58%, 8% 100%, 0 92%, 42% 50%, 0 8%);clip-path:polygon(8% 0, 50% 42%, 92% 0, 100% 8%, 58% 50%, 100% 92%, 92% 100%, 50% 58%, 8% 100%, 0 92%, 42% 50%, 0 8%);background-color:#000;-webkit-transition:all .3s ease;transition:all .3s ease;}#section-9b183d11-3724-4733-99a4-435e7538fc4c.modal.is-background-color-light>button.close:hover:before{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}#section-9b183d11-3724-4733-99a4-435e7538fc4c.modal.is-background-color-light>button.close>img,#section-9b183d11-3724-4733-99a4-435e7538fc4c.modal.is-background-color-light>button.close .lp-close-icon{display:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .elem-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-16px;margin-right:-16px;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}@media (max-width: 767px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .elem-row{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}
34#section-9b183d11-3724-4733-99a4-435e7538fc4c .elem-col{min-height:1px;padding-left:16px;padding-right:16px;}@media (max-width: 767px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .elem-col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:unset;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .form-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-left:-16px;margin-right:-16px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .form-col{padding-left:16px;padding-right:16px;-webkit-flex:1 1 400px;-ms-flex:1 1 400px;flex:1 1 400px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .form-col:last-child .custom-form__group{margin-bottom:20px;}@media (min-width: 768px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .form-col:last-child .custom-form__group{margin-bottom:30px;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-label{text-transform:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-label.field-required:after{content:' *';}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form{padding-top:80px;padding-bottom:80px;}@media (max-width: 767px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form{padding-top:50px;padding-bottom:50px;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__img-col{margin-bottom:30px;}@media (min-width: 768px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__img-col{margin-bottom:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;}}@media (min-width: 768px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__form-col{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;}}@media (min-width: 992px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__form-col{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__header{max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:50px;text-align:center;}@media (max-width: 767px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__header{margin-bottom:30px;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__heading{margin-bottom:24px;}@media (max-width: 767px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__heading{margin-bottom:13px;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__description{margin-bottom:0;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__img-block{width:100%;height:430px;background:currentColor center/cover no-repeat;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__img-block img{height:100%;width:100%;object-fit:cover;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__download-form{width:100%;margin-bottom:0;}@media (min-width: 992px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__download-form{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (min-width: 768px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__container{max-width:1160px;margin-left:auto;margin-right:auto;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .form-field-descr{opacity:0.5;margin-top:8px;font-size:82%;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-btn-icons{width:0;-webkit-transition:width .3s ease;transition:width .3s ease;display:inline-block;float:left;line-height:inherit;overflow:visible;position:relative;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-btn-icons:before{content:'';display:inline-block;width:0px;height:1em;vertical-align:middle;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-btn-icons .lp-btn-icon-loading{position:absolute;display:block;width:0;height:17px;opacity:0;top:50%;left:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:width .3s ease,opacity .3s ease;transition:width .3s ease,opacity .3s ease;overflow:hidden;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-btn-icons .lp-btn-icon-loading:before{content:none;display:block;background-color:currentColor;width:17px;height:17px;-webkit-clip-path:path('M8.5 0A 8.5 8.5 0 1 1 1.89 3.15L 4.23 5.04A 5.5 5.5 0 1 0 8.5 3Z');clip-path:path('M8.5 0A 8.5 8.5 0 1 1 1.89 3.15L 4.23 5.04A 5.5 5.5 0 1 0 8.5 3Z');-webkit-animation:i-spin 2s linear infinite;animation:i-spin 2s linear infinite;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-btn-icons .lp-btn-icon-success{position:absolute;display:block;width:0;height:17px;opacity:0;top:50%;left:0;-webkit-transform:translateY(-50%) scale(1.02);-moz-transform:translateY(-50%) scale(1.02);-ms-transform:translateY(-50%) scale(1.02);transform:translateY(-50%) scale(1.02);-webkit-transition:width .3s ease,opacity .3s ease;transition:width .3s ease,opacity .3s ease;background-color:currentColor;-webkit-clip-path:path('M0 8.5 A 8.5 8.5 0 0 1 17 8.5 A 8.5 8.5 0 0 1 0 8.5 H 1.2 A 7.3 7.3 0 1 0 15.8 8.5 A 7.3 7.3 0 1 0 1.2 8.5 H0 m5.201-.344L7.4 10.35l4.436-4.45c.311-.202.58-.191.807.033.227.225.25.488.072.788L7.85 11.59c-.14.141-.291.212-.451.212-.16 0-.31-.061-.45-.183L4.338 8.99c-.192-.311-.172-.58.06-.806.231-.226.5-.235.803-.027');clip-path:path('M0 8.5 A 8.5 8.5 0 0 1 17 8.5 A 8.5 8.5 0 0 1 0 8.5 H 1.2 A 7.3 7.3 0 1 0 15.8 8.5 A 7.3 7.3 0 1 0 1.2 8.5 H0 m5.201-.344L7.4 10.35l4.436-4.45c.311-.202.58-.191.807.033.227.225.25.488.072.788L7.85 11.59c-.14.141-.291.212-.451.212-.16 0-.31-.061-.45-.183L4.338 8.99c-.192-.311-.172-.58.06-.806.231-.226.5-.235.803-.027');}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading input,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success input,#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading select,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success select,#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading button,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success button{pointer-events:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading .lp-btn-icons,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success .lp-btn-icons{width:27px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading .lp-btn-icons .lp-btn-icon-loading,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success .lp-btn-icons .lp-btn-icon-loading{width:17px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading .lp-btn-icons .lp-btn-icon-success,#section-9b183d11-3724-4733-99a4-435e7538fc4c .success .lp-btn-icons .lp-btn-icon-success{width:17px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading .lp-btn-icons .lp-btn-icon-loading{opacity:1;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .loading .lp-btn-icons .lp-btn-icon-loading:before{content:'';}#section-9b183d11-3724-4733-99a4-435e7538fc4c .success .lp-btn-icons .lp-btn-icon-success{opacity:1;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .js-backup-email{display:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-h-pot{height:0;overflow:hidden;visibility:hidden;position:absolute;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-content{max-height:210px;overflow-y:auto;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-input-group .uf-cus-sel-toggle{width:100%;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel{position:relative;width:100%;--optionHoverColor:hsl(var(--bgColor_H), calc(var(--bgColor_S) + 6% * var(--bgColor_darkenDir)), calc(var(--bgColor_L) + 14% * var(--bgColor_darkenDir)));}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-toggle{position:relative;display:block;width:100%;font-family:inherit;text-align:left;text-transform:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:all .25s;transition:all .25s;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-toggle.is-placeholder{color:#999;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-toggle:after{box-sizing:border-box;content:"";position:absolute;right:20px;top:50%;margin-top:0;height:10px;width:10px;border-top:2px solid currentColor;border-left:2px solid currentColor;-webkit-transform:rotateZ(-135deg) translateY(10px);-moz-transform:rotateZ(-135deg) translateY(10px);-ms-transform:rotateZ(-135deg) translateY(10px);transform:rotateZ(-135deg) translateY(10px);-webkit-transition:all .2s;transition:all .2s;}@media (min-width: 992px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-toggle:after{right:25px;}}.uf-cus-sel.open #section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-toggle:after{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-menu{display:none;position:absolute;width:calc(100% + var(--uf-border-left, 0px) + var(--uf-border-right, 0px));top:100%;left:calc(0px - var(--uf-border-left, 0px));z-index:1;}@media (max-width: 768px){#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-menu{position:relative;top:auto;}}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-content{width:100%;background-color:var(--bgColor, #000);border:1px solid #979797;border-top:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item{display:block;width:100%;padding:11px 24px;border:solid 1px transparent;background:transparent;border-radius:0;color:inherit;font-family:inherit;font-size:inherit;line-height:24px;text-align:left;text-transform:none;-webkit-transition:all .25s;transition:all .25s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item:focus,#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item:hover{background-color:var(--optionHoverColor, #262222);}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item.is-selected{font-weight:700;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item.is-disabled,#section-9b183d11-3724-4733-99a4-435e7538fc4c .uf-cus-sel-item:disabled{display:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkbox-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;gap:8px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkbox-container .lp-label{opacity:1;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkboxes-label{font-size:14px;line-height:1.43;font-weight:600;margin-bottom:0;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkboxes-description{font-size:14px;line-height:1.43;font-weight:400;margin-bottom:0;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkbox-item{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;gap:10px;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .custom-form__checkbox-label{cursor:pointer;font-size:inherit;line-height:1.4;margin:0;}#section-9b183d11-3724-4733-99a4-435e7538fc4c h2{color:#7A1426;}#section-9b183d11-3724-4733-99a4-435e7538fc4c h3{color:#7A1426;}#section-9b183d11-3724-4733-99a4-435e7538fc4c h4{color:#7A1426;}#section-9b183d11-3724-4733-99a4-435e7538fc4c>div:last-child{padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-input::-webkit-input-placeholder{text-transform:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-input::-moz-placeholder{text-transform:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-input:-ms-input-placeholder{text-transform:none;}#section-9b183d11-3724-4733-99a4-435e7538fc4c .lp-input::placeholder{text-transform:none;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f{color:#3D4040;--fontColor:#3D4040;--fontColor_H:180;--fontColor_S:2%;--fontColor_L:25%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F2EDE7;--bgColor_H:33;--bgColor_S:30%;--bgColor_L:93%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#F2EDE7;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component.redesign .lp-container.gallery-component__container .gallery-component__col{position:relative;z-index:2;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component.redesign .lp-container.gallery-component__container .gallery-component__col .gallery-card h3{text-align:center;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component.redesign .lp-container.gallery-component__container .gallery-component__col .gallery-card h3:after{display:none;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component.redesign .lp-container.gallery-component__container .gallery-component__col .gallery-card:hover:before{background-color:var(--accent)!important;background:unset;opacity:.75;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component.redesign .lp-container.gallery-component__container .gallery-component__col .gallery-card:hover h3{color:#fff;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card .gallery-card__preview:after{content:"";width:100%;height:100%;position:absolute;top:0%;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);background-image:url('https://media-production.lp-cdn.com/media/75227e6d-06c9-4677-a9b2-e65c10135c9c');-webkit-background-size:80%;background-size:80%;-webkit-background-position:center;background-position:center;background-repeat:no-repeat;touch-action:none;pointer-events:none;z-index:3;
34opacity:0;-webkit-transition:0.3s opacity,0.4s top;transition:0.3s opacity,0.4s top;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover .gallery-card__preview:after{opacity:0.75;top:-10%;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover .gallery-card__title{color:var(--black)!important;}@media(min-width: 769px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col{margin-bottom:0px!important;}}@media(max-width: 768px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card__title{font-size:28px!important;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component{padding:80px 0 60px;}}@media (min-width: 1200px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header{margin-bottom:70px;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header img{max-width:260px;height:auto;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__heading{margin-bottom:20px;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__row{margin-left:-7px;margin-right:-7px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 1200px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col:first-child{margin-left:auto;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component .cols-2 .gallery-component__col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 1200px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component .cols-3 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 992px){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card{position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:20px 15px;-webkit-text-decoration:none;text-decoration:none;overflow:hidden;cursor:pointer;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:before{content:"";position:absolute;
34left:0;bottom:0;width:100%;height:100%;background-color:transparent;background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, #000000);opacity:0.6;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover:before{background-color:#000;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover .gallery-card__title:after{opacity:.3;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card:hover .gallery-card__preview img{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card__title{position:relative;width:100%;margin-bottom:0;color:#fff;letter-spacing:0;text-shadow:none;z-index:1;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all .3s;transition:all .3s;text-transform:none;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card__title:after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid currentColor;opacity:0;-webkit-transition:all .3s;transition:all .3s;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f .gallery-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:-webkit-transform .75s ease-out;transition:transform .75s ease-out;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f h2{color:#7A1426;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f h3{color:#7A1426;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f h4{color:#7A1426;}#section-2d470acb-c868-43f0-8382-0aac73cb8b3f>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de{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:#f2ede7;--bgColor_H:33;--bgColor_S:30%;--bgColor_L:93%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#f2ede7;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed{padding:80px 0;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .title{margin:0 20px 0 0;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .instagram-link .instagram-name{display:inline;margin:0;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .title+.instagram-link{margin-top:5px;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-wrapper{margin-bottom:20px;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-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-right{margin-left:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .follow-button{margin:20px 0 0 0;display:block;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .nav-button{margin-top:20px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;width:42px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;transition-property:color,background-color,border-color;transition-duration:.3s;transition-timing-function:ease;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-nav-prev{margin-left:30px;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-nav-next{margin-left:10px;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .hidden-control{display:none;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi{position:relative;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3);padding:10px;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single:first-child,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi:first-child{margin-left:auto;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single:last-child,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi:last-child{margin-right:auto;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single.type2,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi.type2{width:calc(100% / 5 * 2);}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single.type3,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi.type3{width:calc(100% / 2);}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single.type4,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi.type4{width:calc(100% / 2);}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single.type5,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-container{padding:0;width:100%;}}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item__info{position:absolute;top:0;left:0;bottom:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:10%;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0, 0, 0, 0.8);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:1;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .video-icon::before{content:'';display:block;width:0px;height:0px;border-style:solid;position:relative;left:1px;border-width:7.5px 0px 7.5px 11px;border-color:transparent transparent transparent #292826;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item:hover .video-icon{opacity:0;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single .ig-feed-item__info{padding:15%;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi-content{padding:10px;position:absolute;width:100%;height:100%;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;
34-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;overflow:hidden;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .slide-multi-content .ig-feed-item:nth-child(n + 3){-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .bottom-nav-button{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:20px 10px 0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:48px;height:48px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-right,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .title,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .instagram-link{margin-right:0;text-align:center;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-nav-prev,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .top-nav-next{display:none;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .ig-feed{display:none;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de .has-data .ig-feed{display:block;}#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de.has-data .ig-feed,#section-478ee3db-6cff-4cb3-a1f0-1850c758d2de#section-temp .ig-feed{display:block;}#modal-global-contact-us .close{z-index:11;}#modal-global-contact-us .description{margin-bottom:15px;}#modal-global-contact-us .close:focus{outline:0;}#modal-global-contact-us .contact-form{padding:70px 0;width:100%;min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;color:var(--colorTxt, #ffffff);-webkit-background-size:cover;background-size:cover;}#modal-global-contact-us .contact-form:after{content:'';position:absolute;display:block;background-color:rgba(2, 5, 7, 0.85);height:100%;width:100%;z-index:0;}#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}
34@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;
34left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}
34nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;
34-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}body>div.sidemenu{background-color:rgba(61, 64, 64, 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(61, 64, 64, 1);--bgColor_H:180;--bgColor_S:2%;--bgColor_L:25%;--bgColor_A:1;--bgColor_darkenDir:1;}body>div.sidemenu{width:auto!important;left:auto!important;right:-100%;top:0;background-color:transparent;-webkit-transition:right .3s;transition:right .3s;display:block;}body>div.sidemenu:not(.visible){pointer-events:none;visibility:hidden;}body>div.sidemenu.visible{right:0;}body>div.sidemenu .sidebar{position:relative;width:400px;height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:40px;padding-bottom:100px;background-color:var(--bgColor, #fff);color:var(--fontColor, #000);font-family:var(--global-primary-font-family);font-size:21px;line-height:1.333333;letter-spacing:.5px;-webkit-transition:all .3s ease-in;transition:all .3s ease-in;}@media (max-width: 767px){body>div.sidemenu .sidebar{width:270px;font-size:18px;}}body>div.sidemenu .sidebar__content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%;padding-left:40px;padding-right:40px;text-align:center;overflow-y:auto;}@media (max-width: 767px){body>div.sidemenu .sidebar__content{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding-left:20px;padding-right:20px;}}body>div.sidemenu .sidebar__close{position:absolute;right:30px;top:30px;display:inline-block;width:38px;height:38px;padding:10px;border:none;border-radius:0;background:transparent;color:inherit;z-index:1;cursor:pointer;}body>div.sidemenu .sidebar__close:before,body>div.sidemenu .sidebar__close:after{content:'';display:block;width:22px;height:2px;background-color:currentColor;position:absolute;left:50%;top:50%;}body>div.sidemenu .sidebar__close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidebar__close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}@media (max-width: 767px){body>div.sidemenu .sidebar__close{right:10px;top:10px;}}body>div.sidemenu .sidebar__close:focus{outline:none;}body>div.sidemenu .sidebar__nav{list-style:none;padding:0;margin:auto 0;}body>div.sidemenu .sidebar__nav-item{margin:0;padding-top:4px;padding-bottom:4px;border-bottom:1px solid hsla( 35 var(--bgColor_H, 0), 36 var(--bgColor_S, 0%), 37 calc(50% + (var(--bgColor_L, 100%) - 50%) * 0.9), 38 var(--bgColor_A, 1) 39 );}body>div.sidemenu .sidebar__nav-link{display:inline-block;padding:10px;border:none;border-radius:0;background:transparent;text-transform:none;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__nav-link:focus{outline:none;}body>div.sidemenu .sidebar__subnav{list-style:none;padding:4px 0 10px;margin:0;font-size:17px;}@media (max-width: 767px){body>div.sidemenu .sidebar__subnav{font-size:14px;letter-spacing:.3px;}}body>div.sidemenu .sidebar__subnav-item{margin-bottom:10px;}body>div.sidemenu .sidebar__subnav-item:last-child{margin-bottom:0;}body>div.sidemenu .sidebar__subnav-link{display:inline-block;padding:0;border:none;border-radius:0;background:transparent;text-transform:none;opacity:.7;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__subnav-link:focus{outline:none;}body>div.sidemenu .sub-nav{visibility:hidden;opacity:0;max-height:0;-webkit-transition:all .3s;transition:all .3s;}body>div.sidemenu .sub-nav.visible{display:block;visibility:visible;opacity:1;max-height:100vh;}body>div.sidemenu .sub-nav.visible+.main-nav{color:#7a7a7a;}body>div.sidemenu .sub-nav.visible+.main-nav:after{margin-left:40px;border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}body>div.sidemenu .sub-nav-container:hover .main-nav:after{border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container .main-nav{position:relative;display:inline-block;}body>div.sidemenu .sub-nav-container .main-nav:after{content:'';display:inline-block;position:relative;width:8px;height:8px;margin-left:25px;-webkit-transform:rotate(45deg) translateX(-100%);-moz-transform:rotate(45deg) translateX(-100%);-ms-transform:rotate(45deg) translateX(-100%);transform:rotate(45deg) translateX(-100%);border-bottom:2px solid var(--fontColor, #000000);border-right:2px solid var(--fontColor, #000000);top:0;bottom:auto;left:auto;-webkit-transition:0.5s all ease;transition:0.5s all ease;background-color:transparent;}body>div.sidemenu #main-section .sidebar{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}footer{background-color:rgba(61, 64, 64, 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(61, 64, 64, 1);--bgColor_H:180;--bgColor_S:2%;--bgColor_L:25%;--bgColor_A:1;--bgColor_darkenDir:1;--greyColor:hsla( 40var(--fontColor_H), 41var(--fontColor_S), 42calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 43var(--fontColor_A));}footer .redesign .inp--dark-bg input{color:var(--fontColor);border-color:hsla( 44 var(--fontColor_H), 45 var(--fontColor_S), 46 calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 47 var(--fontColor_A));}footer .redesign .inp--dark-bg input:hover{border-color:var(--fontColor);}footer .redesign .inp+.inp{margin-top:24px;}footer .redesign .btn--primary-light{border-color:var(--fontColor);color:var(--fontColor);}footer .redesign .btn--primary-light:hover{background-color:var(--fontColor);color:var(--bgColor);}footer.is-background-color-light .redesign .btn--primary-light{border-width:1px;}footer .redesign .socials--grey{-webkit-box-pack:end;-ms-flex-pack:end;
47-webkit-justify-content:flex-end;justify-content:flex-end;}footer .redesign .socials--grey .socials__link{background-color:hsla( 48 var(--bgColor_H), 49 var(--bgColor_S), 50 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.15), 51 var(--bgColor_A));color:var(--greyColor);}footer .redesign .socials--grey .socials__link svg{fill:var(--greyColor);}footer .redesign .socials--grey .socials__link:hover{background-color:hsla( 52 var(--bgColor_H), 53 var(--bgColor_S), 54 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.4), 55 var(--bgColor_A));color:var(--fontColor);}footer .redesign .socials--grey .socials__link:hover svg{fill:var(--fontColor);}footer .redesign.footer .grey-text{color:var(--fontColor);}footer .footer{position:relative;padding-top:60px;padding-bottom:30px;}@media (max-width: 560px){footer .footer{padding-top:10px;}}@media (max-width: 500px){footer .footer{padding-bottom:70px;}}footer .footer .text_content_wrap p{margin-bottom:15px;}footer .footer .text_content_wrap p:last-of-type{margin-bottom:0;}footer .footer .container{max-width:1440px;}@media (max-width: 768px){footer .footer .container{padding-left:25px;padding-right:25px;}}@media (max-width: 560px){footer .footer .container{padding-left:20px;padding-right:20px;}}footer .footer h3{margin:0 0 15px 0;}footer .footer h5{text-transform:capitalize;}footer .footer .info-wrap{margin-bottom:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-wrap .agent_box{width:70%;}@media (max-width: 1280px){footer .footer .info-wrap .agent_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .agent_box{width:100%;}}footer .footer .info-wrap .newsletter_box{width:30%;}@media (max-width: 1280px){footer .footer .info-wrap .newsletter_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box{width:100%;}}footer .footer .info-wrap .newsletter_box--padding{padding-top:44px;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box--padding{padding-top:0;}}footer .footer .info-wrap .newsletter_box .contact_title{margin-bottom:13px;line-height:1.6;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_cell{margin-bottom:0;padding-left:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .icon_text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:22px;position:relative;}footer .footer .info-wrap .newsletter_box .icon_text i{position:relative;width:30px;margin-right:20px;}footer .footer .info-wrap .newsletter_box .icon_text .contact_title{margin-bottom:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_zone{margin-bottom:0;}}footer .footer .info-wrap-contact{position:relative;}footer .footer .info-wrap-contact_zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:39px;}@media (max-width: 768px){footer .footer .info-wrap-contact_zone{margin-bottom:21px;}footer .footer .info-wrap-contact_zone:last-child{margin-bottom:51px;}}footer .footer .info-wrap-contact_zone i{position:absolute;left:0;display:block;}footer .footer .info-wrap-contact_zone i svg path{fill:currentColor;}footer .footer .info-wrap-contact_zone h4{margin:0 0 13px 0;width:100%;}footer .footer .info-wrap-contact_cell{position:relative;padding-left:50px;width:400px;font-size:14px;text-transform:uppercase;font-weight:bold;letter-spacing:1.5px;}@media (max-width: 1280px){footer .footer .info-wrap-contact_cell:first-of-type{margin-bottom:21px;}}footer .footer .info-wrap-contact_cell .contact_title{line-height:1;margin-bottom:5px;}footer .footer .info-wrap-contact_link{color:var(--greyColor);position:relative;}@media (max-width: 560px){footer .footer .info-wrap-contact_link{letter-spacing:0;}}footer .footer .hvr_animation{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;}footer .footer .hvr_animation:after{content:'';position:absolute;
55left:0;bottom:0;width:0%;height:1px;background:var(--greyColor);-webkit-transition:.3s linear;transition:.3s linear;}footer .footer .hvr_animation:hover:after{width:100%;}footer .footer .hvr_animation.underlined:after{width:100%;}footer .footer .hvr_animation.underlined:hover:after{width:0%;}footer .footer .form-content{padding:0!important;}footer .footer .form-content label{color:var(--fontColor);text-transform:none;letter-spacing:1;}footer .footer .form-content input{padding:2px 24px 2px 0;}footer .footer .form-content .subscribe_btn{margin-top:20px;position:relative;}footer .footer .form-content .subscribe_btn i{font-size:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0;}footer .footer .form-content.success i{opacity:1;}footer .footer .form-content.success .subscribe_btn span{opacity:0;}footer .footer .form-content.success .hide{opacity:0;}footer .footer .form-content.success .hide +span{opacity:1;}footer .footer .text_footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:39px;}@media (max-width: 1280px){footer .footer .text_footer{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){footer .footer .text_footer{text-align:center;}}footer .footer .text_footer p{white-space:normal;}footer .footer .text_footer .images_box{max-width:186px;width:100%;margin-right:43px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 560px){footer .footer .text_footer .images_box{margin:0 auto 20px auto;}}@media (max-width: 1280px){footer .footer .text_footer .img_size{margin-bottom:20px;}}@media (max-width: 560px){footer .footer .text_footer .img_size{margin-bottom:0;}}footer .footer .text_footer .img_size img{width:100%;height:100%;object-fit:contain;}footer .footer .first_text_footer .img_size{width:100%;height:63px;}footer .footer .first_text_footer .img_size img{width:100%;height:100%;object-fit:contain;}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:51px;}}footer .footer .second_text_footer .first_img_size{width:45px;height:45px;margin-right:15px;}footer .footer .second_text_footer .second_img_size{width:100px;height:45px;}@media (max-width: 560px){footer .footer .second_text_footer{margin-bottom:21px;}}footer .footer .info-privacy{padding-top:45px;padding-bottom:30px;border-top:1px solid hsla( 56 var(--bgColor_H), 57 var(--bgColor_S), 58 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 59 var(--bgColor_A));}@media (max-width: 768px){footer .footer .info-privacy{padding-top:0;border-top:none;}}footer .footer .info-privacy__row{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-privacy .copy_zone{font-size:18px;}@media (min-width: 1350px){footer .footer .info-privacy .copy_zone{text-align:center;}}@media (min-width: 1281px){footer .footer .info-privacy .copy_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 768px){footer .footer .info-privacy .copy_zone{text-align:center;margin-bottom:10px;padding-top:45px;border-top:1px solid hsla( 60 var(--bgColor_H), 61 var(--bgColor_S), 62 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 63 var(--bgColor_A));}}footer .footer .info-privacy .copy_zone a{color:var(--greyColor);}footer .footer .info-privacy .powered_zone{font-size:18px;}@media (min-width: 1281px){footer .footer .info-privacy .powered_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 1280px){footer .footer .info-privacy .powered_zone{text-align:center;}}@media (max-width: 768px){footer .footer .info-privacy .powered_zone{text-align:center;margin-bottom:24px;}}footer .footer .info-privacy .powered_zone a{color:var(--greyColor);}@media (min-width: 1281px){footer .footer .info-privacy .socials_zone{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 1280px){footer .footer .info-privacy .socials_zone{width:100%;margin-top:20px;-webkit-box-pack:start;-ms-flex-pack:start;
63-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (max-width: 768px){footer .footer .info-privacy .socials_zone{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:0;margin-bottom:20px;}footer .footer .info-privacy .socials_zone li{padding:0 7px 10px 7px;}}footer .footer.one_contact .type_user{margin-bottom:73px;}@media (max-width: 768px){footer .footer.one_contact .type_user{margin-bottom:51px;}}footer .footer.no_newsletter h3{margin-bottom:46px;}footer .footer.no_newsletter .newsletter_box{display:none;}footer .footer.no_newsletter .info-wrap-contact{width:calc(70% + 230px);width:100%;padding-left:230px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact{padding-left:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact{width:100%;}}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_cell{width:50%;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_cell{width:100%;}}footer .footer.no_newsletter .info-wrap-contact h4{position:absolute;margin-top:-8px;left:0;max-width:200px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;width:100%;margin-bottom:20px;margin-top:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;}}footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:71px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:39px;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:51px;}}footer .footer.no_newsletter .info-wrap-contact_zone:last-child{margin-bottom:0;}footer .footer.no_icon .info-wrap-contact_cell{padding-left:0;}footer .footer.no_icon .info-wrap-contact_cell i{display:none;}footer .footer.no-names .info-wrap-contact{padding-left:0;}footer .form-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-left:-15px;margin-right:-15px;}@media (min-width: 1281px){footer .form-row{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 900px){footer .form-row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:15px;padding-right:15px;}@media (min-width: 768px){footer .form-col{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;}}@media (min-width: 768px){footer .form-col--socials{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}@media (min-width: 1281px){footer .form-col--socials{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;}}@media (max-width: 768px){footer .form-col--socials{-webkit-order:-1;-ms-flex-order:-1;order:-1;}}@media (min-width: 1281px){footer .form-col--xl-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}}footer .additional-links-separator{display:block;width:100%;height:0;overflow:hidden;}@media (min-width: 768px){footer .additional-links-separator{display:inline;width:auto;height:auto;}footer .additional-links-separator:before{content:"|";}}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .img-wrap{max-width:100px;width:100%;display:block;margin-right:20px;}@media (max-width: 900px){footer .img-wrap{margin-right:0;margin-bottom:10px;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .powered-box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}@media (max-width: 900px){footer .powered-box{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col--copyright{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:10px 0;}footer .luxury-link{white-space:nowrap;}footer .footer__disclaimers{padding-top:24px;padding-bottom:24px;}@media (max-width: 900px){footer .footer__disclaimers{text-align:center;}}body>div.mobile-contact-wrapper{z-index:200;position:relative;}body>div.mobile-contact-wrapper .lp-ico:before{content:'';width:1em;height:1em;background-color:currentColor;-webkit-background-size:cover;background-size:cover;display:block;-webkit-mask-position:center;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-transition:all .3s;transition:all .3s;}body>div.mobile-contact-wrapper .lp-ico-search:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewB
63ox='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
63699 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
6371 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;
63-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;
63height: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);}} 64 </style> 65 <style id="custom-style-css">.pagination-style-1 li a{color:#7A1426!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-1 li a:hover{color:#F2EDE7!important;background-color:#7A1426!important;border-color:#7A1426!important;}.pagination-style-1 li.active a{color:#F2EDE7!important;background-color:#7A1426!important;border-color:#7A1426!important;}.hyperlink-style-1{color:#3D4040!important;}.hyperlink-style-1:hover{color:#C5A467!important;}.social_icons-style-1 a{border-color:#C5A467!important;background-color:#C5A467!important;color:#FFFFFF!important;}.social_icons-style-1 a:hover{border-color:#F2EDE7!important;background-color:#F2EDE7!important;color:#3D4040!important;}.social_icons-style-1 a i{color:inherit!important;}
65.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.button-style-1{color:#F2EDE7!important;background-color:#7A1426!important;border-color:#7A1426!important;}.button-style-1:hover{color:#F2EDE7!important;background-color:#3D4040!important;border-color:#3D4040!important;}.button-style-2{color:#7A1426!important;background-color:#F2EDE7!important;border-color:#F2EDE7!important;}.button-style-2:hover{color:#F2EDE7!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#F2EDE7!important;}.hyperlink-style-2{color:#FFFFFF!important;}.hyperlink-style-2:hover{color:#FFFFFF!important;}.button-style-3{color:rgba(94, 94, 94, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(94, 94, 94, 1)!important;}.button-style-3:hover{color:rgba(255,255,255,1)!important;background-color:rgba(94, 94, 94, 1)!important;border-color:rgba(94, 94, 94, 1)!important;}.button-style-4{color:rgba(192, 192, 192, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(192, 192, 192, 1)!important;}.button-style-4:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(192, 192, 192, 1)!important;border-color:rgba(192, 192, 192, 1)!important;}</style> 66 <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode 67 defaults, and dynamically loads the locale + main (and banner if needed). --> 68
68<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="5c728087-4d53-4510-858f-5adde31cf971"></script>
68 69 70 71
71<script> 72 (function utmParse() { 73 const url = new URL(window.location.href); 74 if (url.search) { 75 const utm = url.search.split(/\?|&/g).reduce((acc, current) => { 76 const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g); 77 if (matched) { 78 acc[matched[0]] = current.replace(`${matched[0]}=`, ''); 79 } 80 return acc; 81 }, {}); 82 if (Object.keys(utm).length) { 83 window.localStorage.setItem('utm_vars', JSON.stringify(utm)); 84 } else { 85 // Remove old utm vars 86 window.localStorage.removeItem('utm_vars'); 87 } 88 } 89 // Set referrer in local storage 90 // This is meant to be stored once to avoid self-referrals and to have the first referrer only. 91 if (!window.localStorage.getItem('referrer')) { 92 // Capture the Referrer URL 93 const referrer = document.referrer; 94 if (referrer) { 95 // Only store the referrer if it comes from outside the current domain (to avoid self-referrals) 96 const currentDomain = window.location.hostname; 97 const referrerDomain = new URL(referrer).hostname; 98 99 if (referrerDomain !== currentDomain) { 100 // Store it in localStorage 101 localStorage.setItem('referrer', referrer); 102 } 103 } 104 } 105 })(); 106 </script>
106 107
107<script> 108// Run this only if we're on /home-valuation 109if (window.location.pathname === "/home-valuation") { 110 // Wait until the DOM is fully loaded 111 document.addEventListener("DOMContentLoaded", function () { 112 // Select the span inside the modal 113 const messageSpan = document.querySelector("#modal-home-valuation-plunk span.lp-tcr-message"); 114 115 if (messageSpan) { 116 messageSpan.textContent = "The estimated property value provided by this tool is for informational purposes only and is based on publicly available data and automated algorithms. Actual property values may vary significantly based on a variety of factors not considered in this estimate, including property condition, upgrades, and local market trends. For a more accurate and personalized home valuation, please contact one of our real estate agents."; 117 } else { 118 console.warn("lp-tcr-message span not found inside #modal-home-valuation-plunk"); 119 } 120 }); 121} 122</script>
122 123 124<meta name="google-site-verification" content="etJURo5tSaHnFbUeoMan94lzVL_0apqLYDqlXq9sB7Y" /> 125 <!-- GOOGLE TRANSLATE STYLES are moved to external CSS --> 126</head> 127<body> 128 <div id="google_translate_element" style="display: none"></div> 129 130 <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b"> 131 <div class="redesign"> 132 <div class="content-container header"> 133 <div class="container header__container"> 134 <div class="navbar"> 135 <div class="logo"> 136 <a href="/" class="logo__link"> 137 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/76bf022d-0d29-4253-9fd4-2ede67580a08" 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/76bf022d-0d29-4253-9fd4-2ede67580a08 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/76bf022d-0d29-4253-9fd4-2ede67580a08 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/76bf022d-0d29-4253-9fd4-2ede67580a08 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/76bf022d-0d29-4253-9fd4-2ede67580a08 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/76bf022d-0d29-4253-9fd4-2ede67580a08 2000w" class="logo__img light" alt=""> 138 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/75227e6d-06c9-4677-a9b2-e65c10135c9c" 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/75227e6d-06c9-4677-a9b2-e65c10135c9c 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/75227e6d-06c9-4677-a9b2-e65c10135c9c 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/75227e6d-06c9-4677-a9b2-e65c10135c9c 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/75227e6d-06c9-4677-a9b2-e65c10135c9c 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/75227e6d-06c9-4677-a9b2-e65c10135c9c 2000w" class="logo__img dark" alt=""> 139 </a> 140 </div> 141 <div class="navigation"> 142 <ul> 143 <li class="navigation__item sub-nav-container"> 144 <a href="#" class="navigation__link wow fadeInUp">Properties</a> 145 <div class="sub-nav"> 146 <ul> 147 <li class="sub-nav__item"><a href="/properties/sale" class="nav-link sub-nav__link feature"><span>Featured Properties</span></a></li> 148 <li class="sub-nav__item"><a href="/properties/sold" class="nav-link sub-nav__link feature"><span>Sold Properties</span></a></li> 149 </ul> 150 </div> 151 </li> 152 <li class="navigation__item sub-nav-container"> 153 <a href="#" class="navigation__link wow fadeInUp">Meet Our Team</a> 154 <div class="sub-nav"> 155 <ul> 156 <li class="sub-nav__item"><a href="/our-agents" class="nav-link sub-nav__link feature"><span>Our Agents</span></a></li> 157 <li class="sub-nav__item"><a href="/Our-Staff" class="nav-link sub-nav__link feature"><span>Our Staff</span></a></li> 158 <li class="sub-nav__item"><a href="/where-we-work" class="nav-link sub-nav__link feature"><span>Where We Work</span></a></li> 159 </ul> 160 </div> 161 </li> 162 <li class="navigation__item"> 163 <a href="/join-us" class="navigation__link wow fadeInUp" data-wow-delay="2.2"><span>Become an Agent</span></a> 164 </li> 165 <li class="navigation__item"> 166 <a href="/home-search/listings" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Home Search</span></a> 167 </li> 168 <li class="navigation__item"> 169 <a href="/home-valuation" class="navigation__link wow fadeInUp" data-wow-delay="2.4"><span>Home Valuation</span></a> 170 </li> 171 <li class="navigation__item"> 172 <a data-type="CONTACT_US" class="navigation__link wow fadeInUp"><span>Contact Us</span></a> 173 </li> 174 </ul> 175 </div> 176 <div class="buttons-wrapper"> 177 <button type="button" class="hamburger-component hamburger">
178 <span class="hamburger__bars"></span> 179 </button> 180 </div> 181 </div> 182 </div> 183 </div> 184</div> 185 186 </nav> 187 <div id="global-sidemenu" class="sidemenu" data-el-id="11fa925d-d2dd-4213-a0fa-d46f769e2c18"> 188 <div class="sidebar"> 189 190 <button class="toggle sidebar__close close"></button> 191 <div class="sidebar__content"> 192 193 <ul class="sidebar__nav"> 194 <li class="sidebar__nav-item"> 195 <a href="/" class="sidebar__nav-link">Home</a> 196 </li> 197 <li class="sidebar__nav-item"> 198 <a href="/about" class="sidebar__nav-link">About Us</a> 199 </li> 200 <li class="sidebar__nav-item sub-nav-container"> 201 <div class="sub-nav"> 202 <ul class="sidebar__subnav"> 203 <li class="sidebar__subnav-item"><a href="/our-agents" class="sidebar__subnav-link">Our Agents</a></li> 204 <li class="sidebar__subnav-item"><a href="/Our-Staff" class="sidebar__subnav-link">Our Staff</a></li> 205 </ul> 206 </div> 207 <a href="#" class="sidebar__nav-link link main-nav">Meet Our Team</a> 208 </li> 209 <li class="sidebar__nav-item"> 210 <a href="/why-paul-wesley " class="sidebar__nav-link">Why Paul Wesley</a> 211 </li> 212 <li class="sidebar__nav-item sub-nav-container"> 213 <div class="sub-nav"> 214 <ul class="sidebar__subnav"> 215 <li class="sidebar__subnav-item"><a href="/properties/sale" class="sidebar__subnav-link">Featured Properties</a></li> 216 <li class="sidebar__subnav-item"><a href="/properties/sold" class="sidebar__subnav-link">Sold Properties</a></li> 217 </ul> 218 </div> 219 <a href="#" class="sidebar__nav-link link main-nav">Properties</a> 220 </li> 221 <li class="sidebar__nav-item"> 222 <a href="/home-search/listings" class="sidebar__nav-link">Home Search</a> 223 </li> 224 <li class="sidebar__nav-item"> 225 <a href="/home-valuation" class="sidebar__nav-link">Home Valuation</a> 226 </li> 227 <li class="sidebar__nav-item"> 228 <a href="/where-we-work" class="sidebar__nav-link">Where We Work</a> 229 </li> 230 <li class="sidebar__nav-item sub-nav-container"> 231 <div class="sub-nav"> 232 <ul class="sidebar__subnav"> 233 <li class="sidebar__subnav-item"><a href="/buyers-guide" class="sidebar__subnav-link">Buyer's Guide</a></li> 234 <li class="sidebar__subnav-item"><a href="/sellers-guide" class="sidebar__subnav-link">Seller's Guide</a></li> 235 <li class="sidebar__subnav-item"><a href="/mortgage-calculator" class="sidebar__subnav-link">Mortgage Calculator</a></li> 236 </ul> 237 </div> 238 <a href="#" class="sidebar__nav-link link main-nav">Resources</a> 239 </li> 240 <li class="sidebar__nav-item"> 241 <a href="/join-us" class="sidebar__nav-link">Become an Agent</a> 242 </li> 243 <li class="sidebar__nav-item"> 244 <a href="/blog" class="sidebar__nav-link">Blog</a> 245 </li> 246 <li class="sidebar__nav-item"> 247 <a href="/contact" class="sidebar__nav-link">Contact Us</a> 248 </li> 249 <li class="sidebar__nav-item"> 250 <a href="/home-search/account" class="sidebar__nav-link">My Search Portal</a> 251 </li> 252 </ul> 253 </div> 254</div> 255 </div> 256 <div id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51"> 257 <div class="btn-holder" 258style=" 259--backgroundColor: rgba(229, 213, 197, 1); 260--textColor: rgba(61, 64, 64, 1); 261--pillTextColor: rgba(255, 255, 255, 1); 262--pillBackgroundColor: rgba(197, 164, 103, 1);"> 263 264 <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Contact Us</button> 265</div> 266 267 268<div class="pop-up" style="--backgroundColor: rgba(229, 213, 197, 1); --textColor: rgba(61, 64, 64, 1);"> 269 <div class="lp-container"> 270 <form data-type="contact-form" class="contact-form"> 271 <div class="contact-form__container"> 272 <h3 class="lp-h3">Leave a Message</h3> 273 274 <div class="contact-form__content"> 275 <div class="contact-form__inputs-container"> 276 <div class="contact-form__item"> 277 <input 278 id="__FullName" 279 type="text" name="name"
280 class="lp-input lp-input--dark" 281 required 282 placeholder="Full Name"> 283 </div> 284 <div class="contact-form__item"> 285 <input 286 id="__Email" 287 type="email" name="email" 288 class="lp-input js-email-input lp-input--dark" 289 required 290 placeholder="Email"> 291 </div> 292 <div class="contact-form__item"> 293 <input 294 class="lp-input lp-input--dark" 295 type="tel" 296 placeholder="Phone" 297 id="__Phone" 298 name="phone" 299 required> 300 </div> 301 302 <div class="contact-form__item input-group-select"> 303 <select name="interest" id="-field-interest" placeholder="Interest" 304 class="lp-input dropdown-select js-select js-form-element lp-input--dark" required> 305 <option value="" disabled selected data-label="Interest">Interested in...</option> 306 <option value="Selling & Buying">Selling & Buying</option> 307 <option value="Selling">Selling</option> 308 <option value="Buying">Buying</option> 309 <option value="Renting">Renting</option> 310 <option value="Other">Other</option> 311 </select> 312 <label for="-field-interest" class="lp-label sr-only">Interest</label> 313 </div> 314 315 <div class="contact-form__item"> 316 <textarea 317 name="message" 318 rows="4" 319 id="__Message" 320 class="lp-input lp-input--dark" 321 placeholder="Message" 322 required></textarea> 323 </div> 324 <div class="lp-disclaimer"> 325 <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label> 326 <label class='lp-tcr-content'> 327 <span class='lp-tcr-checkbox'> 328 <input 329 type='checkbox' 330 id='-termsAccepted' 331 name='termsAccepted' 332 value='I agree to be contacted by Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate via call, email, and text for real estate services.' 333 /></span> 334 <span class='lp-tcr-message'> 335 I agree to be contacted by 336 Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate 337 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 338 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 339 Consent is not a condition of purchase of any goods or services. 340 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 341 </span> 342 </label> 343 344</div> 345 <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit button-style-1 contact-form__item">Submit</button> 346 347 <div class="lp-h-pot"> 348 <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 349 </div> 350 351 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 352 <input type="hidden" name="button_text" value="Contact Us"> 353 </div> 354 </div> 355 </div> 356 357 358 <div class="success-block"> 359 <h3 class="lp-h3 success-message">Thank you for your message. We will be in touch with you shortly.</h3> 360 361 </div> 362 </form> 363 364 <button type="button" class="close-btn lp-ico lp-ico-close"></button> 365 366 367 </div> 368</div> 369 370 371 </div> 372 <section class="image-section is-font-color-light is-background-color-light" id="section-985ac9b9-58ac-4203-8965-d415ae54f872" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb"> 373 <div class="redesign custom-intro"> 374 <div class="container"> 375 <h1 class="custom-intro__title">Contact Us</h1> 376 377 </div> 378</div> 379 380</section> 381<section id="section-9b183d11-3724-4733-99a4-435e7538fc4c" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee03b9c1-ce78-4c15-86a1-10124375dc59"> 382 <div class="custom-form redesign" id="js-contact-form"> 383 <div class="lp-container custom-form__container"> 384 385 <div class="custom-form__header"> 386 <h2 class="lp-h2 custom-form__heading">Submit a Message</h2> 387 <div class="custom-form__lead lp-text--subtitle">Fill out the form below to learn more about buying or selling a house in your area.</div> 388 </div> 389 <div class="elem-row custom-form__row"> 390 <div class="elem-col custom-form__img-col"> 391 <div class="custom-form__img-block"> 392 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3f77fe86-d730-400f-bf3b-d153b23624ed" 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/3f77fe86-d730-400f-bf3b-d153b23624ed 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3f77fe86-d730-400f-bf3b-d153b23624ed 960w" alt="Image Form" sizes="(max-width: 768px) 100vw, 50vw" class="portrait" loading="lazy"> 393 </div> 394 </div> 395 <div class="elem-col custom-form__form-col"> 396 <form class="custom-form__download-form" data-type="contact-form" data-delay="6000"> 397 <div class="form-row custom-form__form-row"> 398 399 <div class="h-pot lp-h-pot"> 400 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-middleName">Middle Name</label> 401 <input id="section-9b183d11-3724-4733-99a4-435e7538fc4c-middleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 402 </div> 403 404 <div class="form-col js-backup-email"> 405 <div class="lp-form-group custom-form__group">
406 <div class="lp-input-group"> 407 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-required-email-field" class="lp-label field-required">Email</label> 408 <input type="email" id="section-9b183d11-3724-4733-99a4-435e7538fc4c-required-email-field" name="email" class="lp-input lp-input--dark js-form-element js-backup-field" placeholder="Email *" required> 409 </div> 410 </div> 411 </div> 412 413 414 <div class="form-col"> 415 <div class="lp-form-group custom-form__group"> 416 <div class="lp-input-group"> 417 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-0" class="lp-label field-required">Full Name</label> 418 <input type="text" id="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-0" name="name" class="lp-input lp-input--dark js-form-element" placeholder="Full Name *" required> 419 </div> 420 </div> 421 </div> 422 <div class="form-col"> 423 <div class="lp-form-group custom-form__group"> 424 <div class="lp-input-group"> 425 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-1" class="lp-label">Phone</label> 426 <input type="tel" id="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-1" name="phone" class="lp-input lp-input--dark js-form-element" placeholder="Phone"> 427 </div> 428 </div> 429 </div> 430 <div class="form-col"> 431 <div class="lp-form-group custom-form__group"> 432 <div class="lp-input-group"> 433 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-2" class="lp-label field-required">Email</label> 434 <input type="email" id="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-2" name="email" class="lp-input lp-input--dark js-form-element" placeholder="Email *" required> 435 </div> 436 </div> 437 </div> 438 <div class="form-col"> 439 <div class="lp-form-group custom-form__group"> 440 <div class="lp-input-group"> 441 <label for="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-3" class="lp-label field-required">Message</label> 442 <textarea name="message" rows="4" id="section-9b183d11-3724-4733-99a4-435e7538fc4c-field-3" class="lp-input lp-input--dark js-form-element" placeholder="Message *" required></textarea> 443 </div> 444 </div> 445 </div> 446 </div> 447 448 <div class="lp-disclaimer"> 449 <label style='display: none;' for='section-9b183d11-3724-4733-99a4-435e7538fc4c-termsAccepted'>Opt In/Disclaimer Consent:</label> 450 <label class='lp-tcr-content'> 451 <span class='lp-tcr-checkbox'> 452 <input 453 type='checkbox' 454 id='section-9b183d11-3724-4733-99a4-435e7538fc4c-termsAccepted' 455 name='termsAccepted' 456 value='I agree to be contacted by Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate via call, email, and text for real estate services.' 457 /></span> 458 <span class='lp-tcr-message'> 459 I agree to be contacted by 460 Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate 461 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 462 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 463 Consent is not a condition of purchase of any goods or services. 464 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 465 </span> 466 </label> 467 468</div> 469 470 <div class="custom-form__footer"> 471 <button type="submit" class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width custom-form__submit-btn button-style-1"> 472 <span class="lp-btn-icons"> 473 <span class="lp-btn-icon-loading"></span> 474 <span class="lp-btn-icon-success"></span> 475 </span> 476 Submit 477 </button> 478 </div> 479 </form> 480 </div> 481 </div> 482 </div> 483 484</div> 485 486 487</section> 488<section id="section-2d470acb-c868-43f0-8382-0aac73cb8b3f" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1"> 489 <div class="gallery-component redesign"> 490 <div class="lp-container gallery-component__container"> 491 <div class="row gallery-component__row cols-3"> 492 493 <div class="gallery-component__col"> 494 <a class="gallery-card" 495 href="/buyers-guide" > 496 <div class="gallery-card__preview"> 497 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/380d146b-402b-4b8d-9940-cdee18c012a2" 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/380d146b-402b-4b8d-9940-cdee18c012a2 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/380d146b-402b-4b8d-9940-cdee18c012a2 960w" class="portrait" alt="" loading="lazy"> 498 </div> 499 <h3 class="lp-h3 gallery-card__title">Buy</h3> 500 </a> 501 </div> 502 503 504 <div class="gallery-component__col"> 505 <a class="gallery-card" 506 href="/sellers-guide" > 507 <div class="gallery-card__preview"> 508 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b3838d57-af16-4a40-9b67-cb704049ba11" 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/b3838d57-af16-4a40-9b67-cb704049ba11 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/b3838d57-af16-4a40-9b67-cb704049ba11 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b3838d57-af16-4a40-9b67-cb704049ba11 1024w" class="portrait" alt="" loading="lazy"> 509 </div> 510 <h3 class="lp-h3 gallery-card__title">Sell</h3> 511 </a> 512 </div> 513 514 515 <div class="gallery-component__col"> 516 <a class="gallery-card" 517 href="/about" > 518 <div class="gallery-card__preview"> 519 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/49618bcc-bf9c-4701-9989-428be1f950b7" 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/49618bcc-bf9c-4701-9989-428be1f950b7 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/49618bcc-bf9c-4701-9989-428be1f950b7 960w" class="portrait" alt="" loading="lazy"> 520 </div> 521 <h3 class="lp-h3 gallery-card__title">About</h3> 522 </a> 523 </div> 524 525 </div> 526 </div> 527</div> 528 529 530</section> 531<section id="section-478ee3db-6cff-4cb3-a1f0-1850c758d2de" class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284"> 532
532<script type="text/x-handlebars-template" class="jsIGItem"> 533 <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}"> 534 <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div> 535 <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div> 536 {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}} 537 </a> 538</script>
538 539<div class="ig-feed redesign"> 540 <div class="ig-feed-top lp-container"> 541 <div class="top-wrapper"> 542 <div class="top-left"> 543 <h3 class="lp-h3 title">Follow Me on Instagram</h3> 544 <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a> 545 </div> 546 <div class="top-right"> 547 <a href="#" target="_blank" class="lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width follow-button jsIGLink button-style-1">Follow Me</a> 548 <a class="nav-button top-nav-prev hidden-control button-style-1"> 549 <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> 550 </a> 551 <a class="nav-button top-nav-next hidden-control button-style-1"> 552 <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> 553 </a> 554 </div> 555 </div> 556 </div> 557 <div class="lp-container ig-feed-container "> 558 <div class="ig-feed-feed" data-limit="33"> 559 </div> 560 </div> 561 <div class="bottom-controls"> 562 <a class="bottom-nav-button bottom-nav-prev button-style-1"> 563 <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> 564 </a> 565 <a class="bottom-nav-button bottom-nav-next button-style-1"> 566 <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> 567 </a> 568 </div> 569</div> 570 571</section> 572 573 <div id="modals" class="modals"></div> 574 <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="874a9373-949d-4275-b72f-04c2a6ec373b"> 575 <div class="footer redesign no_newsletter no-names"> 576 <div class="container"> 577 <div class="info-wrap"> 578 <div class="info-wrap-contact agent_box"> 579 <div class="info-wrap-contact_zone"> 580 </div> 581 </div> 582 </div> 583 <div class="text_footer first_text_footer"> 584 <div class="luxury-text"> 585 <div class="info-container"><img class="profile-img" src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/cb560f70-ae34-4654-a863-deaa12a17c1e" alt="Profile Image"> 586<div class="info-wrapper"> 587<div class="info-item"><span class="info-label">Office Number</span> 588<p class="email"><a class="lp-link" title="703-570-7307" href="tel:7035707307">(703) 570-7307</a></p> 589</div> 590<div class="info-item"><span class="info-label">Email</span> 591<p class="email"><a class="lp-link" href="/cdn-cgi/l/email-protection#50393e363f102031253c2735233c35297e333f3d" target="_blank" rel="noopener"><span class="__cf_email__" data-cfemail="b4fdfaf2fbf4e4f5e1f8e3f1e7f8f1ed9af7fbf9">[email protected]</span></a></p> 592<p class="email"> </p> 593</div> 594<div class="info-item"><span class="info-label">Address</span> 595<p class="address">14501 GEORGE CARTER WAY<br>CHANTILLY, VA 20151</p> 596<p class="address"> </p> 597</div> 598</div> 599</div> 600<div id="ipql"> 601<p id="iaa1">All information is deemed reliable but not guaranteed and should be independently reviewed and verified.<br><img id="iivu" src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/tguwivacqib9bgbmkkgy/realtor-eho-logo-07232021-update-light" width="100px" height="auto"></p> 602</div> 603<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}#iaa1{font-size:12px;}#iivu{margin-top:20px;}</style> 604 </div> 605 </div> 606 <div class="text_footer second_text_footer"> 607 <div class="text_content_wrap"> 608 <div> 609 <div> </div> 610<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style> 611 </div> 612 </div> 613 </div> 614 <div class="info-privacy"> 615 <div class="form-row info-privacy__row"> 616 617 <div class="form-col form-col--powered powered-box"> 618 <div class="img-wrap"> 619 <img src="https://media-production.lp-cdn.com/media/b517d231-d9f5-4e15-870d-852a977c9204" alt=""> 620 </div> 621 <div class="powered_zone"> 622 Real Estate Website Design by <a href="https://www.luxurypresence.com/real-estate-website-design/" target="_blank" class="lp-link grey-text luxury-link underlined hyperlink-style-2">Luxury Presence</a> 623 </div> 624 </div> 625 626 <div class="form-col form-col--copyright"> 627 <div class="copy_zone">
628 <span class="copy_words">Copyright ©</span> <span class="auto-year-update">2026</span> 629 | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-2">Privacy Policy</a> 630 631 </div> 632 </div> 633 634 <div class="form-col form-col--socials"> 635 <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone"> 636 637 </ul> </div> 638 </div> 639 </div> 640 </div> 641</div> 642 643 </footer> 644 645 <div id="modal-global-contact-us" class="modal " 646 data-el-id="" 647 style="background-color: ;" 648 > 649 <div class="modal-content"> 650 <div class="contact-form redesign " 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/285ca537-20c5-472e-a6e3-e0f3e41a366d')"> 651 <div class="container"> 652 <div class="section-details" style="--colorTxt: #ffffff"> 653 <h2>Contact Details</h2> 654 655 <div class="info-zone"> 656 657 <div class="info-zone_contact type_user"> 658 <h4 class="serif">Paul Wesley Real Estate</h4> 659 <div class="info-zone_contact_cell"> 660 <i> 661 <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 662 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A"/> 663 </svg> 664 </i> 665 <p class="contact_title">Phone</p> 666 <a href="tel:(703) 570-7307" class="lp-link info-zone_contact_link link hyperlink-style-2">(703) 570-7307</a> 667 </div> 668 <div class="info-zone_contact_cell"> 669 <i> 670 <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 671 <path d="M2 0C0.903517 0 0 0.903517 0 2V16.6667C0 17.7631 0.903517 18.6667 2 18.6667H28C29.0965 18.6667 30 17.7631 30 16.6667V2C30 0.903517 29.0965 0 28 0H2ZM2.4375 1.33333H27.5625L15.6458 11.4896C15.3389 11.7512 14.6612 11.7512 14.3542 11.4896L2.4375 1.33333ZM1.33333 2.13542L10.1979 9.6979L1.33333 16.5729V2.13542ZM28.6667 2.13542V16.5729L19.8021 9.6979L28.6667 2.13542ZM11.2396 10.5833L13.4896 12.5C14.3543 13.2369 15.6457 13.2369 16.5104 12.5L18.7604 10.5833L27.4687 17.3333H2.53125L11.2396 10.5833Z" fill="#1A1A1A"/> 672 </svg> 673 </i> 674 <p class="contact_title">Email</p> 675 <a href="/cdn-cgi/l/email-protection#a5cccbc3cae5d5c4d0c9d2c0d6c9c0dc8bc6cac8" class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="3f565159507f4f5e4a53485a4c535a46115c5052">[email protected]</span></a> 676 </div> 677 </div> 678 <div class="info-zone_contact"> 679 <div class="info-zone_contact_cell"> 680 <i> 681 <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 682 <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 3
6820.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A"/> 683 <path d="M6.57515 19.1142C6.6671 19.422 6.95006 19.6323 7.2713 19.6323C7.59215 19.6323 7.87511 19.422 7.96746 19.1142C8.67742 16.7514 10.0393 15.2447 11.3559 13.788C12.9944 11.9747 14.5422 10.2615 14.5422 7.2717C14.5422 3.39788 11.1451 0 7.2713 0C3.39827 0 0 3.39748 0 7.2717C0 10.2615 1.54819 11.9747 3.18674 13.788C4.50328 15.2447 5.86479 16.7514 6.57515 19.1142ZM7.2713 1.45426C10.316 1.45426 13.0883 4.22663 13.0883 7.2717C13.0883 9.70191 11.7852 11.1435 10.2769 12.8121C9.2461 13.9534 8.10992 15.2096 7.2713 16.9199C6.43229 15.2096 5.29651 13.953 4.2657 12.8121C2.75698 11.1432 1.45426 9.70191 1.45426 7.2717C1.45426 4.22663 4.22663 1.45426 7.2713 1.45426Z" fill="#1A1A1A"/> 684 <path d="M7.26193 10.1616C8.8705 10.1616 10.1795 8.86084 10.1795 7.26175C10.1795 5.66305 8.87089 4.3623 7.26193 4.3623C5.65297 4.3623 4.34473 5.66305 4.34473 7.26175C4.34512 8.86084 5.65336 10.1616 7.26193 10.1616ZM7.26193 5.81657C8.06898 5.81657 8.72527 6.46536 8.72527 7.26175C8.72527 8.05932 8.06898 8.70733 7.26193 8.70733C6.45528 8.70733 5.79899 8.05893 5.79899 7.26175C5.79899 6.46536 6.45528 5.81657 7.26193 5.81657Z" fill="#1A1A1A"/> 685 </svg> 686 </i> 687 <p class="info-wrap-contact_title">Address</p> 688 <p class="info-zone_contact_link pre-line">14501 George Carter Way 689 Chantilly, VA 20151</p> 690 </div> 691 </div> 692 <div class="info-zone_contact"> 693 <div class="info-zone_contact_cell"> 694 <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p> 695 </div> 696 </div> 697 <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__contact-column"> 698 699 </ul> </div> 700 </div> 701 <div class="section-message"> 702 <form data-type="contact-form"> 703 <h2>Submit a Message</h2> 704 <div class="h-pot"> 705 <label for="-middleName">Middle Name</label> 706 <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 707 </div> 708 709 710 <div class="lp-input-group"> 711 <label for="prod-name" class="lp-label">Name</label> 712 <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light"> 713 </div> 714 <div class="lp-input-group"> 715 <label for="prod-email" class="lp-label">Email</label> 716 <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light"> 717 </div> 718 <div class="lp-input-group"> 719 <label for="prod-phone" class="lp-label">Phone</label> 720 <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light"> 721 </div> 722 <div class="lp-input-group m16"> 723 <label for="prod-message" class="lp-label">Message</label> 724 <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea> 725 </div> 726 727 <div class="lp-disclaimer"> 728 <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label> 729 <label class='lp-tcr-content'>
730 <span class='lp-tcr-checkbox'> 731 <input 732 type='checkbox' 733 id='-termsAccepted' 734 name='termsAccepted' 735 value='I agree to be contacted by Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate via call, email, and text for real estate services.' 736 /></span> 737 <span class='lp-tcr-message'> 738 I agree to be contacted by 739 Foster Real Estate Services, LLC, DBA as Paul Wesley Real Estate 740 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 741 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 742 Consent is not a condition of purchase of any goods or services. 743 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 744 </span> 745 </label> 746 747 </div> 748 749 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 750 751 752 <button type="submit" class="submitButton lp-btn button-style-2"> 753 <span class="label-initial">Submit</span> 754 <span class="label-loading">Submitting</span> 755 <span class="label-success">Submitted</span> 756 <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span> 757 </button> 758 <p class="success-message success hide"> 759 Message sent successfully! 760 </p> 761 </form> 762 763 764 </div> 765 </div> 766 </div> 767 768 </div> 769 <button class="close lp-close" type="button" aria-label="close modal"> 770 <span class="lp-close-icon" aria-hidden="true"></span> 771 </button> 772 </div> 773 <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;"> 774 <style> 775 #qualifying-questions-modal .custom-select-toggle { 776 border: 1px solid #848484; 777 border-radius: 8px; 778 padding: 12px 16px; 779 } 780 781 #qualifying-questions-modal .custom-select-toggle.is-placeholder { 782 color: #848484; 783 } 784 785 #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder { 786 color: #848484; 787 opacity: 1; 788 } 789 790 #qualifying-questions-modal .disclaimer-more { 791 display: none; 792 } 793 794 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more { 795 display: inline; 796 } 797 798 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis { 799 display: none; 800 } 801 </style>
vendor: 119 bytes, lines 801-802
801 802 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
802<script> 803 function toggleDisclaimerQualifyingQuestionsModal() { 804 const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text'); 805 const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer'); 806 807 if (disclaimerText.classList.contains('collapsed')) { 808 disclaimerText.classList.remove('collapsed'); 809 toggleButton.textContent = 'Read less'; 810 toggleButton.setAttribute('aria-expanded', 'true'); 811 } else { 812 disclaimerText.classList.add('collapsed'); 813 toggleButton.textContent = 'Read more'; 814 toggleButton.setAttribute('aria-expanded', 'false'); 815 } 816 } 817 </script>
817 818 <div style="max-width: 400px; width: 95%; margin: 0 auto;"> 819 <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;"> 820 <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;"> 821 <span aria-hidden="true">×</span> 822 </button> 823 <div style="padding: 40px 30px 32px;"> 824 <div style="text-align: left; margin-bottom: 32px;"> 825 <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;"> 826 Thanks, please provide more information to help serve you 827 </h2> 828 </div> 829 <form id="qualifying-questions-modal-form" data-type="contact-form"> 830 <input type="hidden" name="source" value="PROFILE_UPDATE" /> 831 <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" /> 832 <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" /> 833 <label for="qualifying-questions-modal-email" style="display:none;"> 834 Email 835 </label> 836 <label for="qualifying-questions-modal-triggerSource" style="display:none;"> 837 Trigger Source 838 </label> 839 840 <div style="margin-bottom: 20px;"> 841 <label for="qualifying-questions-modal-phoneNumber" style="display:none;"> 842 Phone Number 843 </label> 844 <input 845 type="tel" 846 id="qualifying-questions-modal-phoneNumber" 847 name="phoneNumber" 848 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;" 849 pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$" 850 required 851 placeholder="Phone" 852 aria-label="Phone Number" 853 inputmode="tel" 854 autocomplete="tel" 855 onfocus="this.style.borderColor='black';" 856 onblur="this.style.borderColor='#848484';" 857 /> 858 </div> 859 860 <div style="margin-bottom: 20px;"> 861 <label for="qualifying-questions-modal-interest" style="display:none;"> 862 Interest 863 </label> 864 <select 865 id="qualifying-questions-modal-interest" 866 name="interest" 867 required 868 data-label="Interest" 869 aria-label="Interest" 870 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;" 871 onfocus="this.style.borderColor='black'; this.style.color='black';" 872 onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';" 873 > 874 <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option> 875 <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option> 876 <option value="Selling" style="background: #fff; color: black;">Selling</option> 877 <option value="Buying" style="background: #fff; color: black;">Buying</option> 878 <option value="Renting" style="background: #fff; color: black;">Renting</option> 879 <option value="Other" style="background: #fff; color: black;">Other</option> 880 </select> 881 </div> 882 883 <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;"> 884 <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label> 885 <label class='lp-tcr-content'>
886 <span class='lp-tcr-checkbox'> 887 <input 888 type='checkbox' 889 id='qualifying-questions-modal-qualifying-questions-termsAccepted' 890 name='termsAccepted' 891 aria-describedby='qualifying-questions-modal-disclaimer-text' 892 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 893 oninput="this.setCustomValidity('')" 894 required 895 /></span> 896 <span class='lp-tcr-message'> 897 <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;"> 898 899 I agree to be contacted by 900 <strong>Paul Wesley Real Estate</strong> 901 via call, email, and text <span class="disclaimer-more">for real estate services. 902 To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 903 You can also click the unsubscribe link in the emails. 904 Message and data rates may apply. Message frequency may vary.</span> 905 <span class="disclaimer-ellipsis">...</span> 906 <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>. 907 </div> 908 <button 909 id="qualifying-questions-modal-toggle-disclaimer" 910 type="button" 911 style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;" 912 aria-expanded="false" 913 onclick="toggleDisclaimerQualifyingQuestionsModal()" 914 > 915 Read more 916 </button> 917 </span> 918 </label> 919 </div> 920 921 <div> 922 <button 923 type="submit" 924 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;" 925 onmouseover="this.style.background='transparent'; this.style.color='black';" 926 onmouseout="this.style.background='black'; this.style.color='white';" 927 > 928 Submit 929 </button> 930 </div> 931 </form> 932 </div> 933 </div> 934 </div> 935 </div> 936 937
937<script> 938 (function() { 939 var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy")); 940 941 if ("IntersectionObserver" in window && lazyVideos.length > 0) { 942 var lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 943 entries.forEach(function(video) { 944 if (video.isIntersecting) { 945 for (var source in video.target.children) { 946 var videoSource = video.target.children[source]; 947 if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") { 948 videoSource.src = videoSource.dataset.src; 949 } 950 } 951 952 video.target.load(); 953 video.target.classList.remove("lazy"); 954 lazyVideoObserver.unobserve(video.target); 955 } 956 }); 957 }); 958 959 lazyVideos.forEach(function(lazyVideo) { 960 lazyVideoObserver.observe(lazyVideo); 961 }); 962 } 963 })(); 964 </script>
964 965 966 <!-- Global site tag (gtag.js) - Google Analytics --> 967
967<script defer src="https://www.googletagmanager.com/gtag/js"></script>
967 968 969 <!-- Google Tag Manager --> 970
970<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 971 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 972 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 973 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 974 })(window,document,'script','dataLayer','GTM-W3NMV25N');</script>
974 975 <!-- End Google Tag Manager --> 976 <!-- Google Tag Manager --> 977
977<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 978 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 979 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 980 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 981 })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
981 982 <!-- End Google Tag Manager --> 983 984 985 <!-- LP Tracker (divolte.js) - LP Divolte --> 986
986<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
986 987 <!-- LP Tracker (eventBus) - LP EventBus --> 988
988<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
988 989 990
990<script> 991 window.dataLayer = window.dataLayer || []; 992 document.sendGoogleTagManagerEvent = function() { 993 /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */ 994 if (window.navigator.globalPrivacyControl) { 995 return; 996 } 997 998 dataLayer.push(arguments); 999 } 1000 1001 document.sendGoogleTagManagerEvent('js', new Date()); 1002 document.sendGoogleTagManagerEvent('config', 'G-4FFZFJHMPJ', { page: location.pathname, location: location.href }); 1003 document.sendGoogleAnalyticsEvent = function(googleEvent) { 1004 document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, { 1005 event_category: googleEvent.eventCategory, 1006 event_label: googleEvent.eventLabel, 1007 value: googleEvent.eventValue, 1008 page: googleEvent.page, 1009 location: googleEvent.location 1010 }) 1011 }; 1012 1013 document.addEventListener("DOMContentLoaded", function() { 1014 (function() { 1015 //If the page has an element with ID of auto-year-update the element will be populated with the current year. 1016 var date = new Date(); 1017 var elements = document.getElementsByClassName('auto-year-update'); 1018 var i; 1019 for (i = 0; i < elements.length; i++) { 1020 elements[i].innerText = date.getFullYear(); 1021 } 1022 })(); 1023 if (window.divolteLp) { 1024 window.divolteLp('sendLpPageView', {}); 1025 } 1026 if (window.eventBusLp) { 1027 window.eventBusLp('sendLpPageView', {}); 1028 } 1029 }); 1030 </script>
1030 1031 1032 1033
1033<script> 1034 // Function to dynamically load a script 1035 function loadScript(url, callback) { 1036 var script = document.createElement('script'); 1037 script.type = 'text/javascript'; 1038 script.src = url; 1039 script.defer = true; 1040 script.async = true; 1041 script.onload = callback; 1042 document.head.appendChild(script); 1043 } 1044 1045 // Function to dynamically load CSS file 1046 function loadCSS(url) { 1047 var link = document.createElement("link"); 1048 link.rel = "stylesheet"; 1049 link.href = url; 1050 document.head.appendChild(link); 1051 } 1052 1053 // Global methods / variables that can be accessed by element js 1054 window.luxuryPresence = { 1055 libs: { 1056 loadJs: loadScript, 1057 loadCss: loadCSS, 1058 jsLibsMap: { 1059 paroller: { 1060 jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js', 1061 isLoaded: false, 1062 }, 1063 ionRangeSlider: { 1064 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js', 1065 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css', 1066 isLoaded: false, 1067 requires: ['jquery'], 1068 }, 1069 splide: { 1070 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js', 1071 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css', 1072 isLoaded: false, 1073 }, 1074 wow: { 1075 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js', 1076 isLoaded: false, 1077 }, 1078 jquery: { 1079 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js', 1080 isLoaded: false, 1081 }, 1082 slick: { 1083 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js', 1084 isLoaded: false, 1085 requires: ['jquery'], 1086 }, 1087 libphonenumber: { 1088 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js', 1089 isLoaded: false, 1090 }, 1091 }, 1092 }, 1093 }; 1094 </script>
1094 1095
1095<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>
1095 1096
1096<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1096 1097
1097<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1097 1098
1098<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1098 1099
1099<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>
1099 1100
1100<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>
1100 1101
1101<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>
1101 1102 1103 <!-- GOOGLE TRANSLATE SCRIPT --> 1104
1104<script> 1105 function googleTranslateElementInit() { 1106 // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'` 1107 // Language codes can be taken from here https://cloud.google.com/translate/docs/languages 1108 const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt'; 1109 document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){ 1110 translate.innerText = ''; 1111 new google.translate.TranslateElement({ 1112 pageLanguage: 'en', 1113 layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 1114 includedLanguages: window.customLanguages || DEFAULT_LANGUAGES, 1115 }, translate); 1116 }); 1117 } 1118 </script>
1118 1119
1119<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1119 1120
1120<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1120 1121 1122 <!-- GOOGLE TRANSLATE SCRIPT END--> 1123
1123<script> 1124 1125 // UI helpers 1126 (function () { 1127 1128 function getSideMenu () { 1129 return document.querySelector('body > div.sidemenu'); 1130 } 1131 1132 function sideMenuHide (instant) { 1133 var sideMenu = getSideMenu(); 1134 if (!sideMenu || !sideMenu.classList.contains('visible')) { 1135 return; 1136 } 1137 sideMenu.classList.remove('visible'); 1138 sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } })); 1139 window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} })); 1140 } 1141 1142 function sideMenuShow () { 1143 var sideMenu = getSideMenu(); 1144 if (!sideMenu || sideMenu.classList.contains('visible')) { 1145 return; 1146 } 1147 sideMenu.classList.add('visible'); 1148 sideMenu.dispatchEvent(new Event('lpui-show')); 1149 window.dispatchEvent(new Event('lpui-sidemenu-show')); 1150 } 1151 1152 function sideMenuToggle () { 1153 var sideMenu = getSideMenu(); 1154 if (!sideMenu) { 1155 return; 1156 } 1157 var isSideMenuVisible = sideMenu.classList.contains('visible'); 1158 if (isSideMenuVisible) { 1159 sideMenuHide(); 1160 } else { 1161 sideMenuShow(); 1162 } 1163 } 1164 1165 var scrollLockRequests = {}; 1166 window.__debug_scrollLockRequests = scrollLockRequests; 1167 var hideScrollStyles = ''+ 1168 'body {'+ 1169 'overflow: hidden;' + 1170 '}'; 1171 var hideScrollId = 'hide-body-scroll-style'; 1172 1173 function scrollLock () { 1174 var style = document.createElement('style'); 1175 style.id = hideScrollId; 1176 style.textContent = hideScrollStyles; 1177 document.head.appendChild(style); 1178 window.dispatchEvent(new Event('lpui-scroll-locked')); 1179 } 1180 1181 function scrollUnlock () { 1182 document.getElementById(hideScrollId)?.remove(); 1183 window.dispatchEvent(new Event('lpui-scroll-unlocked')); 1184 } 1185 1186 function requestScrollLock (lockId) { 1187 var wasLocked = Object.keys(scrollLockRequests).length > 0; 1188 scrollLockRequests[lockId || '__anonymous_lock'] = true; 1189 if (!wasLocked) { 1190 scrollLock(); 1191 } 1192 } 1193 1194 function releaseScrollLock (lockId) { 1195 if (lockId) { 1196 delete scrollLockRequests[lockId]; 1197 if (!Object.keys(scrollLockRequests).length) { 1198 scrollUnlock(); 1199 } 1200 } else { 1201 scrollLockRequests = {}; 1202 window.__debug_scrollLockRequests = scrollLockRequests; 1203 scrollUnlock(); 1204 } 1205 } 1206 1207 function showModal (modalId, options) { 1208 var modal = document.getElementById(modalId); 1209 if (!modal) { 1210 return; 1211 } 1212 1213 if (!modal.classList.contains('visible')) { 1214 modal.classList.add('visible'); 1215 if (options && options.scrollLock) { 1216 window.lpUI.requestScrollLock(modalId); 1217 } 1218 modal.dispatchEvent(new Event('lpui-show')); 1219 window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } })); 1220 } 1221 1222 const visibleModals = document.querySelectorAll('.modal.visible'); 1223 1224 if (visibleModals.length > 1) { 1225 1226 const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => { 1227 const zIndex = window.getComputedStyle(modal).zIndex; 1228 const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0; 1229 return Math.max(maxZIndex, parsedZIndex); 1230 }, 0); 1231 1232 modal.style.zIndex = maxZIndex + 1; 1233 } 1234 1235 } 1236 1237 function _hideModal (modalEl) { 1238 if (!modalEl) { 1239 return; 1240 } 1241 if (!modalEl.classList.contains('visible')) { 1242 return; 1243 } 1244 modalEl.classList.remove('visible'); 1245 modalEl.style.zIndex = '';
1246 modalEl.dispatchEvent(new Event('lpui-hide')); 1247 var modalId = modalEl.getAttribute('id'); 1248 if (modalId) { 1249 window.lpUI.releaseScrollLock(modalId); 1250 window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } })); 1251 } 1252 } 1253 1254 function hideModal (modalId) { 1255 _hideModal(document.getElementById(modalId)); 1256 } 1257 1258 function hideClosestModal (el) { 1259 const modal = el?.closest('.modal'); 1260 if (!modal) { 1261 return; 1262 } 1263 if (modal.classList) { 1264 _hideModal(modal); 1265 return; 1266 } 1267 if (modal.length && modal[0].classList) { 1268 _hideModal(modal[0]); 1269 } 1270 } 1271 1272 window.lpUI = { 1273 sideMenuHide: sideMenuHide, 1274 sideMenuShow: sideMenuShow, 1275 sideMenuToggle: sideMenuToggle, 1276 requestScrollLock: requestScrollLock, 1277 releaseScrollLock: releaseScrollLock, 1278 showModal: showModal, 1279 hideModal: hideModal, 1280 hideClosestModal: hideClosestModal 1281 } 1282 })(); 1283 1284 var stringifyPrimitive = function(v) { 1285 switch (typeof v) { 1286 case 'string': 1287 return v; 1288 1289 case 'boolean': 1290 return v ? 'true' : 'false'; 1291 1292 case 'number': 1293 return isFinite(v) ? v : ''; 1294 1295 default: 1296 return ''; 1297 } 1298 }; 1299 1300 function objectToQuerystring(obj, sep, eq, name) { 1301 // https://github.com/Gozala/querystring/blob/master/encode.js 1302 sep = sep || '&'; 1303 eq = eq || '='; 1304 if (obj === null) { 1305 obj = undefined; 1306 } 1307 1308 if (typeof obj === 'object') { 1309 return Object.keys(obj).map(function(k) { 1310 var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; 1311 if (Array.isArray(obj[k])) { 1312 return obj[k].map(function(v) { 1313 return ks + encodeURIComponent(stringifyPrimitive(v)); 1314 }).join(sep); 1315 } else { 1316 return ks + encodeURIComponent(stringifyPrimitive(obj[k])); 1317 } 1318 }).filter(Boolean).join(sep); 1319 1320 } 1321 1322 if (!name) return ''; 1323 return encodeURIComponent(stringifyPrimitive(name)) + eq + 1324 encodeURIComponent(stringifyPrimitive(obj)); 1325 } 1326 1327 function getPath(url, options) { 1328 var parser = document.createElement('a'); 1329 parser.href = url || ''; 1330 var path = parser.pathname || ''; 1331 if (path[0] !== '/') { 1332 // IE does not return path starting with a slash 1333 path = '/' + path; 1334 } 1335 1336 if (options && options.queryString) { 1337 path += parser.search; 1338 } 1339 1340 return path; 1341 } 1342 1343 function getMLSAutocomplete(keyword) { 1344 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1345 var query = { 1346 kind: 'listings', 1347 query: keyword 1348 }; 1349 1350 return superagent 1351 .get(searchURL) 1352 .query(query) 1353 .then(function(res) { 1354 var data = res.body || []; 1355 /* 1356 Of the format: 1357 [{ 1358 "_index": "listing_auto_completes_production_20190723232720775", 1359 "_type": "listing_auto_complete", 1360 "_id": "235875624", 1361 "_score": 0, 1362 "status_modified_at": 1553250708, 1363 "city": "Jupiter", 1364 "price": 1335743, 1365 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 1366 "sold_price": null, 1367 "id": 235875624, 1368 "state": "FL", 1369 "photo_urls": [ 1370 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 1371 ], 1372 "status": "Pending" 1373 }, ...] 1374 */ 1375 1376 return data; 1377 }); 1378 } 1379 1380 function getMLSAutocompleteWithFilters(keyword, filters = {}) { 1381 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1382 1383 return superagent 1384 .get(searchURL) 1385 .query({ kind: 'listings', query: keyword, ...filters }) 1386 .then(function(res) { 1387 /* 1388 Of the format: 1389 [{ 1390 "_index": "listing_auto_completes_production_20190723232720775", 1391 "_type": "listing_auto_complete", 1392 "_id": "235875624", 1393 "_score": 0, 1394 "status_modified_at": 1553250708, 1395 "city": "Jupiter", 1396 "price": 1335743, 1397 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 1398 "sold_price": null, 1399 "id": 235875624, 1400 "state": "FL", 1401 "photo_urls": [ 1402 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 1403 ], 1404 "status": "Pending" 1405 }, ...] 1406 */ 1407 return res.body || []; 1408 }); 1409 } 1410 1411 function makeMlsLink(data) { 1412 // Code Dupe from utils/googlePlace 1413 // mapping of google data type to mls data type 1414 var mapping = { 1415 neighborhood: 'neighborhood', 1416 locality: 'place', 1417 administrative_area_level_2: 'county', 1418 administrative_area_level_1: 'state', 1419 postal_code: 'postalcode', 1420 }; 1421 1422 function _filterTypes(types) { 1423 return types.filter(function(type) { return type !== 'political' }); 1424 } 1425 1426 if (!data || !Object.keys(data).length) { 1427 return '/home-search/listings'; 1428 } 1429 1430 var newData = {};
1431 _filterTypes(data.types).forEach(function(type) { 1432 if (mapping[type]) { 1433 newData.search_type = mapping[type]; 1434 } 1435 }); 1436 newData.omnibox = data.formatted_address; 1437 data.address_components.forEach(function(component) { 1438 _filterTypes(component.types).forEach(function(type) { 1439 if (mapping[type]) { 1440 newData[mapping[type]] = component.long_name; 1441 } 1442 }); 1443 }); 1444 var bounds = data.geometry.bounds; 1445 var convertedData = Object.assign(bounds, newData); 1446 1447 return '/home-search/listings?' + objectToQuerystring(convertedData); 1448 } 1449 1450 function debounce(func, wait) { 1451 let timeout; 1452 return function(...args) { 1453 const context = this; 1454 clearTimeout(timeout); 1455 timeout = setTimeout(() => func.apply(context, args), wait) 1456 } 1457 } 1458 1459 // Global methods / variables that can be accessed by element js 1460 window.luxuryPresence = { 1461 ...window.luxuryPresence, 1462 defaults: { 1463 companyId: '817f4011-f4b4-47d1-b1e5-da3f3491e0b9', 1464 apiGatewayUrl: '/api-gw', 1465 routerUrl: '/api-nv', 1466 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\
1466n }\n propertiesCount(\n \n agentIds: $agentIds\n teamIds: $teamIds\n propertyId: $propertyId\n propertyIds: $propertyIds\n prioritizeIds: $prioritizeIds\n companyId: $companyId\n network: $network\n networkId: $networkId\n statusId: $statusId\n statusIds: $statusIds\n excludeStatusId: $excludeStatusId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n officeIds: $officeIds\n addressState: $addressState\n addressCity: $addressCity\n developmentId: $developmentId\n featuredListing: $featuredListing\n leaseProperty: $leaseProperty\n search: $search\n searchTermMode: $searchTermMode\n salesPriceGTE: $salesPriceGTE\n salesPriceLTE: $salesPriceLTE\n leasePriceGTE: $leasePriceGTE\n leasePriceLTE: $leasePriceLTE\n livingSpaceSizeGTE: $livingSpaceSizeGTE\n livingSpaceSizeLTE: $livingSpaceSizeLTE\n bathCountGTE: $bathCountGTE\n bathCountLTE: $bathCountLTE\n bedroomCountGTE: $bedroomCountGTE\n bedroomCountLTE: $bedroomCountLTE\n architectureStyle: $architectureStyle\n lifestyle: $lifestyle\n propertyTypeId: $propertyTypeId\n propertyTypeIds: $propertyTypeIds\n spaceTypeIds: $spaceTypeIds\n tag: $tag\n archived: $archived\n globalProperty: $globalProperty\n withGeo: $withGeo\n openHouse: $openHouse\n displayMLSListings: $displayMLSListings\n advancedFilters: $advancedFilters\n seasonalPriceId: $seasonalPriceId\n\n ) {\n count\n }\n }\n","pressReleases":"\n query PressReleases (\n $companyId: ID\n $pressReleaseIds: [ID!]\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n $categories: [String!]\n $propertyId: [ID!]\n $developmentId: [ID!]\n $agentId: [ID!]\n $teamId: [ID!]\n $year: [Int!]\n ) {\n pressReleases (\n companyId: $companyId\n pressReleaseIds: $pressReleaseIds\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n categories: $categories\n propertyId: $propertyId\n developmentId: $developmentId\n agentId: $agentId\n teamId: $teamId\n year: $year\n ) {\n items {\n id\n title\n description\n author\n externalUrl\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n publishedAt\n categories\n }\n total\n }\n }\n","posts":"\n query Posts (\n $companyId: String\n $postId: [ID!]\n $slug: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n $featured: Boolean\n $categoryId: [String!]\n $neighborhoodId: [String!]\n ) {\n posts (\n companyId: $companyId\n postId: $postId\n slug: $slug\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n featured: $featured\n postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n categoryId: $categoryId\n neighborhoodId: $neighborhoodId\n ) {\n items {\n id\n postId\n title\n subtitle\n description\n status: postStatus\n featured\n slug\n categories {\n id\n name\n }\n createdAt\n publishedAt\n scheduledAt\n createdBy {\n ... on Agent {\n firstName\n lastName\n }\n }\n customAuthor\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n seoTitle\n seoDescription\n }\n total\n }\n }\n","testimonials":"\n query Testimonials (\n $companyId: String\n $agentId: ID\n $teamId: ID\n $testimonialIds: [ID!]\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n ) {\n testimonials (\n companyId: $companyId\n agentId: $agentId\n teamId: $teamId\n testimonialIds: $testimonialIds\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n ) {\n items {\n id\n testimonialId\n body\n author\n position\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n seoTitle\n seoDescription\n agents {\n slug\n email\n firstName\n lastName\n avatar {\n smallUrl\n height\n width\n }\n }\n }\n total\n }\n }\n","neighborhoods":"\n query Neighborhoods (\n $neighborhoodId: ID\n $companyId: String\n $search: String\n $tag: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n ) {\n neighborhoods (\n neighborhoodId: $neighborhoodId\n companyId: $companyId\n search: $search\n tag: $tag\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n ) {\n id\n name\n description\n descriptionShort\n slug\n tags\n googlePlaceData\n mlsLink\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n seoTitle\n seoDescription\n }\n neighborhoodsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n ) {\n count\n }\n }\n","developments":"\n query Developments (\n $developmentId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $tag: [String!]\n $agentId: [ID!]\n $neighborhoodId: ID\n $neighborhoodIds: [ID!]\n ) {\n developments (\n developmentId: $developmentId\n companyId: $companyId\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n id\n name\n description\n descriptionShort\n slug\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n googlePlaceData\n seoTitle\n seoDescription\n tags\n }\n developmentsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n count\n }\n }\n","pois":"\n query PointsOfInterest (\n $regionId: UUID!\n $radiu
1466s: Int\n $offset: Int\n $limit: Int\n $categories: [AreasOfInterestCategories!]\n $sortBy: AreasOfInterestSorting\n ) {\n pois: areasOfInterest (\n input: {\n regionId: $regionId\n radius: $radius\n offset: $offset\n limit: $limit\n categories: $categories\n sortBy: $sortBy\n }\n ) {\n items {\n name\n imageUrl\n url\n reviewCount\n rating\n price\n displayPhone\n distance\n category\n location {\n address1\n address2\n address3\n city\n zipCode\n country\n state\n }\n }\n total\n }\n }\n","offices":"\n query Offices (\n $companyId: ID!\n $officeIds: [ID!]\n $officeMlsIds: [String!]\n $externalIds: [String!]\n $externalSource: String\n $agentId: ID\n $archived: Boolean\n $tags: [String!]\n $slug: String\n $search: String\n $sort: String\n $sortDir: SortDirection\n $offset: Int\n $limit: Int\n ) {\n offices (\n companyId: $companyId\n officeIds: $officeIds\n officeMlsIds: $officeMlsIds\n externalIds: $externalIds\n externalSource: $externalSource\n agentId: $agentId\n archived: $archived\n tags: $tags\n slug: $slug\n search: $search\n sort: $sort\n sortDir: $sortDir\n offset: $offset\n limit: $limit\n ) {\n items {\n id\n companyId\n name\n slug\n officeMlsId\n shortDescription\n fullDescription\n addressLine1\n addressLine2\n addressCity\n addressState\n addressPostalCode\n addressCountry\n phone\n email\n officeHours\n coordinates\n googlePlaceData\n seoTitle\n seoDescription\n fullAddress\n tags\n media {\n id\n originalUrl\n thumbnailUrl\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n }\n }\n total\n }\n }\n","teams":"\n query Teams (\n $companyId: ID\n $teamIds: [ID!]\n $agentId: ID\n $externalIds: [String!]\n $externalSource: String\n $slug: String\n $search: String\n $sort: String\n $sortDir: String\n $offset: Int\n $limit: Int\n ) {\n teams (\n companyId: $companyId\n teamIds: $teamIds\n agentId: $agentId\n externalIds: $externalIds\n externalSource: $externalSource\n slug: $slug\n search: $search\n sort: $sort\n sortDir: $sortDir\n offset: $offset\n limit: $limit\n ) {\n items {\n id\n companyId\n name\n email\n shortBio\n addressLine1\n addressLine2\n addressCity\n addressState\n addressCountry\n phoneNumber1\n phoneNumber2\n postalCode\n avatar {\n id\n thumbnailUrl\n smallUrl\n mediumUrl\n largeUrl\n }\n urlWebsite\n socialLinks\n socialLinksArray\n tags\n seoTitle\n seoDesc\n slug\n displayOrder\n }\n total\n }\n }\n"}, 1467 propertyPlaceholderImage: {"id":"f7f3e307-e480-48eb-8540-e1c004751cf4","alt":null,"bytes":44229,"width":1920,"format":"png","height":1200,"pngUrl":null,"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/396d0e7e-c1ac-424c-bb73-75420be1d08c","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/396d0e7e-c1ac-424c-bb73-75420be1d08c","authorUrl":null,"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/396d0e7e-c1ac-424c-bb73-75420be1d08c","sourceUrl":null,"xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/396d0e7e-c1ac-424c-bb73-75420be1d08c","__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/396d0e7e-c1ac-424c-bb73-75420be1d08c","de
1467scription":null,"displayName":"property_paul-wesley-re","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/396d0e7e-c1ac-424c-bb73-75420be1d08c","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/396d0e7e-c1ac-424c-bb73-75420be1d08c","originalFileName":"Property_Paul Wesley RE","cloudinaryPublicId":"396d0e7e-c1ac-424c-bb73-75420be1d08c"} 1468 }, 1469 objectToQuerystring: objectToQuerystring, 1470 getPath: getPath, 1471 getMLSAutocomplete: getMLSAutocomplete, 1472 getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters, 1473 makeMlsLink: makeMlsLink, 1474 debounce: debounce, 1475 }; 1476 1477 var wowOffset = 100; 1478 </script>
1478 1479
1479<script> 1480 (()=>{var e={},t={};t={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let i=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===i[1].toLowerCase().indexOf("video"))return null;let s=i[i.length-1];s.lastIndexOf(".")>-1?s=`${s.slice(0,s.lastIndexOf("."))}.jpg`:s+=".jpg",i[i.length-1]=s;let r=3;"videos"===i[1].toLowerCase()&&""!==i[2]&&(r=2);let a=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;r<i.length-1&&a.test(i[r]);)r++;return i.splice(r,0,"so_0,eo_0"),t+i.join("/")}},e=function(e,{isEqual:i}){let s=[{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,i){let s="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 i?i:0,a=Number.isInteger(e)?0:r,o={minimumFractionDigits:a,maximumFractionDigits:a};return"USD"===t?`$${e.toLocaleString(s,o)}`:"CAD"===t?`$${e.toLocaleString(s,o)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(s,o)}`:"GBP"===t?`\xa3${e.toLocaleString(s,o)}`:"PERCENT"===t?`${e}%`:"number"==typeof i&&i>-1?e.toLocaleString(s,{maximumFractionDigits:i}):e.toLocaleString(s)},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 i,s,r=t||{};switch(r.mode){case"short":i=o(e),s=r.frequencySeparator||"/";break;case"standard":case"std":i=n(e),s=r.frequencySeparator||"/";break;default:i=a(e),s=r.frequencySeparator||" "}return i?r.frequencyTag||r.frequencyClass?`${s}<${r.frequencyTag||"span"}${r.frequencyClass?` class="${r.frequencyClass}"`:""}>${i}</${r.frequencyTag||"span"}>`:s+i:""};return{isEmpty(e,t){let i=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?i?t.fn(this):t.inverse(this):i},ifEquals(e,t,s){return i(e,t)?s.fn(this):s.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,i)=>e?e.length>t?"string"==typeof i?e.slice(0,t-i.length)+i:e.slice(0,t):e:"",setSubArray(e=[],t,i,s,r){r.data.root[s]=e.slice(t,i)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:a,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>l(e,t&&t.hash),subArray(e,t,i,s){return e>=t&&e<i?s.fn(this):s.inverse(this)},formatPropertyStatus(e,t,i){let s="";switch(e){case"SOLD":s="Sold";break;case"FOR_SALE":s="For Sale";break;case"COMING_SOON":s="Coming Soon";break;case"INACTIVE":s="Inactive";break;case"POCKET_LISTING":s="Pocket Listing";break;case"PENDING":s="Pending";break;case"UNDER_CONTRACT":s="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":s="Active Under Contract";break;default:s=e}return("Sold"===s||"Leased"===s)&&t&&"string"==typeof i&&i&&(s+=` on ${i}`),s},formatGrade(e){switch(e){case"UNDERGRADUATE_COURSES":return"Undergrad";case"PRE_KINDERGARTEN":return"PreK";case"KINDERGARTEN":return"K";case"FIRST_GRADE":return"1st";case"SECOND_GRADE":return"2nd";case"THIRD_GRADE":return"3rd";case"FOURTH_GRADE":return"4th";case"FIFTH_GRADE":return"5th";case"SIXTH_GRADE":return"6th";case"SEVENTH_GRADE":return"7th";case"EIGHTH_GRADE":return"8th";case"NINTH_GRADE":return"9th";case"TENTH_GRADE":return"10th";case"ELEVENTH_GRADE":return"11th";case"TWELFTH_GRADE":return"12th";default:return""}},encodeURI:e=>encodeURI(e),encodeURIComponent:e=>encodeURIComponent(e),hbFormatDate(e,t){if(!e)return"";let i="current"===e?new Date:new Date(e);if(Number.isNaN(i.getTime()))return"";if("YYYY"===t||"year"===t)return`${i.getFullYear()}`;if("MM/DD/YY"===t){let e=i.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${i.getDate()}/${i.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][i.getMonth()]} ${i.getDate()}, ${i.getFullYear()}`},openHousesFormat(e,t,i){if(!e||!t)return"";let s=e=>{let t=e.getHours();t>12&&(t-=12);let i=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?i+="PM":i+="AM",i},r="",a=e,o=t;
1480i&&(a=new Date(e).toLocaleString("en-US",{timeZone:i}),o=new Date(t).toLocaleString("en-US",{timeZone:i}),[,,,r]=new Date(t).toLocaleString("en-US",{timeZone:i,timeZoneName:"short"}).split(" "));let n=new Date(a),l=n.toLocaleDateString("en-US"),d=s(n),c=s(new Date(o));return`${l} ${d} - ${c} ${r}`},math:(e,t,i)=>(e=parseFloat(e),({"+":e+(i=parseFloat(i)),"-":e-i,"*":e*i,"/":e/i,"%":e%i})[t]),findByKey(e,t,i,s){let r=(e||[]).find(e=>e[t]===i);return s.fn(r)},capitalize(e,t,i){let s;return"string"==typeof e&&e.length&&(s=e.toLowerCase().split(t).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ").toString()),s},and:(...e)=>Array.prototype.slice.call(e).every(Boolean),or:(...e)=>Array.prototype.slice.call(e,0,-1).some(Boolean),not:e=>!e,orderByIds(t,i,s){let r="",a=null;s.data&&(a=e.createFrame(s.data));let o=(i||[]).filter(Boolean);if(o&&o.length){let e=0;r=o.reduce((i,r,o)=>{let n=(t||[]).find(e=>e.id===r);return n?(a&&(a.index=o-e),i+s.fn(n,{data:a})):(e+=1,i)},"")}else for(let e=0,i=(t||[]).length;e<i;e++)a&&(a.index=e),r+=s.fn(t[e],{data:a});return r},ifIn(e,t,i){return t&&t.indexOf(e)>-1?i.fn(this):i.inverse(this)},partial:(t,i)=>(e.registerPartial(t,e.compile(i.fn())),`
1480<script type="text/x-handlebars-template" class="${t} pagination-script">${i.fn()}<\/script>`),numCompare(e,t,i,s){return({"==":function(e,t){return e==t},"===":function(e,t){return e===t},"!=":function(e,t){return e!=t},"<":function(e,t){return e<t},">":function(e,t){return e>t},"<=":function(e,t){return e<=t},">=":function(e,t){return e>=t}})[i](e,t)?!s.fn||s.fn(this):!!s.fn&&s.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,i)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,i,s){let r=null,a=0,o=new Set;return s.data&&(r=e.createFrame(s.data)),(t||[]).reduce((e,t,n)=>{let l=i?t[i]:t;return!o.has(l)||i&&void 0===l?(o.add(l),r&&(r.index=n-a),e+s.fn(t,{data:r})):(a+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let i=t[t.length-1].hash,s=t.length>1?t[0]:i.property,a=i.precision||0;t.length>2&&(i.mode=t[1]),i.mode||(i.mode="short");let o=t.length>3?t[2]:i.separator;if("string"!=typeof o&&(o=" | "),s.isPasswordProtected)return"Exclusive Listing";let n=t.length>4?t[3]:i.priceUponRequestText;if("string"!=typeof n&&(n="Price Upon Request"),s.priceUponRequest)return n;let d=s.salesPrice,c=null;"SOLD"!==s.status&&"Leased"!==s.status&&s.reducedPrice&&(i.reducedClass?c=s.reducedPrice:d=s.reducedPrice);let u="";c&&(u+=`<${i.reducedTag||"span"} class="${i.reducedClass}">${r(c,s.currency,a)}</${i.reducedTag||"span"}>`),d&&(d=r(d,s.currency,a),i.priceTag||i.priceClass?u+=`<${i.priceTag||"span"}${i.priceClass?` class="${i.priceClass}"`:""}>${d}</${i.priceTag||"span"}>`:u+=d);let h=s.leasePrice&&r(s.leasePrice,s.currency,a);if(h){u&&(u+=o);let e=`${h}${l(s.leasePeriod,i)}`;i.leaseTag||i.leaseClass?u+=`<${i.leaseTag||"span"}${i.leaseClass?` class="${i.leaseClass}"`:""}>${e}</${i.leaseTag||"span"}>`:u+=e}
1480return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:r,...a}=i.hash,o="",n="";if("string"==typeof t)o=t;else{let e={},{height:r,width:l,altTagText:d}=t;s.forEach(i=>{t[i.field]&&!e[t[i.field]]&&(e[t[i.field]]=i.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(a.alt=d),r&&l&&(r>=l&&(a.class?a.class+=" portrait":a.class="portrait"),"setDims"in i.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,i)=>Math.abs(e[t]-1280)-Math.abs(e[i]-1280))),o=c[0]}delete a.setDims,n||delete a.sizes,"alt"in a||(a.alt=""),!("loading"in a)&&(i?.data?.root?.sectionIndex>1||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 i in e)null!==e[i]&&void 0!==e[i]&&"object"!=typeof e[i]&&(t+=e[i]);return t},setVideoExtension(e,t){if(!e||!t)return"";let i=new URL(e);if("res.cloudinary.com"!==i.host)return i.pathname.endsWith(`.${t}`)?e:"";let s=i.pathname.lastIndexOf("."),r=i.pathname;return -1!==s&&(r=i.pathname.substr(0,s)),i.pathname=`${r}.${t}`,i.toString()},addVideoSources(e){if(!e)return"";if(!e.includes("res.cloudinary.com"))return`<source data-src="${e}">`;let t=e.replace(/\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/,"");return[{format:"webm",codec:"vp9",htmlCodecs:";codecs=vp9"},{format:"mp4",codec:"h265",htmlCodecs:";codecs=hvc1"},{format:"mp4",codec:"h264",htmlCodecs:""}].map(e=>{let i=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},q_auto:best,w_1920,c_limit`)}.${e.format}`;return`<source data-src="${i}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:t.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let i=+t?.hash?.maxChars||2,s=e.match(/\b\w/g)?.slice(0,i);return s?(t?.hash?.addText&&(s=s.map(e=>e+t.hash.addText)),s.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class i{constructor(e,t,i){if(this.config=e,this.window=t,this.document=i,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let s="lp_lead_form_conversion_fired";function r(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(s)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(s,"true")}catch{}}catch{}}function a(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let o="/api/v1/home-valuation";class n extends i{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let i=t.indexOf(", call time frame:");return -1!==i&&(t=t.substring(0,i).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,i={},s=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 s&&(i.streetNumber=s),r&&(i.streetName=r),l&&(i.city=l),a&&(i.state=a),o&&(i.zipcode=o),n&&(i.addressLine2=n),i}_extractAddressAndCoordinates(e){let t=null,i=null;if(e?.result){let{result:s}=e;s.address?.addressComponents&&(t=this._transformAddressComponents(s.address.addressComponents)),s.geocode?.location&&(i={latitude:s.geocode.location.latitude,longitude:s.geocode.location.longitude})}return{structuredAddress:t,coordinates:i}}_filterEmptyStrings(e){let t={};for(let[i,s]of Object.entries(e))""!==s&&null!=s&&(t[i]=s);return t}_getRawAddress(e){let t=e.activity.content||{},i=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,i,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,i=null){let s={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(i&&(s.errorMessage=i.userMessage||(i.status?`Request failed with status ${i.status}`:"An error occurred"),s.errorName=i.name,s.errorStatus=i.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(s)),this.window.posthog)try{this.window.posthog.capture(e,s)}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
1480ontact us directly."}_formatStructuredAddress(e){if(!e||0===Object.keys(e).length)return"";let t=[];return t.push([e.streetNumber,e.streetName,e.addressLine2].filter(Boolean).join(" ")),t.push([[e.city,e.state].filter(Boolean).join(", "),e.zipcode].filter(Boolean).join(" ")),t.filter(Boolean).join(", ")}_buildHomeValuationData(e,t,i,s){let r=this._formatStructuredAddress(i)||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,leadFirstName:e.activity.firstName,leadLastName:e.activity.lastName,leadPhoneNumber:e.activity.author_phone,parcelId:e.activity.content?.parcelId,resourceId:e.page.pageMeta?.resourceId,pageId:e.page.pageId,sourceResource:e.page.pageMeta?.s
1480ourceResource,pageElementId:e.page.pageMeta?.pageElementId,formId:e.page.pageMeta?.formId,utmSource:e.activity.content?.utm_source,utmMedium:e.activity.content?.utm_medium,utmCampaign:e.activity.content?.utm_campaign,utmTerm:e.activity.content?.utm_term,utmContent:e.activity.content?.utm_content,utmId:e.activity.content?.utm_id,timeToSell:e.activity.content?.timeToSell,lookingToBuy:e.activity.content?.lookingToBuy,consented:!!e.activity.content?.termsAccepted,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},n=this._filterEmptyStrings(o);return{...a,...n,...i&&{address:i},...s&&{coordinates:s}}}async _validateAddressSafely(e){if(!e)return console.error("Home valuation: No address found in form data"),null;try{return await this._validateAddressWithGoogleMaps(e)}catch(e){throw console.error("Error validating address with Google Maps:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}async _getHomeValuationEstimateSafely(e){try{return await this._getHomeValuationEstimate(e)}catch(e){throw console.error("Error getting home valuation estimate:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}_isSafeRedirectUrl(e){try{let{protocol:t}=new URL(e,this.window.location.href);return"https:"===t||"http:"===t}catch{return!1}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let i=Error(e&&"object"==typeof e&&Object.keys(e).length?e.message||JSON.stringify(e):"Request failed");return e&&"object"==typeof e&&Object.keys(e).length&&Object.assign(i,e),i.status=t,i}_resolveValuationApiBase(){let{config:e}=this;if(void 0!==e.valuationApiBase&&null!==e.valuationApiBase&&(""!==e.valuationApiBase||!e.isBuilder))return e.valuationApiBase;if(e.websiteApiGatewayUrl)return e.websiteApiGatewayUrl;throw Error("websiteApiGatewayUrl/valuationApiBase not configured for home valuation")}async _submitLead(e,t,i){let s=new AbortController,r=setTimeout(()=>s.abort(),1e4);try{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:s.signal});clearTimeout(r);let n=await o.text(),l=this._parseResponsePayload(n);if(!o.ok)throw this._createResponseError(l,o.status);if(l&&"success"===l.status&&l.redirectUrl){if(a(i))return l;if(!this._isSafeRedirectUrl(l.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),l;return this.window.location.href=l.redirectUrl,{redirected:!0,url:l.redirectUrl}}return l}catch(e){throw clearTimeout(r),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let i=this._getRawAddress(e),s=null;try{s=await this._validateAddressSafely(i)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let r=null;try{r=await this._getHomeValuationEstimateSafely(s)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),r=null}let{structuredAddress:a,coordinates:n}=this._extractAddressAndCoordinates(s),l=`${t}${o}`,d=this._buildHomeValuationData(e,r,a,n),c=await this._submitLead(l,d,e.deadline);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:i}=this,s=t.googleMapsAPIKey;if(!s&&i.luxuryPresence?.mapApiLoader&&(s=await i.luxuryPresence.mapApiLoader.getMapApiKey()),!s)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=${s}`,{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 t=`${this._resolveValuationApiBase()}${o}`;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 s=this._buildAddressQueryString(i),r=`${t}?${s}`,a=new AbortController,n=setTimeout(()=>a.abort(),1e4);try{let e=await fetch(r,{headers:{Accept:"application/json"},signal:a.signal});if(clearTimeout(n),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(n),e}}}let l="middleName",d="redirect-pending",c=["name","firstName","lastName",l,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],u="lp_map_key_failed",h="oauthSuccess",p={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
1480]+)/);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 m(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function g(e,t){t.forEach(t=>{let i=e[t];Array.isArray(i)&&0===i.length&&delete e[t]})}function y(e,t,i,s){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=s?.merge?r.flat():r.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),a.length>0&&(e[i]=[...new Set(a)])}function f(e){let t={...e};if(t.urlWebsite||(t.urlWebsite=null),t.urlYoutube=null,t.urlFacebook=null,t.urlInstagram=null,t.urlLinkedin=null,t.urlPodcast=null,t.urlTwitter=null,Array.isArray(e.socialLinks)){let i=[...e.socialLinks].sort((e,t)=>{let i=e.type?.toLowerCase()||"",s=t.type?.toLowerCase()||"";return i.localeCompare(s)});t.socialLinks=i;let s={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};i.forEach(e=>{let i=s[e.type?.toLowerCase()??""];i&&(t[i]=e.link)})}return t}function w(e){return e&&Array.isArray(e)?e.map(e=>f(e)):e}function v(e){let{region:t}=e;if(!m(t))return e;let{schools:i,pois:s,...r}=t,a={...r,schools:m(i)?i.data??[]:[],...Array.isArray(s)?{pois:s.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:a}}function b(e){return e&&Array.isArray(e)?e.map(e=>v(e)):e}function S(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let i=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:i}}function _(e){return e&&Array.isArray(e)?e.map(e=>S(e)):e}function E(e,t){return m(e)?t(e):e}function I(e,t){return Array.isArray(e)?t(e):e}let A=new class{constructor(e){this.isBuilder=!1,this.companyId=null,this.websiteId=null,this.pageId=null,this.shareId=null,this.pageMeta=null,this.websiteApiGatewayUrl=null,this.buyerSellerServiceUrl=null,this.leadIngesterUrl=null,this.divolteServiceUrl=null,this.eventBus=null,this.templateId=null,this.myhomeDashboardEnabled=!1,this.mlsEnabled=!1,this.hstValuationRedirectEnabled=!1,this.hvStepTwoCaptureEnabled=!1,this.googleMapsAPIKey=null}get valuationApiBase(){return this.isBuilder?this.websiteApiGatewayUrl:""}destroy(){}setPage(e,t={}){this.pageId=e,this.shareId=t.shareId||null,this.pageMeta={sourceResource:t.sourceResource,pageElementId:t.pageElementId,pageQueryVariables:t.pageQueryVariables||{}}}setIsBuilder(e){this.isBuilder=e}setCompany(e,t={}){this.companyId=e}setWebsite(e,t={}){this.websiteId=e,t.myhomeDashboardEnabled&&(this.myhomeDashboardEnabled=t.myhomeDashboardEnabled),t.mlsEnabled&&(this.mlsEnabled=t.mlsEnabled),t.hstValuationRedirectEnabled&&(this.hstValuationRedirectEnabled=t.hstValuationRedirectEnabled),t.hvStepTwoCaptureEnabled&&(this.hvStepTwoCaptureEnabled=t.hvStepTwoCaptureEnabled)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setEventBus({enabled:e,apiKey:t,url:i}){this.eventBus={enabled:e,apiKey:t,url:i}}}({}),L=new class extends i{constructor(e,t,i){super(e,t,i),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:i}=this;this.pageId=t.pageId,this.modals=i.querySelectorAll("body > #modals >
1480 .modal"),e.modals.forEach(e=>{this._attachModalHandler(e)})}catch(e){console.log(e)}}destroy(){let{document:e}=this;this.exitModalEventListeners.forEach(t=>{e.removeEventListener("mouseout",t)}),this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}setModalWithExpiry(e){let{window:t}=this,i=new Date().getTime()+864e5,s=`modal-controller-${e}`;try{t.localStorage.setItem(s,JSON.stringify(i))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,i=t.localStorage,s=i.getItem(`modal-controller-${e}`);if(!s)return!1;let r=JSON.parse(s);return!(new Date().getTime()>r)||(i.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:i}=this,s=this.getModalWithExpiry(e);(e&&!s||!0===t.forced)&&(i.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:i,pageSpecific:s}=e;(!s||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===i?this._exitModalHandler(e):"TIMER"===i?this._timerModalHandler(e):"FORCED"===i&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:i,exitModalTriggered:s}=this,{modalId:r}=e;function a(e){!s[r]&&(e.toElement||e.relatedTarget||(t.show(r),s[r]=!0))}i.addEventListener("mouseout",a),this.exitModalEventListeners.push(a)}_timerModalHandler(e){let{modalId:t,timerDelay:i}=e;setTimeout(()=>{this.show(t)},i)}_forcedModalHandler(e){let{modalId:t}=e,{window:i,document:s}=this;if("true"!==i.localStorage.getItem("isSignedUp")){let e=s.querySelector(`#modal-${t}`),r=e?.querySelector("form"),a=r?.dataset.delay||2e3;r.addEventListener("formsubmitted",()=>{this.setLoginState()}),i.addEventListener("oauthSuccess",()=>{this.setLoginState(),r.classList.add("success"),setTimeout(()=>{i.lpUI.hideModal(`modal-${t}`),r.reset(),r.classList.remove("success")},a)}),this.show(t,{forced:!0})}}}(A,window,document),$=new class extends i{constructor(e,t,i){super(e,t,i),this._boundClickHandler=this._buttonClickHandler.bind(this)}initialize(e={}){try{let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler),e.body.addEventListener("click",this._boundClickHandler)}catch(e){console.error(e)}}destroy(){let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler)}_buttonClickHandler(e){this._handleButtonClick(e).catch(e=>console.error(e))}async _handleButtonClick(e){let{window:t,document:i}=this,s=e.target.closest("button, a");if(!s)return;let r=s.dataset.type||"",a=s.href||s.dataset.href||"",o=s.target||"",{submit:n}=s.dataset;if(n){try{await this._handleSubmit(s)}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(s),"VIDEO"===r)return void this._handleVideoButton(s);if("CONTACT_US"===r)return void this._handleContactUsButton(s);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=s.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);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(a?.startsWith("tel:")){let e=a.substring(4);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:i}=this;return t?await i.luxuryPresence.contactForms.submitForm(t):null}_getVimeoSrc(e){if(!e||!e.includes("vimeo.com")||e.length>2e3)return null;let t=e.match(/(?:(?:www\.)?vimeo\.com\/(?:showcase\/\d+(?:\/video\/|\?video[=/])|channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player\.vimeo\.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);if(!t)return null;let[,i,s]=t,r=`https://player.vimeo.com/video/${i}?`;return s&&(r+=`h=${s}&`),r+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,i=e.closest("section"),{src:s}=e.dataset,r="";if(s&&(s.includes("youtube.com")||s.includes("youtu.be"))&&!s.includes("youtube.com/embed")){let e=s.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
1480)|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(r=e[1])}let a=this._getVimeoSrc(s);if(r?s=`https://youtube.com/embed/${r}?autoplay=1&controls=0`:a&&(s=a),!s||!i)return;let o=s.endsWith(".mp4")||s.endsWith(".webm")||s.includes("cloudinary.com"),n=` 1481 <div id="modal-${i.id}" class="modal visible"> 1482 <div class="modal-content"> 1483 <div class="lightbox-video"> 1484 <div class="video-player"> 1485 <div class="embed-container"> 1486 ${o?`<video controls autoplay src="${s}"></video>`:`<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${s}"></iframe>`} 1487 </div> 1488 </div> 1489 </div> 1490 </div> 1491 <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button> 1492 </div> 1493 `;t.body.insertAdjacentHTML("beforeend",n);let l=t.getElementById(`modal-${i.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:i}=this;i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:i}=this,{gtagConversionId:s,gtagConversionLabel:r,fbEventName:a}=e.dataset;if(s&&r){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===s)||i.sendGoogleTagManagerEvent("config",s));let e=`${s}/${r}`;i.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&a&&t.fbq("track",a,{})}}(A,window,document),x=new class extends i{constructor(e,t,i){super(e,t,i),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:i}=this,{selector:s}=e,r=[];if(r=s?i.querySelectorAll(`${s} form[data-type="contact-form"]`):i.querySelectorAll('form[data-type="contact-form"]'),i.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:i}=t.luxuryPresence.libs,{libphonenumber:s}=i;e(s.jsSrc,this.attachValidation.bind(this,r))}else this.attachValidation(r);this.validatedForms=this.validatedForms.concat(r)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}attachValidation(e){e.forEach(e=>{e.querySelectorAll("input, select, textarea").forEach(e=>{this.applyFieldValidation(e)})})}applyFieldValidation(e){"tel"===e.getAttribute("type")&&this._applyPhoneValidation(e)}_applyPhoneValidation(e){let{window:t}=this;if(t.libphonenumber){let i=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;i(e,"US")?this.setCustomValidity(""):this.setCustomValidity("Please enter a valid phone number.")}catch(e){this.setCustomValidity("Please enter a valid phone number.")}else this.setCustomValidity("")})}}}(A,window,document),T=new class extends i{constructor(e,t,i){super(e,t,i),this.forms=[],this.homeValuationService=new n(e,t,i)}initialize(e={}){try{let{document:t}=this,{selector:i}=e,s=[];(s=i?t.querySelectorAll(`${i} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(s)}catch(e){console.log(e)}}destroy(){this.forms=[]}submitForm(e){this._handleSubmit(null,e).catch(e=>console.error(e))}_attachValidation(e){let{window:t}=this;e.querySelectorAll("input, select, textarea").forEach(e=>{t.luxuryPresence.validation.applyFieldValidation(e)})}_attachSubmitHandler(e){e.addEventListener("submit",t=>this._handleSubmit(t,e))}_extractFormValues(e){let t=new FormData(e),i={},s=[],r=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let a=e.trim();r.test(t)&&a&&s.push(a);let o=i[t];i[t]=o?`${o} ${a}`:a}else i[t]=e}),s.length?i.name=s.join(" ").trim():!i.name&&i.firstName&&(i.name=i.firstName,i.lastName&&(i.name+=` ${i.lastName}`)),this._deriveNameParts(i)}_deriveNameParts(e){if(e.firstName||!e.name)return e;let t=e.name.indexOf(" ");return -1===t?{...e,firstName:e.name}:{...e,firstName:e.name.slice(0,t),lastName:e.lastName||e.name.slice(t+1).trim()}}_buildSubmissionData(e,t,i){let{window:s,config:r}=this,a=Object.keys(e).filter(e=>!c.includes(e)).reduce((t,i)=>(t[i]=e[i],t),{}),{pageId:o,companyId:n,websiteId:l,pageMeta:d}=r,u=s.localStorage.getItem("utm_vars")||"{}",h=s.localStorage.getItem("referrer")||"",p=this._getFormId(i);return{activity:{author_email:e.email,author_name:e.name,firstName:e.firstName||void 0,lastName:e.lastName||void 0,author_phone:e.phone||e.phoneNumber,activity_source:e.source||"CONTACT_INQUIRY",comments_attributes:[{text:e.message||void 0}],source_url:s.location.href,content:{...a,...JSON.parse(u)}},page:{pageId:o,companyId:n,websiteId:l,pageMeta:{...d,formId:p}},companyId:n,referrer:h,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,i=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
1493=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},i)}async _handleSubmit(e,t){if(e&&e.preventDefault(),!t.classList.contains("loading")){this._hideSubmissionError(t),t.classList.remove("error"),t.classList.add("loading");try{let e=this._extractFormValues(t);if(e.middleName)return void t.classList.remove("loading");let i=this._getFields(t),s=this._buildSubmissionData(e,i,t);r(this.window,this.document);let a=await this._waitForLeadSubmit(e=>this._submitLeadRequest(s,e));if(this._sendGAEvent(s),a?.redirected)return void this._showRedirectPending(t);this._handleSubmissionSuccess(t)}catch(e){console.error("Form submission failed:",e),t.dispatchEvent(new Event("formsubmiterror")),t.classList.remove("loading"),t.classList.add("error"),e.userMessage?this._showSubmissionError(t,e.userMessage):this._showSubmissionError(t,"Something went wrong. Please try again.")}}}async _waitForLeadSubmit(e){let t,i={expired:!1,expiresAt:Date.now()+6e3},s=new Promise(e=>{t=setTimeout(()=>{i.expired=!0,e(null)},6e3)}),r=e(i).catch(e=>{if(a(i))return null;throw e});try{return await Promise.race([r,s])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(d),e.querySelector(`.${d}__indicator`))return;let t=this.document.createElement("div");t.className=`${d}__indicator`,t.setAttribute("role","status"),t.setAttribute("aria-label","Loading"),t.innerHTML='<span class="lp-i lp-i--spinner lp-i--pulse" aria-hidden="true"></span>',e.appendChild(t)}_aliasUserWithEventBus(e){try{if(!this.window.eventBusProvider?.alias||!this.window.eventBusProvider?.isIdentified||!this.window.eventBusProvider?.getDistinctId||!this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail)return;if(this.window.eventBusProvider.isIdentified())return void console.log("[EventBus] User already identified, skipping alias");let t=e.activity?.author_email,{companyId:i}=this.config;if(!t||!i)return void console.warn("[EventBus] Missing required data for user alias");let s=this.window.eventBusProvider.getDistinctId();if(!s)return void console.warn("[EventBus] No anonymous ID available for alias");let r=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(i,t);this.window.eventBusProvider.alias({anonId:s,canonicalId:r}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}async _submitLeadRequest(e,t){let{config:i}=this;return(this._aliasUserWithEventBus(e),i.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${i.leadIngesterUrl}/api/v1/leads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw e}))}_sendGAEvent(e){let{document:t}=this,i={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":i.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":i.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":i.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":i.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:i={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(i)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),i={};return t.forEach(t=>{let{id:s,name:r,type:a}=t;if(r===l)return!0;let o="";if(s){let i=e.querySelector(`label[for='${s}']`);i?o=i.textContent.trim():t.placeholder&&(o=t.placeholder.trim())}i[r]={label:o,type:t.tagName,inputType:"INPUT"===t.tagName?a:"text"}}),i}_getFormId(e){let t=e.closest("section[id^='section-'], footer[id], .modal[id^='modal-']");return t?.id?this._cleanFormId(t.id):""}_cleanFormId(e){for(let t of["section-","modal-"])if(e.startsWith(t))return e.substring(t.length);return e}_showSubmissionError(e,t){let i=e.querySelector(".submission-error-message");i||((i=this.document.createElement("div")).className="submission-error-message",i.setAttribute("role","alert"),e.appendChild(i)),i.textContent=t||"Something went wrong. Please try again.",i.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(A,window,document),k=new class extends i{constructor(e,t,i){super(e,t,i),this.retries=3,this.callbacks=[],this.id=`__googleMapsScriptId${Date.now()}`,this._apiKey="",this.reset()}set apiKey(e){this._apiKey=e,this.config.setGoogleMapsAPIKey(e)}get apiKey(){return this._apiKey}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.failed=!1,this.errors=[],this.onerrorEvent=null}destroy(){this.reset()}async getMapApiKey(){if(this.apiKey)return this.apiKey;let e=this._hadPreviousFailure(),t=!1;for(let i=1;i<=3;i+=1){let s=e&&!t;try{let e=await fetch(this._getMapKeyUrl(i,s));if(t=t||s,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),i<3&&await this._delay(300*2**(i-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let i=[];e>1&&i.push(`attempt=${e}`),t&&i.push("recovered_after_failure=1");let s=i.length?`?${i.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${s}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(u)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(u,"1"):this.window.sessionStorage.removeItem(u)}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");
1493let t="https://maps.googleapis.com/maps/api/js";return t+`?callback=__googleMapsCallback&key=${e}&libraries=places`}async setScript(){let e;if(this.document.getElementById(this.id))return void this.callback();try{e=await this.createUrl()}catch(e){console.error(e),this.failed=!0,this.loading=!1,this.onerrorEvent=e,this.callback();return}let t=this.document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.document.head.appendChild(t)}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){let e=this.errors.length*2**this.errors.length;console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript().catch(e=>console.error(e))},e)}else this.failed=!0,this.onerrorEvent=e,this.callback()}deleteScript(){let e=this.document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(i=>{i?t(i):e()})})}loadCallback(e){this.callbacks.push(e),this.execute()}setCallback(){this.window.__googleMapsCallback=this.callback.bind(this)}resetIfRetryingFailed(){this.failed&&this.reset()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.window.google&&this.window.google.maps&&this.window.google.maps.version&&this.callback(),this.resetIfRetryingFailed(),this.done?this.callback():this.loading||(this.loading=!0,this.setCallback(),this.setScript().catch(e=>console.error(e)))}_getBaseUrl(){let{isBuilder:e,websiteApiGatewayUrl:t}=this.config;return e?t:""}resizeStaticMapDimensions(e,t){if(e<=1024&&t<=1024)return{width:e,height:t};let i=Math.min(1024/e,1024/t);return{width:parseInt(e*i),height:parseInt(t*i)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let i=t.visibility?`visibility:${t.visibility}`:"",s=t.color?`color:${t.color.replace("#","0x")}`:"",r=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${i}${s}${r}`},""),i=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${i}${t}`})}async getMapApiSignedUrl(e){try{let t=await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${e}`);if(!t.ok)throw Error("Failed to fetch signed URL");let{url:i}=await t.json();return i}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,i,s,r,a){let{width:o,height:n}=this.resizeStaticMapDimensions(r,a),l={center:`${e},${t}`,zoom:i,scale:2,size:`${o}x${n}`,key:this.apiKey};s&&(l.style=this.convertThemeToStaticApiUrl(s));let d=new URLSearchParams;return Object.entries(l).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>d.append(e,t.toString())):d.append(e,t.toString())}),`https://maps.googleapis.com/maps/api/staticmap?${d.toString()}`}async generateDigitallySignedStaticMapUrl({srcWidth:e,srcHeight:t,theme:i,...s}){let{width:r,height:a}=this.resizeStaticMapDimensions(e,t),o={...s,size:`${r}x${a}`};i&&(o.style=this.convertThemeToStaticApiUrl(i));let n=new URLSearchParams;Object.entries(o).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.append(e,t.toString())):n.append(e,t.toString())});let l=n.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(A,window,document),C=new class extends i{destroy(){}updateQueryString(e,t,i){i||(i=this.window.location.href);let s=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),r="";null!=t&&(Array.isArray(t)?t.length&&(r=this.serializeArray(e,t)):"object"==typeof t?(s=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),r=this.serializeObj(t,"",e)):r=`${e}=${encodeURIComponent(t)}`);let a=i.split("#"),o=a[0];if(s.test(i)){let e=o;for(r=r?`$1${r}$2`:"$1";s.test(e);)o=e.replace(s,r),e=e.replace(s,"$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 i=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),s=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat();if(!s.length){let i=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return s=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat(),this._parseParamToObject(s,"advancedFilters"===e)}return s.length>3?s.reduce((e,t,i)=>((i+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):s[2]?decode
1493URIComponent(s[2].replace(/\+/g," ")):""}makePageKey(e){return e.replace("section-","").replace(/-/g,"")}makeParamKey(e,t){return e.global?e.urlKey:`${t}-${e.urlKey}`}deserializeParams(e,t){let i={},s=this.makePageKey(t),r=this.getParameterByName(s);return r&&(i.page=parseInt(r)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),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){}i[e.formKey||e.param]=r}),i}serializeParams(e,t,i){let s=this.window.location.href,r=this.makePageKey(t);return s=this.updateQueryString(r,i.page,s),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,r),a=i[e.formKey||e.param];"json"===e.type&&null!=a&&(a=JSON.stringify(a)),s=this.updateQueryString(t,a,s)}),s}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",i=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${i}K`:`${this.formatSliderAtom(e/1e6,t)}${i}M`}formatSliderPriceRange(e,t,i,s){return t.min===e&&0!==e?`${s.lowPrefix}${this.formatSliderValue(e,i," ")}`:t.max===e?`${this.formatSliderValue(e,i," ")}${s.highSuffix}`:`${this.formatSliderValue(e,i," ")}`}formatSliderAreaRange(e,t,i,s){return t.min===e&&0!==e?`${s.lowPrefix}${this.formatSliderValue(e)} ${i}`:t.max===e?`${this.formatSliderValue(e)}${s.highSuffix} ${i}`:`${this.formatSliderValue(e)} ${i}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:i,areaSliderElement:s,neighborhoodSelect:r}=e,a={};if(t&&(a.search=t.value||null),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.priceMin=r!==t?r:null,a.priceMax=o!==s?o:null}if(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.areaMin=r!==t?r:null,a.areaMax=o!==i?o:null}return r&&(a.neighborhoodId=r.value||null),a}serializeObj(e,t="",i=""){let s=[];for(let r in e)if(e.hasOwnProperty(r)){let a,o=e[r];if(i){let e=t?`[${t}][${r}]`:`[${r}]`;a=`${i}${e}`}else a=t?`${t}[${r}]`:r;null!==o&&Array.isArray(o)?o.length&&s.push(this.serializeArray(a,o)):null!==o&&"object"==typeof o?s.push(this.serializeObj(o,a)):s.push(`${a}=${encodeURIComponent(o)}`)}return s.join("&")}serializeArray(e,t,i=""){let s=[];return t.forEach(t=>{let r=i?`${i}${e}`:e;s.push(`${r}=${encodeURIComponent(t)}`)}),s.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let i={};for(let s=0;s<e.length;s++)if((s+1)%3==0){let r=decodeURIComponent(e[s].replace(/\+/g," ")),a=e[s-1];Object.assign(i,this._setObjectPath(a,r,i,t))}return i}_setObjectPath(e,t,i,s=!1){let r=e.split(/[\[\]]/).filter(Boolean),a=["in","nin","btw","ciin","cinin"],o={},n=o,l=((e,t,i)=>{if(!t)return;let s=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===s?i:s})(i,r.join("."));return r.forEach((e,o)=>{o===r.length-1?l?n[e]=Array.isArray(l)?[...l,t]:[l,t]:n[e]=s&&a.includes(e)?[t]:t:(n[e]=i[e]?i[e]:{},n=n[e])}),o}}(A,window,document),M=new class extends i{constructor(e,t,i){super(e,t,i),this._createLightbox=this._createLightbox.bind(this),this.expandSliders=[]}initialize(e={}){try{let{document:e}=this,t=e.querySelectorAll(".has-mobile-expand");t.forEach(e=>{this._addExpandButton(e)}),this.expandSliders=this.expandSliders.concat(t)}catch(e){console.log(e)}}destroy(){let{document:e}=this;e.querySelectorAll(".lp-expand-btn, .lp-expand-btn-wrapper").forEach(e=>e.remove()),this.expandSliders=[]}_addExpandButton(e){let{document:t}=this,i=e.closest("section[id]"),s=e.dataset.append,r=i.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>',s){let e=i.querySelector(s);e&&e.appendChild(r)}else{let i=t.createElement("div");i.className="lp-expand-btn-wrapper",i.style.position="relative",i.appendChild(r),e.parentNode.insertBefore(i,e.nextSibling)}r.addEventListener("click",()=>{this._createLightbox({slider:e,section:i})})}_createLightbox({slider:e,section:t,initialIndex:i}){let{window:s,document:r}=this,a=`lightbox-for-${t?.id}`,o=s.$&&s.$.fn.slick,n=o&&e.slick,l="function"==typeof s.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=` 1494 <button class="lp-lightbox__close" aria-label="close modal"></button> 1495 <div class="lp-lightbox__content"> 1496 <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery"> 1497 <div class="splide__arrows"> 1498 <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button> 1499 <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button> 1500 </div> 1501 <div class="splide__track"> 1502 <ul class="splide__list"></ul> 1503 </div> 1504 </div> 1505 </div> 1506 `,"function"==typeof s.lpUI.requestScrollLock?s.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
1506h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=r.createElement("li");i.className="lp-lightbox__slide splide__slide",i.appendChild(t),n.appendChild(i)});let l=new s.Splide(o,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==i&&i>=0&&l.go(i),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let i=t.querySelector(".splide__arrow--prev"),s=t.querySelector(".splide__arrow--next"),r=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&i?(e.preventDefault(),i.click()):"ArrowRight"===e.key&&s?(e.preventDefault(),s.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 s.lpUI.releaseScrollLock?s.lpUI.releaseScrollLock(a):r.body.style.overflow="",t.remove()})}if("function"==typeof s.lpUI.requestScrollLock?s.lpUI.requestScrollLock(a):r.body.style.overflow="hidden",o&&!d){let t,i,o,l,d;i={arrows:!0,dots:!1,infinite:!0,draggable:!0,prevArrow:'<button type="button" class="lp-lightbox-arrow--prev lp-lightbox-arrow" aria-label="Previous"></button>',nextArrow:'<button type="button" class="lp-lightbox-arrow--next lp-lightbox-arrow" aria-label="Next"></button>'},(o=r.createElement("div")).id=a,o.className="lp-lightbox",o.setAttribute("tabindex","-1"),o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.innerHTML=` 1507 <button class="lp-lightbox__close" aria-label="close modal"></button> 1508 <div class="lp-lightbox__content"> 1509 <div class="lp-lightbox__carousel"></div> 1510 </div> 1511 `,r.body.appendChild(o),l=o.querySelector(".lp-lightbox__carousel"),o.classList.add("show"),n?(t=e.slick.$slides.find("img"),i.initialSlide=e.slick?.currentSlide||0,t.each(function(){s.$(".lp-lightbox__carousel").append(s.$(this).clone(!1).removeAttr("style").wrap('<div class="lp-lightbox__slide"></div>').parent())})):(t=e.querySelectorAll("img")).forEach(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=r.createElement("div");i.className="lp-lightbox__slide",i.appendChild(t),l.appendChild(i)}),s.$(l).slick(i),setTimeout(()=>{o.focus()},100),d=e=>{if(!o.classList.contains("show"))return;let t=o.querySelector(".lp-lightbox-arrow--prev"),i=o.querySelector(".lp-lightbox-arrow--next"),s=o.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&s&&(e.preventDefault(),s.click())},r.addEventListener("keydown",d),o.querySelector(".lp-lightbox__close").addEventListener("click",()=>{r.removeEventListener("keydown",d),o.classList.remove("show");let t=l?.slick?s.$(l).slick("slickCurrentSlide"):0;l?.slick&&s.$(l).slick("unslick"),n&&s.$(e).slick("slickGoTo",t),"function"==typeof s.lpUI.releaseScrollLock?s.lpUI.releaseScrollLock(a):r.body.style.overflow="",o.remove()})}else l?c():(s.luxuryPresence.libs.loadCss(s.luxuryPresence.libs.jsLibsMap.splide.cssSrc),s.luxuryPresence.libs.loadJs(s.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),s.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(A,window,document),P=new class extends i{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId:i,templateId:s,websiteId:r,pageId:a,shareId:o,pageMeta:n}=this.config;this.window.divolte.signal(e,Object.assign({companyId:i,templateId:s,websiteId:r,pageId:a,shareId:o,pageMeta:n},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(A,window,document),U=new class extends i{constructor(e,t,i){super(e,t,i)}initialize(e={}){(void 0!==e.enabled?e.enabled:this.config.eventBus?.enabled)&&this.config.eventBus?.apiKey&&this.config.eventBus?.url&&this.loadScript()}loadScript(){let{eventBusUrl:e}=this.config,t=this.document.createElement("script");t.id="posthog-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/v2.8.0/event-bus-js.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){this.window.LuxuryPresenceEventBus&&(this.window.eventBusProvider=this.window.LuxuryPresenceEventBus.createEventBusProvider({apiKey:this.config.eventBus.apiKey,host:this.config.eventBus.url,defaultSource:"frontend://website-render-engine"}
1511)),(this.window.eventBusLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.eventBusLp=this.eventBusLp.bind(this)}destroy(){if(!this.window.eventBusProvider){this.window.eventBusLp=function(){(this.window.eventBusLp.q=this.window.eventBusLp.q||[]).push(arguments)};return}this.window.eventBusProvider.shutdown()}sendLpEvent(e,t){if("user.activity.page.viewed"!==e)return void console.log(`${e} IS NOT SUPPORTED`);if(!this.window.eventBusProvider)return;let{companyId:i}=this.config;try{this.window.eventBusProvider.capture(e,{company:i,data:{}})}catch(e){console.log("EventBus capture error:",e)}}eventBusLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpPageView(){this.sendLpEvent("user.activity.page.viewed",{})}}(A,window,document),N=new class extends i{constructor(e,t,i){super(e,t,i),this.successListeners=[],this._listenToMessages=this._listenToMessages.bind(this),this._listenToOneTapMessage=this._listenToOneTapMessage.bind(this)}initialize(e={}){try{e.googleSignOnEnabled&&!e.iframe&&this._renderGoogleOneTap(),this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach(e=>this._convertGoogleSignIn(e)),this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach(e=>this._convertFacebookSignIn(e))}catch(e){console.log(e)}}destroy(){this.successListeners.forEach(e=>{this.window.removeEventListener("message",this._listenToMessages),this.window.removeEventListener("message",this._listenToOneTapMessage),this.window.removeEventListener(h,this.window[e])})}_renderGoogleOneTap(){if(!this._isGoogleOneTapOnCooldown()){let e=this.document.createElement("div");google.accounts.id.initializeIntermediate({src:this._buildUrlAndCopyAttributes(e,e,"googleOneTap")}),this.window.localStorage.removeItem("googleOneTapExpiration"),this.window.addEventListener("message",this._listenToOneTapMessage)}}_listenToOneTapMessage(e){let t="show_intermediate_iframe",{buyerSellerServiceUrl:i}=this.config,{data:s,origin:r}=e,{type:a,height:o,event:n,source:l,token:d}=s;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===i&&"GOOGLE_SIGN_ON"===l&&("success"===n?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===n&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let i=this.document.createElement("iframe");i.src=this._buildUrlAndCopyAttributes(t,i,e),i.dataset.isSocialOauthButton=!0,t.replaceWith(i)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(h);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,i){let{buyerSellerServiceUrl:s,companyId:r,websiteId:a,pageId:o,pageMeta:n}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${s}/buttons/${i}`),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"];
1511return Array.from(e.attributes).forEach(e=>{p.includes(e.nodeName)?c.searchParams.append(e.nodeName,e.nodeValue):t.setAttribute("id"===e.nodeName?"data-id":e.nodeName,e.nodeValue)}),c.toString()}_decodeToken(e){try{let t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),i=4-t.length%4,s=4===i?t:t+"=".repeat(i);return JSON.parse(atob(s))}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")}}}(A,window,document),R=new class extends i{constructor(e,t,i){super(e,t,i),this.showModal=this.showModal.bind(this),this.hasModalBeenSubmitted=this.hasModalBeenSubmitted.bind(this),this.modalId="qualifying-questions-modal",this.cookieKey="qualifyingQuestionsModalSubmitted",this.qualifyingQuestionsModalEnabled=!0,this.eventListeners=[],this.timeouts=[]}initialize(e={}){this.qualifyingQuestionsModalEnabled=e.qualifyingQuestionsModalEnabled??this.qualifyingQuestionsModalEnabled,this.qualifyingQuestionsModalEnabled&&this.attachModalCloseListeners()}destroy(){this.eventListeners.forEach(({element:e,event:t,handler:i})=>{e&&e.removeEventListener&&e.removeEventListener(t,i)}),this.timeouts.forEach(e=>{clearTimeout(e)}),this.restoreBodyScroll(),this.eventListeners=[],this.timeouts=[]}hasModalBeenSubmitted(){return"true"===this.getCookie(this.cookieKey)}setModalSubmittedCookie(){this.setCookie(this.cookieKey,"true",365)}showModal(e,t){!this.qualifyingQuestionsModalEnabled||this.hasModalBeenSubmitted()||(this.updateEmailValue(e),this.updateTriggerSourceValue(t),this.showModalElement())}getModalElement(){let e=this.document.getElementById(this.modalId);return e||console.error("Modal element not found:",this.modalId),e}updateEmailValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector('input[name="email"]');i&&"string"==typeof e&&(i.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector(`#${this.modalId}-triggerSource`);i&&"string"==typeof e&&(i.value=e)}showModalElement(){let e=this.getModalElement();e&&(e.style.display="flex",this.blockBodyScroll())}getCookie(e){let t=`; ${this.document.cookie}`.split(`; ${e}=`);return 2===t.length?decodeURIComponent(t.pop().split(";").shift()):null}setCookie(e,t,i){let s="";if(i){let e=new Date;e.setTime(e.getTime()+864e5*i),s=`; 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||"")}${s}${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 i=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",i),this.eventListeners.push({element:t,event:"formsubmitted",handler:i})}let i=e.querySelector('[data-dismiss="modal"]');if(i){let t=()=>{e.style.display="none",this.restoreBodyScroll()};i.addEventListener("click",t),this.eventListeners.push({element:i,event:"click",handler:t})}let s=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",s),this.eventListeners.push({element:e,event:"click",handler:s})}}(A,window,document),B=new class extends i{constructor(e,t,i){super(e,t,i),this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null,this.validationCacheDuration=3e5}destroy(){this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null}async validateSession(e={}){let{useCache:t=!0}=e;if(t&&null!==this.lastValidationResult&&this.lastValidationTime&&Date.now()-this.lastValidationTime<this.validationCacheDuration)return this.lastValidationResult;if(this.isValidating)return null!==this.lastValidationResult&&this.lastValidationResult;this.isValidating=!0;let i=` 1512 query { 1513 validSession { 1514 success 1515 } 1516 } 1517 `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:i})});if(!e.ok)return console.error("SessionController: HTTP error during session validation",e.status),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let t=await e.json();if(t.errors)return this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let s=t.data?.validSession?.success===!0;return this.lastValidationResult=s,this.lastValidationTime=Date.now(),s}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}}(A,window,document),O=new class extends i{constructor(e,t,i){super(e,t,i),this.consentListener=null,this.eventName=null}destroy(){this.consentListener&&this.eventName&&(this.document.removeEventListener(this.eventName,this.consentListener),this.consentListener=null)}loadScript(){this.document.getElementById("posthog-script")||this.window.luxuryPresence.eventBus.initialize({enabled:this.config.eventBus?.enabled}),this.document.getElementById("divolte-script")||this.window.luxuryPresence.divolte.initialize({})}removeScripts(){this.window.luxuryPresence?.eventBus?.destroy?.(),this.window.luxuryPresence?.divolte?.destroy?.(),this.document.getElementById("posthog-script")?.remove(),this.document.getElementById("divolte-script")?.remove()}async initialize(e={}){let t=p[e.provider];if(!t)return;this.eventName=t.eventName;let i=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||i)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(A,window,document),V=new class extends i{destroy(){}transformVariables(e,t){let i;return g(i={...t},["testimonialId"]),y(i,["testimonialId"],"testimonialIds"),0===i.limit&&delete i.limit,(void 0===i.limit||null===i.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(i.limit=50),("agents"===e||"agentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(i.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(i),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":g(e,["testimonialIds"]);break;case"agents":case"agentsCount":g(e,["officeId","teamId","developmentId","agentIds","tags"]),y(e,["officeId"],"officeIds"),y(e,["teamId"],"teamIds"),y(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":g(e,["neighborhoodIds","neighborhoodId"]),y(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":g(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),y(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":g(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1517spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>y(e,[t],t)),y(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),y(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),y(e,["networkId"],"networkId"),y(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":g(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),y(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":g(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),y(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":g(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),y(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":g(e,["officeId","officeIds","tags"]),y(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":g(e,["teamId","teamIds"]),y(e,["teamId"],"teamIds");break;case"pois":g(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(i,e),i}transformResponse(e,t){return"agent"===e?E(t,f):"agents"===e||"agentsCount"===e?I(t,w):"neighborhood"===e?E(t,v):"neighborhoods"===e||"neighborhoodsCount"===e?I(t,b):"development"===e?E(t,S):"developments"===e||"developmentsCount"===e?I(t,_):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}}(A,window,document);function D(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}D("config",A),D("modals",L),D("buttons",$),D("validation",x),D("contactForms",T),D("mapApiLoader",k),D("pagination",C),D("expandSliders",M),D("divolte",P),D("eventBus",U),D("oauth",N),D("qualifyingQuestionsModal",R),D("session",B),D("consent",O),D("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!t.hvStepTwoCaptureEnabled&&!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),D("routerApi",V),window.luxuryPresence.formatSliderPriceRange=C.formatSliderPriceRange.bind(C),window.luxuryPresence.formatSliderAreaRange=C.formatSliderAreaRange.bind(C),window.luxuryPresence.getSearchFormValues=C.getSearchFormValues.bind(C),window.luxuryPresence.handlebarsHelpersFactory=function(t){var i;return((i=e)&&i.__esModule?i.default:i)(t,{isEqual:(e,t)=>e==t})}})(); 1518//# sourceMappingURL=lp-sdk.js.map 1519 1520 </script>
1520 1521 1522
1522<script> 1523 var lpGlobalInitialized = false; 1524 1525 function lpGlobalInit () { 1526 if (lpGlobalInitialized) { 1527 return; 1528 } 1529 lpGlobalInitialized = true; 1530 // Initialize wow animation plugin only according to turbolinks 1531 var wow; 1532 if (window.WOW) { 1533 wow = new WOW({ 1534 animateClass: 'animated', 1535 offset: wowOffset, 1536 live: false, 1537 callback: function(box) {} 1538 }); 1539 } 1540 // Initialize handlebar helpers only once 1541 function handlebarsInit() { 1542 if (!window.Handlebars) { 1543 return; 1544 } 1545 HandlebarsIntl.registerWith(Handlebars); 1546 Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars)); 1547 } 1548 1549 handlebarsInit(); 1550 1551 var modalContentUrl = "/modals.html"; 1552 const modalsContainer = document.getElementById('modals'); 1553 if (modalsContainer) { 1554 fetch(modalContentUrl).then(function(res) { 1555 if (!res.ok) { 1556 throw new Error(`HTTP error! Status: ${res.status}`); 1557 } 1558 return res.text(); 1559 }).then(function(resultText) { 1560 modalsContainer.innerHTML = resultText; 1561 1562 // now we need to execute all script elements 1563 Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) { 1564 const script = document.createElement("script"); 1565 script.text = s.innerHTML; 1566 Array.from(s.attributes).forEach(function (a) { 1567 script.setAttribute(a.name, a.value); 1568 }) 1569 s.parentNode.replaceChild(script, s); 1570 }); 1571 1572 try { 1573 window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes); 1574 window.luxuryPresence.contactForms.initialize({ selector: '#modals' }); 1575 window.luxuryPresence.validation.initialize({ selector: '#modals' }); 1576 window.luxuryPresence.oauth.initialize({ 1577 googleSignOnEnabled: true, 1578 iframe: false }); 1579 } catch (e) { 1580 console.log(e); 1581 } 1582 document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => { 1583 closeModalBtn.addEventListener('click', function() { 1584 window.lpUI.hideClosestModal(closeModalBtn); 1585 }); 1586 }); 1587 }).catch((e) => console.log(e)); 1588 } 1589 /* Initialize Luxury Presence SDK */ 1590 try { 1591 window.luxuryPresence.config.setCompany("817f4011-f4b4-47d1-b1e5-da3f3491e0b9", {}); 1592 window.luxuryPresence.config.setWebsite("5c728087-4d53-4510-858f-5adde31cf971", { 1593 myhomeDashboardEnabled: false, 1594 mlsEnabled: true, 1595 hstValuationRedirectEnabled: true, 1596 hvStepTwoCaptureEnabled: false 1597 }); 1598 const url = new URL(window.location.href); 1599 const shareId = url.searchParams.get('shareId'); 1600 window.luxuryPresence.config.setPage("d7e58225-ad3d-4b78-b29c-37baaab7a50f", { 1601 sourceResource: "", 1602 pageElementId: "", 1603 pageQueryVariables: {}, 1604 shareId: "", 1605 }); 1606 window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {}); 1607 window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {}); 1608 window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {}); 1609 window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {}); 1610 window.luxuryPresence.config.setEventBus({ 1611 enabled: true, 1612 apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr", 1613 url: "https://p.luxurypresence.com", 1614 }); 1615 window.luxuryPresence.config.setTemplateId("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {}); 1616 window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {}); 1617 window.luxuryPresence.buttons.initialize({}); 1618 window.luxuryPresence.consent.initialize({ provider: 'lp-consent' }); 1619 window.luxuryPresence.contactForms.initialize({}); 1620 window.luxuryPresence.validation.initialize({}); 1621 window.luxuryPresence.expandSliders.initialize({}); 1622 window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false }); 1623 window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true }); 1624 } catch (e) { 1625 console.log(e); 1626 } 1627 1628 /* Inject Section Specific Javascript */ 1629 try { 1630(function init(sectionDomId) { 1631 const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content'); 1632 if (disclaimerLabel) { 1633 const input = disclaimerLabel.querySelector('input'); 1634 if (input) { 1635 input.setAttribute('id', `${sectionDomId}-termsAccepted`); 1636 input.value = 'true'; 1637 const label = document.createElement('label'); 1638 label.setAttribute('for', `${sectionDomId}-termsAccepted`); 1639 label.classList.add('lp-visually-hidden'); 1640 label.textContent = 'Opt in/Disclaimer Consent:'; 1641 disclaimerLabel.prepend(label); 1642 } 1643 } 1644 function setHttp(link) { 1645 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 1646 link = 'https://' + link; 1647 } 1648 return link; 1649 } 1650 const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link'); 1651 socialLinks.forEach(linkElement => { 1652 const href = linkElement.getAttribute('href'); 1653 if (href) { 1654 linkElement.setAttribute('href', setHttp(href)); 1655 } 1656 }); 1657 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 1658 if (redirectLink.length) { 1659 const rawHref = setHttp(redirectLink.attr('href')); 1660 let formEvent; 1661 if (rawHref) { 1662 formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset'; 1663 $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () { 1664 redirectLink.attr('href', rawHref); 1665 redirectLink[0].click(); 1666 }); 1667 } 1668 } 1669})('modal-global-contact-us'); 1670} catch(e) { 1671console.log(e); 1672} 1673 1674 try { 1675(function init(sectionDomId) { 1676 const $section = $('#' + sectionDomId); 1677 const $hamburger = $section.find('.hamburger-component'); 1678 function onSideMenuShow() { 1679 if (!$hamburger.hasClass('active')) { 1680 $hamburger.addClass('active'); 1681 } 1682 } 1683 function onSideMenuHide() { 1684 $hamburger.removeClass('active'); 1685 } 1686 const $window = $(window); 1687 $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow); 1688 $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide); 1689 const $subContainers = $section.find('.navigation__item.sub-nav-container'); 1690 $subContainers.hover(function () { 1691 $(this).find('.sub-nav').addClass('visible'); 1692 }, function () { 1693 $(this).find('.sub-nav').removeClass('visible'); 1694 }); 1695 $window.on('click.lpui-auto-clean', function () { 1696 $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown'); 1697 }); 1698 let fixedWidth = 0; 1699 const rightPad = 20; 1700 function fixSubsPosition() { 1701 const wWidth = window.innerWidth; 1702 if (innerWidth === fixedWidth) { 1703 return; 1704 } 1705 fixedWidth = wWidth; 1706 $subContainers.each(function () { 1707 const $sub = $(this).find('.sub-nav'); 1708 $sub[0].style.right = '';
1709 const sRect = $sub[0].getBoundingClientRect(); 1710 const sRight = sRect.left + sRect.width; 1711 if (sRight > wWidth - rightPad) { 1712 const parentRect = $sub[0].offsetParent.getBoundingClientRect(); 1713 const parentRight = parentRect.left + parentRect.width; 1714 $sub[0].style.right = `${parentRight - wWidth + rightPad}px`; 1715 } 1716 }); 1717 } 1718 var debouncer; 1719 $window.on('resize.lpui-auto-clean', function () { 1720 clearTimeout(debouncer); 1721 debouncer = setTimeout(fixSubsPosition, 500); 1722 }); 1723 fixSubsPosition(); 1724 if ($('.property-intro').length || $('.property-intro-2').length) { 1725 $('nav').addClass('dark-opening'); 1726 $("#global-navbar").css({ 1727 "background-color": "rgb(26, 26, 26)", 1728 "color": "rgb(255, 255, 255)" 1729 }); 1730 } 1731 function initAutoTruncateMenu() { 1732 const $navbar = $section.find('.navbar'); 1733 const $navList = $section.find('.navigation > ul'); 1734 if (!$navbar.length || !$navList.length) { 1735 return; 1736 } 1737 const $logo = $section.find('.logo'); 1738 const $buttonsWrapper = $section.find('.buttons-wrapper'); 1739 const $allItems = $navList.children('.navigation__item'); 1740 const $phoneItem = $allItems.filter(function () { 1741 return $(this).find('a[href^="tel:"]').length > 0; 1742 }); 1743 const $menuItems = $allItems.not($phoneItem); 1744 if (!$menuItems.length) { 1745 return; 1746 } 1747 const buffer = 8; 1748 function measureFixedWidth() { 1749 let width = buffer; 1750 if ($logo.length) { 1751 width += $logo.outerWidth(true) || 0; 1752 } 1753 if ($buttonsWrapper.length) { 1754 width += $buttonsWrapper.outerWidth(true) || 0; 1755 } 1756 if ($phoneItem.length) { 1757 width += $phoneItem.outerWidth(true) || 0; 1758 } 1759 return width; 1760 } 1761 function truncateMenu() { 1762 if (!$navList.is(':visible')) { 1763 return; 1764 } 1765 $menuItems.css('display', ''); 1766 const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth(); 1767 let widthSoFar = 0; 1768 let overflowed = false; 1769 $menuItems.each(function () { 1770 const $item = $(this); 1771 if (overflowed) { 1772 $item.css('display', 'none'); 1773 return; 1774 } 1775 widthSoFar += $item.outerWidth(true); 1776 if (widthSoFar > availableWidth) { 1777 $item.css('display', 'none'); 1778 overflowed = true; 1779 } 1780 }); 1781 } 1782 let truncateFrame; 1783 function scheduleTruncate() { 1784 if (truncateFrame) { 1785 return; 1786 } 1787 truncateFrame = window.requestAnimationFrame(function () { 1788 truncateFrame = null; 1789 truncateMenu(); 1790 }); 1791 } 1792 scheduleTruncate(); 1793 if (window.ResizeObserver) { 1794 const resizeObserver = new ResizeObserver(scheduleTruncate); 1795 resizeObserver.observe($navbar[0]); 1796 } else { 1797 $(window).on('resize.lpui-auto-truncate', scheduleTruncate); 1798 } 1799 $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate); 1800 $(window).on('load.lpui-auto-truncate', scheduleTruncate); 1801 if (document.fonts && document.fonts.ready) { 1802 document.fonts.ready.then(scheduleTruncate); 1803 } 1804 } 1805 initAutoTruncateMenu(); 1806})('global-navbar'); 1807} catch(e) { 1808console.log(e); 1809} 1810 try { 1811(function init(sectionDomId, options) { 1812 var elementSelector = options.elementSelector || 'nav'; 1813 var element = document.querySelector(elementSelector); 1814 var sections = document.querySelectorAll('body > section'); 1815 var subNavContainers = element.querySelectorAll('.sub-nav'); 1816 var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor; 1817 var backgroundColorScroll = options.backgroundColorScroll || '#191919'; 1818 var fontColor = options.fontColor || '#fff'; 1819 var fontColorScroll = options.fontColorScroll || '#000'; 1820 var didScroll = false; 1821 var lastScrollTop = 0; 1822 var delta = 5; 1823 1824 // eslint-disable-next-line sonarjs/no-collapsible-if 1825 if (wow) { 1826 // Wowjs might not trigger for position fixed elements 1827 if (window.scrollY > 0) { 1828 element.querySelectorAll('.wow').forEach(el => wow.show(el)); 1829 } 1830 } 1831 function adjustNavPinState() { 1832 // Remove 'visible' class from all subNavContainers 1833 for (let i = 0; i < subNavContainers.length; i++) { 1834 subNavContainers[i].classList.remove('visible'); 1835 } 1836 if (window.scrollY > 0) { 1837 element.style.backgroundColor = backgroundColorScroll; 1838 element.style.color = fontColorScroll; 1839 element.classList.add('scroll'); 1840 } else {
1841 element.style.backgroundColor = initialBackgroundColor; 1842 element.style.color = fontColor; 1843 element.classList.remove('scroll'); 1844 } 1845 } 1846 adjustNavPinState(); 1847 function onScroll() { 1848 didScroll = true; 1849 } 1850 window.addEventListener('scroll', onScroll); 1851 1852 // eslint-disable-next-line 1853 var debounceInterval = setInterval(() => { 1854 if (didScroll) { 1855 // eslint-disable-next-line 1856 hasScrolled(); 1857 didScroll = false; 1858 } 1859 }, 250); 1860 function hasScrolled() { 1861 adjustNavPinState(); 1862 // eslint-disable-next-line 1863 var navbarHeight = element.offsetHeight; 1864 // eslint-disable-next-line 1865 var st = window.scrollY; 1866 1867 // Make sure they scroll more than delta 1868 if (Math.abs(lastScrollTop - st) <= delta) { 1869 return; 1870 } 1871 if (st > lastScrollTop && st > navbarHeight) { 1872 // Scroll Down 1873 element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`; 1874 document.documentElement.style.setProperty('--global-header-height', '0px'); 1875 1876 // Some sections "follow" the navbar with class sticky (i.e. Producer search) 1877 sections.forEach(section => { 1878 if (section.classList.contains('sticky')) { 1879 section.style.top = '0px'; 1880 } 1881 }); 1882 } else { 1883 // Scroll Up 1884 // eslint-disable-next-line 1885 if (st + window.innerHeight < document.documentElement.scrollHeight) { 1886 element.style.transform = `translateY(0) scaleY(1)`; 1887 document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`); 1888 sections.forEach(section => { 1889 if (section.classList.contains('sticky')) { 1890 section.style.top = `${navbarHeight}px`; 1891 } 1892 }); 1893 } 1894 } 1895 lastScrollTop = st; 1896 } 1897})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}")); 1898} catch(e) { 1899console.log(e); 1900} 1901 try { 1902(function init(sectionDomId) { 1903 var sidemenu = $('#' + sectionDomId); 1904 sidemenu.on('lpui-sidemenu-show.lpui-auto-clean', function () { 1905 window.lpUI.requestScrollLock(sectionDomId); 1906 }); 1907 $(window).on('lpui-sidemenu-hide.lpui-auto-clean', function () { 1908 window.lpUI.releaseScrollLock(sectionDomId); 1909 }); 1910 $(window).click(function (e) { 1911 let targetContactForm = $(e.target).closest('#modal-global-contact-us').length; 1912 let targetSideMenu = $(e.target).closest('.sidemenu').length; 1913 let targetContactItem = $(e.target).closest('[data-type="CONTACT_US"]').length; 1914 let targetHamburger = $(e.target).closest('.hamburger-component').length; 1915 if (!(targetContactForm || targetSideMenu || targetContactItem || targetHamburger)) { 1916 $('body').removeClass('locked'); 1917 $('.hamburger').removeClass('active'); 1918 $('.sidemenu').removeClass('visible'); 1919 $('#modal-global-contact-us').removeClass('visible'); 1920 } 1921 }); 1922})('global-sidemenu'); 1923} catch(e) { 1924console.log(e); 1925} 1926 1927 try { 1928(function init(footerId) { 1929 var textContent = $(".text_content_wrap p").text().trim().length; 1930 const socialLinks = $(`#${footerId} .lp-socials__link`); 1931 if (textContent < 1) { 1932 $(".text_content_wrap").remove(); 1933 $(".second_text_footer").css({ 1934 'margin-bottom': 0 1935 }); 1936 } 1937 if (socialLinks.length > 0) { 1938 socialLinks.attr('data-wow-offset', '10'); 1939 } 1940 if ($(window).width() > 1280) { 1941 let footer = document.querySelector("#" + footerId); 1942 let copyrightElem = footer.querySelector(".copy_zone"); 1943 if (copyrightElem) { 1944 copyrightElem.style.whiteSpace = "nowrap"; 1945 let nowrapElemWidth = copyrightElem.clientWidth; 1946 copyrightElem.style.whiteSpace = ""; 1947 let normalElemWidth = copyrightElem.clientWidth; 1948 if (nowrapElemWidth > normalElemWidth) { 1949 footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto"); 1950 } 1951 } 1952 } 1953 const form = $("#" + footerId).find("form"); 1954 const redirectLink = $('#' + footerId + ' .redirect-link'); 1955 form.on("reset", function () { 1956 redirectPage(redirectLink); 1957 }); 1958 function redirectPage(link) { 1959 if (link.length) { 1960 const rawHref = link.attr('href'); 1961 link.attr('href', setHttp(rawHref)); 1962 link[0].click(); 1963 } 1964 } 1965 function setHttp(link) { 1966 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 1967 link = 'http://' + link; 1968 } 1969 return link; 1970 } 1971})('global-footer'); 1972} catch(e) { 1973console.log(e); 1974} 1975 1976 try { 1977(function init(sectionDomId) { 1978 var _section = $('#' + sectionDomId); 1979 var _footer = document.getElementById('global-footer'); 1980 const redirectLink = _section.find('.js-redirect-link'); 1981 function setHttp(link) { 1982 if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) { 1983 link = 'https://' + link; 1984 } 1985 return link; 1986 } 1987 function redirectPage(link) { 1988 if (link.length) { 1989 window.location.href = setHttp(link.attr('href')); 1990 } 1991 } 1992 const emailInput = _section.find('.js-email-input'); 1993 const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/; 1994 emailInput.on('input', function () { 1995 if (emailRegex.test(this.value)) { 1996 this.setCustomValidity(''); 1997 } else { 1998 this.setCustomValidity('Please enter a valid email address.'); 1999 } 2000 this.reportValidity(); 2001 }); 2002 _section.find('input[name="name"]').on("keyup", function () { 2003 if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") { 2004 this.setCustomValidity("Please input your first name and last name."); 2005 } else { 2006 this.setCustomValidity(""); 2007 } 2008 }); 2009 _section.find('form').on("reset", function () { 2010 $(this).addClass("show-success"); 2011 redirectPage(redirectLink); 2012 }); 2013 $(window).scroll(function () { 2014 if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible'); 2015 }); 2016 _section.find('.close-btn, .connect-btn').click(function () { 2017 _section.find('.pop-up').toggle(); 2018 _section.find('.btn-holder').toggle(); 2019 }); 2020 if (!_footer) return; 2021 const observer = new IntersectionObserver(entries => {
2022 entries.forEach(entry => { 2023 if (entry.isIntersecting) _section.hide();else _section.show(); 2024 }); 2025 }, { 2026 threshold: 0.1 2027 }); 2028 observer.observe(_footer); 2029 function selectToDropdown(selectItem) { 2030 let customDropdown = ` 2031 <div class="custom-select" role="presentation"> 2032 <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button> 2033 <div class="custom-select-menu" style="display: none;max-height: none;"> 2034 <div class="custom-select-content"> 2035 </div> 2036 </div> 2037 </div>`; 2038 $(customDropdown).insertAfter(selectItem); 2039 let $dropdown = $($(selectItem).next()); 2040 let $dropdownToggle = $dropdown.find(".custom-select-toggle"); 2041 let $dropdownMenu = $dropdown.find(".custom-select-menu"); 2042 let $dropdownContent = $dropdown.find(".custom-select-content"); 2043 $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select"); 2044 $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom"); 2045 $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id")); 2046 appendOptionButtons(selectItem, $dropdownContent); 2047 $(selectItem).removeClass().addClass("sr-only"); 2048 var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text(); 2049 $dropdownToggle.html(toggleText); 2050 $dropdown.on("click", ".custom-select-item", function (e) { 2051 if ($(this).hasClass("is-disabled")) return; 2052 let elementNumber = $(this).index(); 2053 let $originalSelect = $(this).closest(".custom-select").siblings("select"); 2054 let $linkedOption = $originalSelect.find("option").eq(elementNumber); 2055 if (!$linkedOption.prop("selected")) { 2056 $linkedOption.prop("selected", true); 2057 $originalSelect.change(); 2058 $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected"); 2059 $dropdownToggle.html($(this).html()); 2060 closeSelectMenu($(this).closest(".custom-select-menu")); 2061 } 2062 $dropdownToggle.removeClass("is-placeholder"); 2063 }); 2064 function convertOptionToButton(option) { 2065 var optionText = $(option).text(); 2066 var optionValue = $(option).attr("value") || $(option).text(); 2067 var optionIsDisabled = $(option).prop("disabled"); 2068 var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`; 2069 return outputButton; 2070 } 2071 function appendOptionButtons(selectItem, appendTarget) { 2072 $(selectItem).find("option").each(function () { 2073 let currentButton = convertOptionToButton(this); 2074 $(appendTarget).append(currentButton); 2075 }); 2076 } 2077 function showSelectMenu(selectMenu) { 2078 var customSelect = $(selectMenu).closest(".custom-select")[0]; 2079 $(customSelect).addClass("open"); 2080 $(selectMenu).slideDown(); 2081 } 2082 function closeSelectMenu(selectMenu) { 2083 var customSelect = $(selectMenu).closest(".custom-select")[0]; 2084 $(customSelect).removeClass("open"); 2085 $(selectMenu).slideUp(); 2086 } 2087 $dropdown.on("click", ".custom-select-toggle", function (e) { 2088 var $customSelect = $(this).closest(".custom-select"); 2089 var selectMenu = $customSelect.find(".custom-select-menu")[0]; 2090 if ($customSelect.hasClass("open")) { 2091 closeSelectMenu(selectMenu); 2092 } else { 2093 showSelectMenu(selectMenu); 2094 } 2095 }); 2096 $(document).on("click", function (e) { 2097 if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) { 2098 $(".custom-select.open").each(function () { 2099 var selectMenu = $(this).find(".custom-select-menu")[0]; 2100 closeSelectMenu(selectMenu); 2101 }); 2102 } 2103 }); 2104 } 2105 $(".pop-up select[name='interest']").each(function () { 2106 selectToDropdown(this); 2107 }); 2108})('global-mobile-contact'); 2109} catch(e) { 2110console.log(e); 2111} 2112 2113 try { 2114(function init(sectionDomId) { 2115 const $section = $('#' + sectionDomId); 2116 const $form = $section.find('.custom-form__download-form'); 2117 const redirectLink = $section.find('.js-redirect-link'); 2118 function redirectPage(link) { 2119 if (link.length) { 2120 const rawHref = link.attr('href'); 2121 link.attr('href', setHttp(rawHref)); 2122 link[0].click(); 2123 } 2124 } 2125 function setHttp(link) { 2126 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 2127 link = 'https://' + link; 2128 } 2129 return link; 2130 } 2131 $form.on('reset', function () { 2132 redirectPage(redirectLink); 2133 }); 2134 var backupEmailField = $section.find('.js-backup-email'); 2135 if (backupEmailField) { 2136 var dynEmailField = $section.find('input.js-form-element[name="email"]:not(.js-backup-field)'); 2137 if (dynEmailField.length === 0) { 2138 backupEmailField.removeClass('js-backup-email'); 2139 } else { 2140 backupEmailField.remove(); 2141 } 2142 } 2143 var $allElements = $section.find('.js-form-element'); 2144 const putAllInMessage = false;
2145 var hasCustomFields = false; 2146 const standardFields = { 2147 'name': true, 2148 'email': true, 2149 'phone': true, 2150 'message': true, 2151 'interest': true 2152 }; 2153 const busyFormNames = { 2154 'address': true, 2155 'city': true, 2156 'state': true, 2157 'postalCode': true, 2158 'mlsId': true, 2159 'sourceUrl': true 2160 }; 2161 $allElements.each(function () { 2162 var $el = $(this); 2163 var name = this.hasAttribute('data-name') ? $el.attr('data-name') : $el.attr('name'); 2164 if (!name) { 2165 return; 2166 } 2167 if (!standardFields[name]) { 2168 hasCustomFields = true; 2169 } 2170 let newName = /[^a-z\d-_]/.test(name) ? name.trim().toLowerCase().replace(/[^a-z\d-_]/g, '-') : name; 2171 if (!/^[a-z]/.test(newName)) { 2172 newName = 'fld-' + newName; 2173 } 2174 if (busyFormNames[newName]) { 2175 let idx = 1; 2176 while (busyFormNames[`${newName}-${idx}`] && idx < 100) { 2177 idx++; 2178 } 2179 newName = `${newName}-${idx}`; 2180 } 2181 busyFormNames[newName] = $el; 2182 if (name !== newName) { 2183 $el.attr('name', newName); 2184 } 2185 }); 2186 let $customFields = []; 2187 if (putAllInMessage && hasCustomFields) { 2188 $allElements.each(function () { 2189 var name = this.getAttribute('name'); 2190 if (name && (!standardFields[name] || name === 'message' && !$(this).hasClass('js-composed-message'))) { 2191 this.setAttribute('data-name', name); 2192 this.removeAttribute('name'); 2193 } 2194 if (this.hasAttribute('data-name')) { 2195 $customFields.push($(this)); 2196 } 2197 }); 2198 if (!$form[0].elements['message']) { 2199 $('<input type="hidden" name="message" class="js-composed-message" value="">').appendTo($form); 2200 } 2201 } 2202 $selects = $section.find('select.js-select'); 2203 var $checkboxGroups = $section.find('.js-checkboxes-group'); 2204 if ($checkboxGroups.length) { 2205 $checkboxGroups.each(function () { 2206 var $group = $(this); 2207 if (!$group.data('required')) return; 2208 var $checkboxes = $group.find('.js-multi-checkbox'); 2209 function updateValidity() { 2210 var anyChecked = $group.find('.js-multi-checkbox:checked').length > 0; 2211 $checkboxes.each(function () { 2212 this.setCustomValidity(anyChecked ? '' : 'Please select at least one option.'); 2213 }); 2214 } 2215 updateValidity(); 2216 $checkboxes.on('change', updateValidity); 2217 }); 2218 $form.on('submit', function () { 2219 $checkboxGroups.each(function () { 2220 var $group = $(this); 2221 var name = $group.data('name'); 2222 if (!name) return; 2223 var checked = $group.find('.js-multi-checkbox:checked').map(function () { 2224 return this.value; 2225 }).get().join(', '); 2226 $form.find('input[type="hidden"][data-checkbox-group="' + name + '"]').remove(); 2227 $('<input type="hidden">').attr('name', name).val(checked).attr('data-checkbox-group', name).appendTo($form); 2228 var $groupCheckboxes = $group.find('.js-multi-checkbox'); 2229 $groupCheckboxes.prop('disabled', true); 2230 setTimeout(function () { 2231 $groupCheckboxes.prop('disabled', false); 2232 }, 0); 2233 }); 2234 }); 2235 } 2236 let selectsInitialized = false; 2237 function initializeSelects() { 2238 if (selectsInitialized) { 2239 return; 2240 } 2241 selectsInitialized = true; 2242 $selects.each(function () { 2243 if (this.id) { 2244 $label = $section.find('[for="' + this.id + '"]'); 2245 if ($label.length) { 2246 var rect = $label[0].getBoundingClientRect(); 2247 if (rect && rect.width < 30) { 2248 var firstOption = $(this).find('option').first(); 2249 firstOption.attr('label', firstOption.data('label')); 2250 } 2251 } 2252 $gr = $(this).closest('.lp-input-group'); 2253 var b = $gr.css('border-left-width'); 2254 if (b && b !== '0px') { 2255 $gr[0].style.setProperty('--uf-border-left', b); 2256 } 2257 b = $gr.css('border-right-width'); 2258 if (b && b !== '0px') { 2259 $gr[0].style.setProperty('--uf-border-right', b); 2260 } 2261 } 2262 }); 2263 var csPrefix = 'uf-cus-sel'; 2264 function convertSelectToDropdown(selectItem) { 2265 const $selectItem = $(selectItem); 2266 const selectId = $selectItem.attr('id'); 2267 const id = $selectItem.attr('id') + '-custom-select'; 2268 let $dropdown = $selectItem.next(); 2269 let initialized = true; 2270 if ($dropdown.attr('id') !== id) { 2271 $selectItem.addClass("sr-only"); 2272 initialized = false;
2273 let customDropdown = ` 2274 <div class="${csPrefix}" role="presentation"> 2275 <button class="${csPrefix}-toggle" type="button" aria-haspopup="true" aria-expanded="false"></button> 2276 <div class="${csPrefix}-menu"> 2277 <div class="${csPrefix}-content"> 2278 </div> 2279 </div> 2280 </div>`; 2281 $(customDropdown).insertAfter(selectItem); 2282 $dropdown = $selectItem.next(); 2283 $dropdown.attr('id', id); 2284 } 2285 let $dropdownToggle = $dropdown.find('.' + csPrefix + '-toggle'); 2286 let $dropdownMenu = $dropdown.find('.' + csPrefix + '-menu'); 2287 let $dropdownContent = $dropdown.find('.' + csPrefix + '-content'); 2288 if (!initialized) { 2289 $dropdownToggle.addClass($selectItem.attr("class")).removeClass(['dropdown-select', 'js-select', 'js-form-element', 'sr-only']); 2290 $dropdownToggle.attr("id", id + '-toggle'); 2291 $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id")); 2292 appendOptionButtons(selectItem, $dropdownContent); 2293 } 2294 $selectItem.on("focus", function () { 2295 showSelectMenu($dropdownMenu[0]); 2296 $dropdownToggle.focus(); 2297 }); 2298 function setInitialValue() { 2299 $dropdownMenu.find('.' + csPrefix + '-item').removeClass('is-selected'); 2300 var $selectedOption = $selectItem.find(':selected').first(); 2301 if (!$selectedOption.length) { 2302 $selectedOption = $selectItem.children().first(); 2303 } 2304 var defaultText = ' '; 2305 var isPlaceholder = true; 2306 if ($selectedOption.length) { 2307 defaultText = ($selectedOption[0].hasAttribute('label') ? $selectedOption.attr('label') : $selectedOption.text()) || ' '; 2308 isPlaceholder = !!$selectedOption.prop("disabled"); 2309 } 2310 $dropdownToggle.html(defaultText); 2311 if (isPlaceholder) { 2312 $dropdownToggle.addClass('is-placeholder'); 2313 } 2314 } 2315 setInitialValue(); 2316 $dropdown.on("click", '.' + csPrefix + '-item', function (e) { 2317 const $button = $(this); 2318 if ($button.hasClass("is-disabled")) return; 2319 let elementNumber = $button.index(); 2320 let $linkedOption = $selectItem.find("option").eq(elementNumber); 2321 if (!$linkedOption.prop("selected")) { 2322 $linkedOption.prop("selected", true); 2323 $selectItem.change(); 2324 $button.addClass("is-selected").siblings('.' + csPrefix + '-item').removeClass("is-selected"); 2325 $dropdownToggle.removeClass("is-placeholder").html($button.html()); 2326 closeSelectMenu($button.closest('.' + csPrefix + '-menu')); 2327 } 2328 }); 2329 $(selectItem.form).on('reset', function () { 2330 setTimeout(function () { 2331 setInitialValue(); 2332 }); 2333 }); 2334 function convertOptionToButton(option) { 2335 const $option = $(option); 2336 var optionText = $option.text(); 2337 var optionValue = $option.attr("value"); 2338 var optionIsDisabled = $option.prop("disabled"); 2339 var outputButton = `<button value="${optionValue}" class="${csPrefix}-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`; 2340 return outputButton; 2341 } 2342 function appendOptionButtons(selectItem, appendTarget) { 2343 const $appendTarget = $(appendTarget); 2344 $(selectItem).find("option").each(function () { 2345 let currentButton = convertOptionToButton(this); 2346 $appendTarget.append(currentButton); 2347 }); 2348 } 2349 function showSelectMenu(selectMenu) { 2350 var $customSelect = $(selectMenu).closest('.' + csPrefix); 2351 $customSelect.addClass("open"); 2352 $(selectMenu).slideDown(); 2353 } 2354 function closeSelectMenu(selectMenu) { 2355 var $customSelect = $(selectMenu).closest('.' + csPrefix); 2356 $customSelect.removeClass("open"); 2357 $(selectMenu).slideUp(); 2358 } 2359 $dropdown.on("click", '.' + csPrefix + '-toggle', function (e) { 2360 var $customSelect = $(this).closest('.' + csPrefix); 2361 var selectMenu = $customSelect.find('.' + csPrefix + '-menu')[0]; 2362 if ($customSelect.hasClass("open")) { 2363 closeSelectMenu(selectMenu); 2364 } else { 2365 showSelectMenu(selectMenu); 2366 } 2367 }); 2368 $(document.body).on("click", function (e) { 2369 var $closestCustomSelect = $(e.target).closest('.lp-input-group').find('.' + csPrefix); 2370 $section.find('.' + csPrefix + '.open').not($closestCustomSelect).each(function () { 2371 closeSelectMenu($(this).find('.' + csPrefix + '-menu')[0]); 2372 }); 2373 }); 2374 } 2375 $selects.each(function () { 2376 convertSelectToDropdown(this); 2377 }); 2378 if (putAllInMessage && hasCustomFields) { 2379 $allElements.on('change', function () { 2380 if (!this.hasAttribute('data-name')) { 2381 return; 2382 } 2383 var message = ''; 2384 var customMessages = []; 2385 $customFields.forEach(function ($el) { 2386 var value = $el.val(); 2387 if (!value) { 2388 return; 2389 } 2390 if ($el.attr('data-name') === 'message') { 2391 message = value; 2392 return; 2393 } 2394 var label = $section.find(`label[for='${$el[0].id}']`).text(); 2395 customMessages.push(label + ': ' + ($el[0].tagName === 'TEXTAREA' ? '\n' : '') + value); 2396 }); 2397 if (customMessages.length) { 2398 if (message) { 2399 customMessages.push('Message: \n' + message); 2400 } 2401 $form[0].elements['message'].value = customMessages.join('\n'); 2402 } else { 2403 $form[0].elements['message'].value = message; 2404 } 2405 }); 2406 } 2407 } 2408 function initModalColors() { 2409 try { 2410 if (!$section.css('--bgColor')) { 2411 var colorStr = $section.css('background-color'); 2412 var bgColor = makeColor(colorStr); 2413 var isDark = (bgColor.rgba.r * 299 + bgColor.rgba.g * 587 + bgColor.rgba.b * 114) / 1000 < 128; 2414 $section[0].style.setProperty('--bgColor', colorStr); 2415 $section[0].style.setProperty('--bgColor_H', bgColor.hsla.h + 'deg'); 2416 $section[0].style.setProperty('--bgColor_S', bgColor.hsla.s + '%'); 2417 $section[0].style.setProperty('--bgColor_L', bgColor.hsla.l + '%'); 2418 $section[0].style.setProperty('--bgColor_A', bgColor.hsla.a); 2419 $section[0].style.setProperty('--bgColor_darkenDir', isDark ? 1 : -1); 2420 $section.addClass('is-background-color-' + (isDark ? 'dark' : 'light')); 2421 } 2422 } catch (e) {} 2423 } 2424 function makeColor(str) { 2425 var color = { 2426 rgba: { 2427 r: 0, 2428 g: 0, 2429 b: 0, 2430 a: 0 2431 } 2432 }; 2433 if (str && str.match) { 2434 var m = str.match(/rgba?\s*\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*([\.0-9]+))?\)/); 2435 if (m) { 2436 color.rgba.r = parseInt(m[1]); 2437 color.rgba.g = parseInt(m[2]); 2438 color.rgba.b = parseInt(m[3]); 2439 color.rgba.a = parseFloat(m[4]); 2440 if (isNaN(color.rgba.a)) { 2441 color.rgba.a = 1; 2442 } 2443 } 2444 } 2445 color.hsla = makeHSLA(color.rgba); 2446 return color; 2447 } 2448 function makeHSLA(rgba) { 2449 var r = rgba.r / 255, 2450 g = rgba.g / 255, 2451 b = rgba.b / 255, 2452 a = rgba.a; 2453 var min = Math.min(r, g, b), 2454 max = Math.max(r, g, b), 2455 l = (max + min) / 2, 2456 d = max - min, 2457 h, 2458 s; 2459 switch (max) { 2460 case min: 2461 h = 0; 2462 break; 2463 case r: 2464 h = 60 * (g - b) / d; 2465 break; 2466 case g: 2467 h = 60 * (b - r) / d + 120; 2468 break; 2469 case b: 2470 h = 60 * (r - g) / d + 240; 2471 break; 2472 } 2473 if (max == min) { 2474 s = 0; 2475 } else if (l < .5) { 2476 s = d / (2 * l); 2477 } else { 2478 s = d / (2 - 2 * l); 2479 } 2480 s *= 100; 2481 l *= 100; 2482 return { 2483 h: h, 2484 s: s, 2485 l: l, 2486 a: a 2487 }; 2488 } 2489 if ($section.is('.modal')) { 2490 initModalColors(); 2491 $section.on('lpui-show', function () { 2492 window.lpUI.requestScrollLock(sectionDomId); 2493 }); 2494 $section.on('lpui-hide', function () { 2495 window.lpUI.releaseScrollLock(sectionDomId); 2496 }); 2497 } 2498 initializeSelects(); 2499 var $addressInputs = $section.find('.js-address-autocomplete'); 2500 if ($addressInputs.length && window.luxuryPresence && window.luxuryPresence.mapApiLoader) { 2501 window.luxuryPresence.mapApiLoader.load().then(function () { 2502 var autocompleteOptions = { 2503 types: ['geocode'], 2504 fields: ['formatted_address'] 2505 }; 2506 $addressInputs.each(function () { 2507 var input = this; 2508 var autocomplete = new google.maps.places.Autocomplete(input, autocompleteOptions); 2509 autocomplete.addListener('place_changed', function () { 2510 var place = autocomplete.getPlace(); 2511 if (place && place.formatted_address) { 2512 input.value = place.formatted_address; 2513 } 2514 }); 2515 }); 2516 }); 2517 } 2518})('section-9b183d11-3724-4733-99a4-435e7538fc4c', 'undefined'); 2519} catch(e) { 2520console.log(e); 2521} 2522 try { 2523(function init(sectionDomId) {})('section-2d470acb-c868-43f0-8382-0aac73cb8b3f', 'undefined'); 2524} catch(e) { 2525console.log(e); 2526} 2527 try { 2528(function init(sectionDomId, options) { 2529 let section = null; 2530 switch (sectionDomId) { 2531 case 'NAVBAR': 2532 section = document.querySelector('body > nav, #global-navbar'); 2533 break; 2534 case 'FOOTER': 2535 section = document.querySelector('body > footer, #global-footer'); 2536 break; 2537 case 'SIDEMENU': 2538 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 2539 break; 2540 case 'CONTACT':
2541 section = document.querySelector('#modal-global-contact-us'); 2542 break; 2543 case 'MOBILE_CONTACT': 2544 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 2545 break; 2546 case 'SUBSCRIBE': 2547 // Subscribe Not Implemented 2548 section = null; 2549 break; 2550 case 'ACCOUNT': 2551 // Account Not Implemented 2552 section = null; 2553 break; 2554 default: 2555 section = document.querySelector('#' + sectionDomId); 2556 } 2557 if (!section) { 2558 return; 2559 } 2560 var url = window.luxuryPresence.defaults.routerUrl; 2561 var companyId = window.luxuryPresence.defaults.companyId; 2562 var limit = options.limit || 8; 2563 if (typeof limit === 'string') { 2564 limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected 2565 } 2566 var templateSelector = options.templateSelector || '.jsIGTemplate'; 2567 var containerSelector = options.containerSelector || '.jsIGContainer'; 2568 var hasDataClass = options.hasDataClass || 'has-data'; 2569 var hideActivateMessage = options.hasDataClass || false; 2570 var payload = { 2571 companyId: companyId, 2572 limit: limit 2573 }; 2574 if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) { 2575 payload.resourceId = options.resourceId; 2576 // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase 2577 payload.resource = String(options.resource || 'agent').toUpperCase(); 2578 payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true; 2579 } 2580 var query = 'query InstagramFeed (\n' + ' $companyId: ID!\n' + ' $instagramAuthorizationId: ID\n' + ' $username: String\n' + (payload.resourceId ? '$resource: InstagramContentAuthResourceEnum\n $resourceId: ID\n $fallbackToNoResource: Boolean' : '') + ' $limit: Int\n' + ') {\n' + ' instagramContentFeed (\n' + ' companyId: $companyId\n' + ' instagramAuthorizationId: $instagramAuthorizationId\n' + ' username: $username\n' + (payload.resourceId ? 'resource: $resource\n resourceId: $resourceId\n fallbackToNoResource: $fallbackToNoResource' : '') + ' limit: $limit\n' + ' ) {\n' + ' active\n' + ' feedUrl\n' + ' username\n' + ' items {\n' + ' id\n' + ' caption\n' + ' commentsCount\n' + ' likeCount\n' + ' mediaType\n' + ' mediaUrl\n' + ' permalink\n' + ' shortcode\n' + ' thumbnailUrl\n' + ' timestamp\n' + ' username\n' + ' }\n' + ' }\n' + '}\n'; 2581 var templateHTML = section.querySelector(templateSelector)?.innerHTML || ''; 2582 var template = Handlebars.compile(templateHTML); 2583 var container = section.querySelector(containerSelector); 2584 if (options.variables) { 2585 Object.keys(options.variables).forEach(function (key) { 2586 if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) { 2587 payload[key] = options.variables[key]; 2588 } 2589 }); 2590 } 2591 function getData() { 2592 var feed = { 2593 error: true 2594 }; 2595 if (payload.companyId == null || payload.companyId === '') { 2596 // instagramContentFeed requires companyId (ID!) â nothing to fetch without it. 2597 // Checked after the options.variables merge, which may override the default. 2598 // Deferred so element listeners (attached after this template runs) still receive it. 2599 setTimeout(function () { 2600 section.dispatchEvent(new CustomEvent('ig-data', { 2601 detail: feed 2602 })); 2603 }, 0); 2604 return; 2605 } 2606 superagent.post(url + '/graphql').send({ 2607 query: query, 2608 variables: payload 2609 }).then(res => { 2610 try { 2611 if (!res.body.errors) { 2612 feed = res.body.data.instagramContentFeed; 2613 if (!feed.active) { 2614 if (!hideActivateMessage && sectionDomId === 'section-temp' && container) { 2615 if (payload.resourceId) { 2616 container.innerHTML = '<div style="text-align: center">Instagram account is not connected to selected ' + payload.resource + '.<br /> Connect it on the ' + payload.resource + ' page</div>'; 2617 } else { 2618 container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>'; 2619 } 2620 } 2621 } else { 2622 if (feed.items.length) { 2623 if (hasDataClass) { 2624 section.classList.add(hasDataClass); 2625 } 2626 const feedName = feed.username; 2627 section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl)); 2628 section.querySelectorAll('.jsIGName').forEach(name => { 2629 name.textContent = '@' + feedName; 2630 name.setAttribute('title', '@' + feedName); 2631 }); 2632 if (container && template) { 2633 container.innerHTML = template(feed); 2634 } 2635 } 2636 } 2637 } 2638 } catch (e) {} 2639 section.dispatchEvent(new CustomEvent('ig-data', { 2640 detail: feed 2641 })); 2642 }).catch(e => { 2643 console.log('err', e); 2644 section.dispatchEvent(new CustomEvent('ig-data', { 2645 detail: feed 2646 })); 2647 }); 2648 } 2649 getData(); 2650})('section-478ee3db-6cff-4cb3-a1f0-1850c758d2de', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"817f4011-f4b4-47d1-b1e5-da3f3491e0b9\",\"usePageResource\":false,\"sectionIndex\":4,\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 2651} catch(e) { 2652console.log(e); 2653} 2654 try { 2655(function init(sectionDomId) { 2656 const $section = $('#' + sectionDomId); 2657 var templateHTML = $section.find('.jsIGItem').html(); 2658 var itemTemplate = templateHTML && Handlebars.compile(templateHTML); 2659 const $container = $section.find('.ig-feed-feed'); 2660 const $topPrev = $section.find('.top-nav-prev'); 2661 const $topNext = $section.find('.top-nav-next'); 2662 const $bottomPrev = $section.find('.bottom-nav-prev'); 2663 const $bottomNext = $section.find('.bottom-nav-next'); 2664 let limit = 33; 2665 try { 2666 limit = parseInt($container[0].dataset['limit']); 2667 } catch (e) {} 2668 if (!limit) { 2669 limit = 33; 2670 } 2671 let igFeed = {}; 2672 let usedWidth = 0; 2673 let slider = null; 2674 $section.on('ig-data', function (ev, feed) { 2675 feed = ev.detail || feed; 2676 igFeed = feed; 2677 if (feed.active && feed.items.length) { 2678 buildSlider(); 2679 } 2680 }); 2681 $(window).on('resize.lpui-auto-clean', onResize); 2682 let timer = null; 2683 function onResize() { 2684 clearTimeout(timer); 2685 timer = window.setTimeout(buildSlider, 50); 2686 } 2687 function getLayout(w, n) { 2688 if (w > 1100) { 2689 if (n > 7) { 2690 return { 2691 type: 'type1', 2692 single: 1, 2693 multi: n, 2694 slides: 3, 2695 slider: n > 9 2696 }; 2697 } 2698 if (n > 5) { 2699 return { 2700 type: 'type1', 2701 single: 2, 2702 multi: n, 2703 slides: 3, 2704 slider: false 2705 }; 2706 } 2707 return { 2708 type: 'type1', 2709 single: n, 2710 multi: n, 2711 slides: 3, 2712 slider: n > 3 2713 }; 2714 } else if (w > 880) { 2715 if (n > 4) { 2716 return { 2717 type: 'type2', 2718 single: 1, 2719 multi: n, 2720 slides: 2.5, 2721 slider: n > 7 2722 }; 2723 } 2724 return { 2725 type: 'type1', 2726 single: n, 2727 multi: n, 2728 slides: 3, 2729 slider: n > 3 2730 }; 2731 } else if (w > 767) { 2732 if (n > 4) { 2733 return { 2734 type: 'type3', 2735 single: 1, 2736 multi: n, 2737 slides: 2, 2738 slider: n > 5 2739 }; 2740 } 2741 return { 2742 type: 'type4', 2743 single: n, 2744 multi: n, 2745 slides: 2, 2746 slider: n > 2 2747 }; 2748 } else if (w > 460) { 2749 return { 2750 type: 'type4', 2751 single: n, 2752 multi: n, 2753 slides: 2, 2754 slider: n > 2 2755 }; 2756 } 2757 return { 2758 type: 'type5', 2759 single: n, 2760 multi: n, 2761 slides: 1, 2762 slider: n > 1 2763 }; 2764 } 2765 function ensureClass($el, className) { 2766 if ($el.hasClass(className)) { 2767 return; 2768 } 2769 $el.addClass(className); 2770 } 2771 function makeSquare($el) { 2772 const el = $el[0]; 2773 el.style.width = ''; 2774 el.style.height = ''; 2775 const rect = el.getBoundingClientRect(); 2776 if (rect.width !== rect.height) { 2777 el.style.width = rect.height + 'px'; 2778 } 2779 } 2780 function buildSlider() { 2781 const cWidth = $container[0].getBoundingClientRect().width; 2782 if (cWidth === usedWidth) { 2783 return; 2784 } 2785 $container.empty();
2786 slider = $('<div class="ig-feed-slider"></div>'); 2787 const items = igFeed.items.slice(0, limit); 2788 const layout = getLayout(cWidth, items.length); 2789 let i = 0; 2790 let slide = null; 2791 while (i < layout.single) { 2792 slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider); 2793 i++; 2794 } 2795 while (i < layout.multi) { 2796 slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider); 2797 let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide); 2798 const lim = i + 4; 2799 while (i < lim && i < layout.multi) { 2800 slideContent.append(itemTemplate(items[i])); 2801 i++; 2802 } 2803 } 2804 $container.append(slider); 2805 if (layout.slider) { 2806 $topPrev.removeClass('hidden-control'); 2807 $topNext.removeClass('hidden-control'); 2808 $bottomPrev.removeClass('hidden-control'); 2809 $bottomNext.removeClass('hidden-control'); 2810 let prev, next; 2811 if ($bottomPrev.parent()[0].getBoundingClientRect().width) { 2812 prev = $bottomPrev; 2813 next = $bottomNext; 2814 } else { 2815 prev = $topPrev; 2816 next = $topNext; 2817 makeSquare($topPrev); 2818 makeSquare($topNext); 2819 } 2820 slider.children().each(function () { 2821 this.style.width = this.getBoundingClientRect().width + 'px'; 2822 }); 2823 slider.slick({ 2824 dots: false, 2825 prevArrow: prev, 2826 nextArrow: next, 2827 slidesToScroll: 1, 2828 infinite: false, 2829 slidesToShow: layout.slides 2830 }); 2831 } else { 2832 ensureClass($topPrev, 'hidden-control'); 2833 ensureClass($topNext, 'hidden-control'); 2834 ensureClass($bottomPrev, 'hidden-control'); 2835 ensureClass($bottomNext, 'hidden-control'); 2836 } 2837 } 2838})('section-478ee3db-6cff-4cb3-a1f0-1850c758d2de', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"817f4011-f4b4-47d1-b1e5-da3f3491e0b9\",\"usePageResource\":false,\"sectionIndex\":4,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 2839} catch(e) { 2840console.log(e); 2841} 2842 2843 var { body } = document; 2844 var globalNav = body.querySelector(':scope > nav'); 2845 var globalSideMenu = body.querySelector(':scope > div.sidemenu'); 2846 2847 document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => { 2848 modalCloseBtn.addEventListener('click', function() { 2849 window.lpUI.hideClosestModal(modalCloseBtn); 2850 }); 2851 }); 2852 2853 window.addEventListener('click', function() { 2854 document.querySelectorAll('.share-popup').forEach(sharedPopup => { 2855 sharedPopup.style.display = 'none' ; 2856 }); 2857 }); 2858 2859 /* Misc Partials / Addons */ 2860 function initWOW() { 2861 if (wow) { 2862 wow.init(); 2863 wow.scrollHandler(); 2864 setTimeout(function () { 2865 const wowHideStyle = document.getElementById('wow-hide-elements'); 2866 if(wowHideStyle) { 2867 wowHideStyle.disabled = true; 2868 } 2869 }, 1); 2870 } 2871 } 2872 2873 const wowHideElements = document.getElementById('wow-hide-elements'); 2874 if (wowHideElements) { 2875 wowHideElements.disabled = false; 2876 } 2877 2878 initWOW(); 2879 2880 /* Generic Navbar Handling */ 2881 globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => { 2882 hamburgerComponent.addEventListener('click', function() { 2883 window.lpUI.sideMenuToggle(); 2884 }); 2885 }); 2886 globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => { 2887 toggleEl.addEventListener('click', function() { 2888 window.lpUI.sideMenuToggle(); 2889 }); 2890 }); 2891 2892 document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => { 2893 linkEl.addEventListener('click', function(e) { 2894 e.preventDefault(); 2895 e.stopPropagation();
2896 var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav'); 2897 if (subNav && subNav.classList.contains('visible')){ 2898 subNav.classList.remove('visible'); 2899 } else { 2900 globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => { 2901 globalSubNav.classList.remove('visible'); 2902 }); 2903 globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => { 2904 sideMenuSubNav.classList.remove('visible'); 2905 }); 2906 subNav?.classList.add('visible'); 2907 } 2908 }); 2909 }); 2910 window.addEventListener('click', function() { 2911 document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => { 2912 subNavEl.classList.remove('visible'); 2913 }); 2914 }); 2915 2916 } 2917 2918 document.addEventListener('DOMContentLoaded', lpGlobalInit); 2919 2920 </script>
2920 2921 2922
2922<script type="module"> 2923 function selectorExists(selector) { 2924 return document.querySelector(selector) !== null; 2925 } 2926 2927 // Function to initialize the third-party library 2928 function initParoller(selector = '.my-paroller') { 2929 var $parollerElements = $(selector); 2930 if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') { 2931 $parollerElements.paroller(); 2932 } 2933 } 2934 2935 const parollerSelector = '.my-paroller'; 2936 2937 if (selectorExists(parollerSelector)) { 2938 window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() { 2939 initParoller(parollerSelector); 2940 window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true; 2941 }); 2942 } 2943 </script>
2943 2944 2945 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 2945-2946
2945 2946 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2946GTM-W3NMV25N
vendor: 107 bytes, lines 2946-2948
2946" 2947 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 2948
2948<!-- End Google Tag Manager --> 2949 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 2949-2950
2949 2950 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2950GTM-T9SFQGHZ
vendor: 107 bytes, lines 2950-2952
2950" 2951 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 2952
2952<!-- End Google Tag Manager --> 2953 <!-- Disable Required Opt-in START -->
2954<script> 2955 document.addEventListener('DOMContentLoaded', () => { 2956 2957 /* --- Targeting Configuration --- */ 2958 const TARGET_ELEMENT_IDS = []; // e.g. ["section-123", "hero-form"] 2959 const TARGET_DATA_EL_IDS = ["9764c7e9-5f8d-4612-b0cd-613fa57f86bf"]; // e.g. ["data-id-456", "contact-block"] 2960 2961 // Build selector string from provided IDs 2962 const selectors = [ 2963 ...TARGET_ELEMENT_IDS.map(id => `#${id}`), 2964 ...TARGET_DATA_EL_IDS.map(id => `[data-el-id="${id}"]`) 2965 ].filter(Boolean); 2966 2967 const TARGET_SELECTOR = selectors.join(','); 2968 const IS_RESTRICTED_MODE = selectors.length > 0; 2969 2970 function makeCheckboxesOptional(root = document) { 2971 const checkboxes = Array.from(root.querySelectorAll('input[name="termsAccepted"]')); 2972 2973 checkboxes.forEach(checkbox => { 2974 // If IDs are provided, only target checkboxes inside matching containers 2975 if (IS_RESTRICTED_MODE && !checkbox.closest(TARGET_SELECTOR)) return; 2976 2977 // 1. Remove the HTML attribute 2978 checkbox.removeAttribute('required'); 2979 2980 // 2. Explicitly set the property to false for the browser engine 2981 checkbox.required = false; 2982 2983 // 3. Clear any custom validation messages set by 'oninvalid' 2984 checkbox.setCustomValidity(''); 2985 checkbox.removeAttribute('oninvalid'); 2986 2987 // 4. Accessibility: update aria-required if it exists 2988 if (checkbox.hasAttribute('aria-required')) { 2989 checkbox.setAttribute('aria-required', 'false'); 2990 } 2991 }); 2992 } 2993 2994 // Run immediately on page load 2995 makeCheckboxesOptional(); 2996 2997 // Observe the page for any new forms (like modals or popups) being added 2998 const observer = new MutationObserver((mutations) => { 2999 mutations.forEach((mutation) => { 3000 mutation.addedNodes.forEach(node => { 3001 if (node.nodeType === 1) { 3002 makeCheckboxesOptional(node.parentElement || node); 3003 } 3004 }); 3005 }); 3006 }); 3007 3008 // Start observing the entire document body 3009 observer.observe(document.body, { 3010 childList: true, 3011 subtree: true 3012 }); 3013 3014 // Fallback: Check again if the user clicks anywhere (handles complex modal triggers) 3015 document.body.addEventListener('click', () => { 3016 setTimeout(makeCheckboxesOptional, 300); 3017 setTimeout(makeCheckboxesOptional, 1000); 3018 }); 3019 3020 }); 3021</script>
3021 3022<!-- Disable Required Opt-in END --> 3023
3023<script 3024 src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js" 3025 data-website-id="5c728087-4d53-4510-858f-5adde31cf971" 3026 3027 defer></script>
vendor: 1 bytes, line 3027
3027
3028<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 3028
3028
3029<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:'a408ffc52fd89121',t:'MTc5MDMyODUxMA=='};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>
3029</body> 3030</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.