PageSourceSearch

https://christiandistasio.com/blog

html christiandistasio.com collected 2026-10-05 23:38:15 UTC 380,062 bytes, 3,785 lines download raw bytes

1<!DOCTYPE html>
2<html class="no-js" lang=en>
3<head>
4    <meta charset="utf-8">
5    <meta http-equiv="x-ua-compatible" content="ie=edge">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0">
7    <meta name="twitter:card" content="summary_large_image">
8    <meta property="og:type" content="website">
9        <title>New Jersey  Real Estate Insights | Christian Di Stasio Group</title>
10        <meta property="og:title" content="New Jersey  Real Estate Insights | Christian Di Stasio Group">
11        <meta name="twitter:title" content="New Jersey  Real Estate Insights | Christian Di Stasio Group">
12        <meta name="description" content="Unlock valuable New Jersey real estate insights with the Christian Di Stasio Group. Discover top-rated NJ real estate agents for your property needs.">
13        <meta property="og:description" content="Unlock valuable New Jersey real estate insights with the Christian Di Stasio Group. Discover top-rated NJ real estate agents for your property needs.">
14        <meta name="twitter:description" content="Unlock valuable New Jersey real estate insights with the Christian Di Stasio Group. Discover top-rated NJ real estate agents for your property needs.">
15        <meta property="og:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/781cc293-cb03-4359-a8a9-89fbfa5b7f7f">
16        <meta name="twitter:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/781cc293-cb03-4359-a8a9-89fbfa5b7f7f">
17        <meta property="og:url" content="https://christiandistasio.com/blog">
18        <link rel="canonical" href="https://christiandistasio.com/blog">
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    <style>@font-face {font-family: 'MercuryDisplayRoman';src: url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/MercuryDisplayRoman/MercuryDisplay-Roman.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/MercuryDisplayRoman/MercuryDisplay-Roman.woff') format('woff');font-weight: 400;font-style: normal;}</style><style>@font-face {font-family: 'BentonSans';src: url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/BentonSans/v3/BentonSans-Regular.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/BentonSans/v3/BentonSans-Regular.woff') format('woff');font-weight: 400;font-style: normal;}@font-face {font-family: 'BentonSans';src: url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/BentonSans/v3/BentonSans-Medium.woff2') format('woff2'),url('https://d1e1jt2fj4r8r.cloudfront.net/fonts/BentonSans/v3/BentonSans-Medium.woff') format('woff');font-weight: 500;font-style: normal;}</style>
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:MercuryDisplayRoman,serif;--global-primary-font-family-short:MercuryDisplayRoman;--global-secondary-font-family:BentonSans,sans-serif;--global-secondary-font-family-short:BentonSans;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:61px;--global-h2-font-size:37px;--global-h3-font-size:27px;--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:BentonSans,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:MercuryDisplayRoman,serif;}h1{font-size:61px;}h2{font-size:37px;}h3{font-size:27px;}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">#global-mobile-contact>div.pop-up>div{border:1px solid #fff;border-radius:15px;}#modal-global-contact-us .redesign .link:after{background-color:#fff;}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:21px!important;}@media only screen and (max-width: 768px){#modal-global-contact-us>div>div>div>div.section-details>h2{margin-top:40px;}}.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;}body>div.mobile-contact-wrapper div.mobile-contact{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{z-index:9999!important;}body>div.mobile-contact-wrapper .mobile-contact{z-index:9999!important;}.redesign .btn--small{padding:20px 46px;}.lp-btn{padding:20px 46px!important;}button.newsletter-signup__form-item{line-height:1;font-weight:700;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}.redesign .btn--small{padding:20px 46px;}.lp-btn{padding:20px 46px!important;}button.newsletter-signup__form-item{line-height:1;font-weight:700;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}:root{--primary:#002349;--secondary:#ffffff;--accent:#917035;--blocking:#f1f1f1;--text-input:#f3f3f3;--buttons:#917035;
31--dark:#002349;--black:#000;--white:#fff;--light-gray:#ccc;--dark-gray:#999;--lp-color-error:#f00;}nav#global-navbar .header .logo img{max-width:100%;max-height:75px!important;}@media only screen and (min-width: 768px){nav#global-navbar .header .logo img{max-width:100%;max-height:70px;}}@media only screen and (max-width: 768px){nav#global-navbar .header .logo img{max-width:100%;max-height:40px;}}nav#global-navbar .header{min-height:120px!important;}nav#global-navbar .header .navigation .sub-nav ul{background-color:transparent;}nav#global-navbar .header .navigation .sub-nav ul li{background-color:var(--white);}nav#global-navbar .header .navigation .sub-nav ul li:hover{background-color:var(--buttons);}nav#global-navbar .header .navigation .sub-nav ul a{color:var(--black);}nav#global-navbar.scroll{background-color:rgba(255, 255, 255, 0.9)!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link{color:var(--primary);}nav#global-navbar.scroll li.navigation__item a.navigation__link span:after{background-color:var(--primary);}nav#global-navbar.scroll button.hamburger-component.hamburger{color:var(--primary);}nav#global-navbar .header .navigation .sub-nav ul a:hover{color:var(--white)!important;}nav#global-navbar.scroll .header a.logo__link img:last-child{display:block!important;}nav#global-navbar.scroll .header a.logo__link img:first-child{display:none!important;}nav .header .navigation .sub-nav__link{max-width:400px!important;}nav .header .navigation .sub-nav ul{max-width:400px!important;}@media (max-width: 768px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (min-width: 1201px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:25px!important;}}@media (max-width: 768px){footer#global-footer .footer.no_newsletter h3{margin-bottom:26px!important;}}#global-footer .info-wrap-contact_zone h4{line-height:0.8;}@media (max-width: 768px){#global-footer .info-wrap-contact_zone h4{line-height:1.5;}}footer#global-footer div.text_footer.first_text_footer div.images_box .img_size{height:100px;}footer#global-footer a.hvr_animation,footer#global-footer .lp-link{position:relative!important;color:var(--white)!important;-webkit-transition:0.4s;transition:0.4s;}footer#global-footer a.hvr_animation:hover,footer#global-footer .lp-link:hover{color:var(--white)!important;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before,footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"" "" "" "";height:1px;position:absolute!important;bottom:0;left:0;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before{width:100%!important;background-color:var(--light-gray)!important;}footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{width:0%!important;background-color:var(--white)!important;}footer#global-footer a.hvr_animation:hover:after,footer#global-footer .lp-link:hover:after{width:100%!important;}@media only screen and (max-width: 1200px){footer#global-footer .info-wrap-contact_link{overflow-wrap:anywhere;white-space:normal!important;}footer#global-footer .info-wrap-contact_link:before{background-color:transparent;}footer#global-footer .info-wrap-contact_link:after{background-color:transparent;}}@media only screen and (min-width: 376px){footer#global-footer .footer div.type_user div.info-wrap-contact_cell:first-of-type{min-width:380px!important;width:480px!important;}}@media only screen and (max-width: 375px){footer#global-footer .footer div.type_user div.info-wrap-contact_cell:first-of-type{width:100%!important;min-width:unset!important;}}footer .footer.no_newsletter .info-wrap-contact h4{margin-top:0!important;}footer .powered-box .lp-link{font-weight:normal!important;}footer .footer .info-privacy .copy_zone .lp-link{font-weight:normal!important;}footer .footer .info-privacy__row img{-webkit-filter:invert(1);filter:invert(1);}@media only screen and (max-width: 768px){footer .footer{padding-top:32px!important;padding-bottom:32px!important;}}div#global-sidemenu.sidemenu a{color:var(--primary);}div#global-sidemenu.sidemenu a:hover{color:var(--accent)!important;}body>div.sidemenu .sub-nav.visible+.main-nav{color:var(--primary)!important;}body>div.sidemenu .sub-nav-container .main-nav::after{border-bottom:1px solid var(--dark-gray)!important;border-right:1px solid var(--dark-gray)!important;}body>div.sidemenu .sub-nav-container .main-nav:hover::after{border-bottom:1px solid var(--dark-gray)!important;border-right:1px solid var(--dark-gray)!important;}.sidebar__close:hover{color:var(--accent)!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:28px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:28px;}}#modal-global-contact-us .contact-form .section-message label{text-transform:uppercase;color:var(--white)!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:var(--white)!important;}div#modal-global-contact-us a:not(.lp-socials__link):after{background-color:var(--white)!important;}.info-zone_contact_cell a:hover{color:var(--white)!important;}.info-zone_contact_cell a:before{background-color:var(--light-gray)!important;width:100%;}.info-zone_contact_cell a:after{background-color:var(--white)!important;}.lp-tcr-message{font-weight:400;}div#modal-global-contact-us .contact-form .section-message form{max-width:49
310px;}@media only screen and (max-width: 1080px){div#modal-global-contact-us .contact-form h2{font-size:37px;}}@media only screen and (max-width: 925px){div#modal-global-contact-us .contact-form h2{font-size:25px;}}div#modal-global-contact-us .close{top:4vh;}div#modal-global-contact-us .contact-form .lp-link.info-zone_contact_link{overflow-wrap:anywhere!important;white-space:normal!important;}div#modal-global-contact-us div.modal-content div.contact-form.redesign:after{background-color:rgba(0, 0, 0, 0.8);}#modal-global-contact-us .lp-disclaimer a{-webkit-text-decoration:none!important;text-decoration:none!important;position:relative;display:inline-block;vertical-align:top;}#modal-global-contact-us .lp-disclaimer a:after,#modal-global-contact-us .lp-disclaimer a:before{content:"" "";height:1px;position:absolute;bottom:0;left:0;box-sizing:border-box;outline:none;-webkit-transition:0.4s;transition:0.4s;}#modal-global-contact-us .lp-disclaimer a:before{background-color:var(--dark-gray);width:100%;}#modal-global-contact-us .lp-disclaimer a:after{width:0%;background-color:var(--white);-webkit-transition:0.4s;transition:0.4s;}#modal-global-contact-us .lp-disclaimer a:hover{-webkit-text-decoration:none!important;text-decoration:none!important;}#modal-global-contact-us .lp-disclaimer a:hover:after{width:100%;}div#modal-global-contact-us .contact-form{-webkit-background-position:center;background-position:center;}@media only screen and (max-width: 768px){.contact-form .lp-link.info-zone_contact_link,.contact-form .pre-line{font-size:12px!important;}}h1,.lp-h1,h2,.lp-h2,h3,.lp-h3,h4,.lp-h4,div#global-sidemenu.sidemenu a,nav#global-navbar a,div#global-sidemenu.sidemenu button,nav#global-navbar button{text-transform:uppercase;letter-spacing:2px!important;}@media (max-width: 768px){h1,.lp-h1,h2,.lp-h2,h3,.lp-h3,h4,.lp-h4,div#global-sidemenu.sidemenu a,nav#global-navbar a,div#global-sidemenu.sidemenu button,nav#global-navbar button{letter-spacing:1px!important;}}@media only screen and (max-width: 768px){.lp-socials,.socials-zone{-webkit-box-pack:center!important;-ms-flex-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important;}}footer#global-footer .text_footer.first_text_footer .link{color:var(--black);font-weight:normal;}footer#global-footer .text_footer.first_text_footer .link:hover{color:var(--black);}footer#global-footer .text_footer.first_text_footer .link:hover:after{background-color:var(--black);}footer#global-footer .text_footer.first_text_footer .link:after{background-color:var(--light-gray);}@media only screen and (max-width: 1280px){footer#global-footer .text_footer.first_text_footer .link{overflow-wrap:anywhere;-webkit-text-decoration:underline!important;text-decoration:underline!important;white-space:normal!important;}footer#global-footer .text_footer.first_text_footer .link:before{background-color:transparent;}footer#global-footer .text_footer.first_text_footer .link:after{background-color:transparent;}}body>div.mobile-contact-wrapper .lp-btn{border:2px solid var(--white)!important;background-color:transparent!important;color:var(--white)!important;}body>div.mobile-contact-wrapper .lp-btn:hover{border:2px solid var(--white)!important;background-color:var(--white)!important;color:var(--accent)!important;}div.mobile-contact-wrapper .contact-form__item .is-placeholder{text-transform:capitalize!important;}div.mobile-contact-wrapper .custom-select-item{text-transform:none!important;}div.mobile-contact-wrapper .custom-select-item:hover{background-color:var(--buttons)!important;color:var(--white)!important;}.custom-select-toggle.lp-input--light{color:var(--white)!important;text-transform:unset!important;}.custom-select-toggle.lp-input--light:after{border-color:var(--white);}div.mobile-contact-wrapper .contact-form .lp-btn{border-color:var(--white)!important;background-color:transparent!important;color:var(--white)!important;font-size:11px!important;margin-bottom:0;}div.mobile-contact-wrapper .contact-form .lp-btn:hover{border-color:var(--white)!important;background-color:var(--white)!important;color:var(--accent)!important;}.contact-form textarea.lp-input{height:36px!important;min-height:50px!important;}.contact-form__container a[href="/terms-and-conditions"]{position:relative!important;color:var(--white)!important;-webkit-transition:0.4s;transition:0.4s;}
31.contact-form__container a[href="/terms-and-conditions"]:hover{color:var(--white)!important;}.contact-form__container a[href="/terms-and-conditions"]:before,.contact-form__container a[href="/terms-and-conditions"]:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"";height:1px;position:absolute!important;bottom:0;left:0;}.contact-form__container a[href="/terms-and-conditions"]:before{width:100%!important;background-color:var(--light-gray)!important;}.contact-form__container a[href="/terms-and-conditions"]:after{width:0%!important;background-color:var(--white)!important;}.contact-form__container a[href="/terms-and-conditions"]:hover:after{width:100%!important;}@media (max-width: 768px){.contact-form textarea.lp-input{height:36px!important;min-height:45px!important;}}.contact-form .contact-form__item .custom-select-content .custom-select-item{background:#fff;color:var(--primary);}.contact-form .contact-form__item .custom-select-content .custom-select-item:hover{background:var(--accent)!important;color:#fff;}.contact-form .contact-form__item .custom-select-content .custom-select-item.is-selected{background:var(--accent)!important;color:#fff!important;font-weight:700;}nav#global-navbar .header .navigation .sub-nav ul li a{font-size:13px!important;color:#002349;}nav .header .navigation__link{padding:10px!important;}</style>
32    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
33        <style id="page-css">
34            #section-890fab23-a813-4443-bd29-980c82ab1a85{color:#fff;--fontColor:#fff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.4));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/781cc293-cb03-4359-a8a9-89fbfa5b7f7f');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-890fab23-a813-4443-bd29-980c82ab1a85 div.container{max-width:1300px!important;}#section-890fab23-a813-4443-bd29-980c82ab1a85 .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;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
34#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro__title{font-size:22px;}}#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-890fab23-a813-4443-bd29-980c82ab1a85 .custom-intro__subtitle{font-size:18px;}}#section-890fab23-a813-4443-bd29-980c82ab1a85 .description{margin-bottom:15px;}@media (min-width: 960px) and (orientation: landscape){#section-890fab23-a813-4443-bd29-980c82ab1a85{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/781cc293-cb03-4359-a8a9-89fbfa5b7f7f');}}@media (min-width: 1280px) and (orientation: landscape){#section-890fab23-a813-4443-bd29-980c82ab1
34a85{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/781cc293-cb03-4359-a8a9-89fbfa5b7f7f');}}@media (min-width: 1920px) and (orientation: landscape){#section-890fab23-a813-4443-bd29-980c82ab1a85{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/781cc293-cb03-4359-a8a9-89fbfa5b7f7f');}}@media (min-width: 2560px) and (orientation: landscape){#section-890fab23-a813-4443-bd29-980c82ab1a85{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/781cc293-cb03-4359-a8a9-89fbfa5b7f7f');}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64{color:#002349;--fontColor:#002349;--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#FFFFFF;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .J-paginationjs-page a{margin:0 5px;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content h4:after{background-color:var(--accent)!important;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link{position:relative;color:var(--accent)!important;-webkit-transition:0.4s;transition:0.4s;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:after,#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:before{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"";height:1px;position:absolute!important;bottom:0;left:0;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:before{background-color:var(--light-gray);width:100%;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:after{width:0%;background-color:var(--accent)!important;-webkit-transition:0.4s;transition:0.4s;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:hover{-webkit-text-decoration:none!important;text-decoration:none!important;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .link:hover:after{width:100%;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list{padding-bottom:62px!important;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list{padding:120px 0;position:relative;z-index:1;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list .center-items{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:1282px;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container{padding:0;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container.hide-date .blog-list__item-date{display:none;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container.hide-author .blog-list__item-author{display:none;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container.hide-author .blog-list__item-date{margin-left:0;padding-left:0;border-left:none;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__container .blog-list__item{background-color:#fff;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__section-title,#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list .description{text-align:center;margin-bottom:50px;max-width:75%;margin-left:auto;margin-right:auto;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__section-title,#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list .description{max-width:100%;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item{width:calc(50% - 18px);margin-bottom:34px;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item{width:100%;margin-bottom:32px;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item:nth-child(2n) .blog-list__item-content h4:after{right:-116px;left:60%;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item:nth-child(2n) .blog-list__item-content h4:after{right:-25px;left:40%;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-image{padding-top:70.16%;position:relative;background-color:#808080;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-image img{position:absolute;object-fit:cover;height:100%;width:100%;top:0;z-index:0;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content{padding:46px 36px;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content{padding:40px 25px;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content h4{margin:0 0 36px;position:relative;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content h4{margin:0 0 38px;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content h4:after{content:'';position:absolute;bottom:-17px;left:-116px;right:60%;height:1px;background-color:#c0c0c0;}@media(max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content h4:after{right:40%;left:-25px;bottom:-21px;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-content .link{display:inline-block;margin-top:36px;text-transform:uppercase;font-size:14px;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-details{list-style-type:none;display:block;margin:0 0 9px;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-details >li{display:inline-block;position:relative;font-size:14px;font-weight:700;line-height:1.4;text-transform:uppercase;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .blog-list__item-details >li+li{margin-left:3px;padding-left:5px;border-left:2px solid;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .search-container{margin-bottom:48px;}@media (max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .search-container{margin-bottom:32px;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .search-container__row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:12px;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .search-container__row:has(.lp-btn.lp-i--chevron-down){-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .search-container__row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .input-container{width:100%;max-width:485px;position:relative;}@media (max-width: 1024px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .input-container{max-width:350px;}}@media (max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .input-container{max-width:100%;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .input-container .lp-input{height:50px;width:100%;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .input-container .search-icon{position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .empty-results{text-align:center;display:none;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .empty-results.visible{display:block;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .filter-container{padding-top:16px;display:none;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .category-cell{margin:0 8px 8px 0;border-width:2px;padding:10px 15px;opacity:.3;position:relative;cursor:pointer;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .category-cell.active{opacity:1;}@media(hover: hover) and (pointer: fine){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .category-cell:hover{opacity:1;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .lp-btn.lp-i--chevron-down{display:none;gap:10px;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 768px){#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .lp-btn.lp-i--chevron-down{width:100%;}}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .lp-btn.lp-i--chevron-down:before{-webkit-transition:-webkit-transform .3s;transition:transform .3s;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .lp-btn.lp-i--chevron-down.active:before{-webkit-transform:scaleY(-1);-moz-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64 .category{position:absolute;top:0;left:0;background-color:#fff;color:#000;padding:8px 34px;font-size:14px;font-weight:700;line-height:24px;letter-spacing:1.5px;text-transform:uppercase;z-index:2;}#section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#002349;--bgColor_H:211;--bgColor_S:100%;--bgColor_L:14%;--bgColor_A:1;--bgColor_darkenDir:1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#002349;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]{position:relative;color:var(--white)!important;-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none;text-decoration:none;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:after,#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:before{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"";height:1px!important;position:absolute!important;bottom:0;left:0;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:before{background-color:#f8f8f8;width:100%;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:after{width:0%;background-color:var(--white);-webkit-transition:0.4s;transition:0.4s;height:2px!important;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:
34hover{-webkit-text-decoration:none!important;text-decoration:none!important;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-tcr-message a[href="/terms-and-conditions"]:hover:after{width:100%;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 768px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup{min-height:80vh;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup .lp-container-custom{padding:0 25px;}}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form{margin:0;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form.success .newsletter-signup__form-container{display:none;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__inputs-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 768px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__inputs-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-container{position:relative;z-index:1;}@media (max-width: 768px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-container .lp-h2{margin-bottom:32px;}}@media (max-width: 768px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-container .lp-text--subtitle{margin-bottom:32px;}}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:16px;}@media (max-width: 768px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:0px;margin-top:32px;}}@media (min-width: 769px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-item.lp-input{padding-top:0;padding-bottom:0;width:250px;}}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-item.lp-btn{text-transform:uppercase;font-weight:700;}@media (min-width: 769px){#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup__form-item.lp-btn{width:200px;}}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;visibility:visible;opacity:1;z-index:2;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none;text-align:center;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .newsletter-signup .success-block.hide{display:none;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-h-pot{max-width:1px;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-title-group{max-width:unset;padding:0 20px;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 input:-webkit-autofill,#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 input:-webkit-autofill:hover,#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 input:-webkit-autofill:focus,#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 input:-webkit-autofill:active{-webkit-text-fill-color:var(--fontColor);-webkit-box-shadow:0 0 0px 1000px var(--bgColor) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3 .lp-disclaimer{max-width:730px;margin:20px auto 0 auto;}#section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-d7116ef0-def3-456f-bf36-0a382985307f{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.45));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/ffc2a206-46a2-4c61-8757-4ed591ccaa99');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-d7116ef0-def3-456f-bf36-0a382985307f.parallax-enabled{-webkit-clip-path:polygon(0px 0px, 100% 0%, 100% 100%, 0% 100%);clip-path:polygon(0px 0px, 100% 0%, 100% 100%, 0% 100%);}#section-d7116ef0-def3-456f-bf36-0a382985307f.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-d7116ef0-def3-456f-bf36-0a382985307f.parallax-enabled .work-with-us:before{display:block;content:'';left:0;top:0;width:100%;
34background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .container{text-align:center;max-width:750px;min-height:689px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:50px;padding-bottom:50px;position:relative;z-index:1;}@media (max-width: 768px){#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us h2{padding-bottom:40px;}}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us h2:after{content:'';position:absolute;bottom:0;left:50%;margin-left:-55px;width:110px;height:1px;background-color:var(--fontColor, #ffffff);}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .description{margin:0 0 30px;}@media(max-width: 768px){#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .description{margin-bottom:40px;}}#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .btn-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:23px;margin-top:32px;}@media(max-width: 560px){#section-d7116ef0-def3-456f-bf36-0a382985307f .redesign.work-with-us .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (min-width: 960px) and (orientation: landscape){#section-d7116ef0-def3-456f-bf36-0a382985307f{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/ffc2a206-46a2-4c61-8757-4ed591ccaa99');}}@media (min-width: 1280px) and (orientation: landscape){#section-d7116ef0-def3-456f-bf36-0a382985307f{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/ffc2a206-46a2-4c61-8757-4ed591ccaa99');}}@media (min-width: 1920px) and (orientation: landscape){#section-d7116ef0-def3-456f-bf36-0a382985307f{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/ffc2a206-46a2-4c61-8757-4ed591ccaa99');}}@media (min-width: 2560px) and (orientation: landscape){#section-d7116ef0-def3-456f-bf36-0a382985307f{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/ffc2a206-46a2-4c61-8757-4ed591ccaa99');}}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22{color:#002349;--fontColor:#002349;--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--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;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed{padding:80px 0;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .title{margin:0 20px 0 0;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .instagram-link .instagram-name{display:inline;margin:0;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .title+.instagram-link{margin-top:5px;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-wrapper{margin-bottom:20px;
34display:-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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .follow-button{margin:20px 0 0 0;display:block;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .nav-button{margin-top:20px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:42px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;transition-property:color,background-color,border-color;transition-duration:.3s;transition-timing-function:ease;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-nav-prev{margin-left:30px;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-nav-next{margin-left:10px;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .hidden-control{display:none;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single:first-child,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi:first-child{margin-left:auto;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single:last-child,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi:last-child{margin-right:auto;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single.type2,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi.type2{width:calc(100% / 5 * 2);}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single.type3,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi.type3{width:calc(100% / 2);}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single.type4,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi.type4{width:calc(100% / 2);}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single.type5,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-container{padding:0;width:100%;}}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;
34top: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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-item:hover .video-icon{opacity:0;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single .ig-feed-item__info{padding:15%;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi-content{padding:10px;position:absolute;width:100%;height:100%;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;overflow:hidden;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .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-eb4bcd51-4337-41ff-a093-12d135fb4a22 .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-right,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .title,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .instagram-link{margin-right:0;text-align:center;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-nav-prev,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .top-nav-next{display:none;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .ig-feed{display:none;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22 .has-data .ig-feed{display:block;}#section-eb4bcd51-4337-41ff-a093-12d135fb4a22.has-data .ig-feed,#section-eb4bcd51-4337-41ff-a093-12d135fb4a22#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;}
34#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal
34-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;
34-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;max-width:300px;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;
34left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}body>div.sidemenu{background-color:#fff;color:rgba(0, 35, 73, 1);--fontColor:rgba(0, 35, 73, 1);--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--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;
34-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(0, 35, 73, 1);color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(0, 35, 73, 1);--bgColor_H:211;--bgColor_S:100%;--bgColor_L:14%;--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">.hyperlink-style-1{color:#917035!important;}.hyperlink-style-1:hover{color:#917035!important;}.button-style-1{color:#917035!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#917035!important;}.button-style-1:hover{color:#FFFFFF!important;background-color:#917035!important;border-color:#917035!important;}.social_icons-style-1 a{border-color:#917035!important;background-color:rgba(255, 255, 255, 0)!important;color:#917035!important;}.social_icons-style-1 a:hover{border-color:#917035!important;background-color:#917035!important;color:#FFFFFF!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;}.pagination-style-1 li a{color:#917035!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#917035!important;}.pagination-style-1 li a:hover{color:#FFFFFF!important;background-color:#917035!important;border-color:#917035!important;}.pagination-style-1 li.active a{color:#FFFFFF!important;background-color:#917035!important;border-color:#917035!important;}.social_icons-style-2 a{border-color:#FFFFFF!important;background-color:rgba(255, 255, 255, 0)!important;color:#FFFFFF!important;}.social_icons-style-2 a:hover{border-color:#FFFFFF!important;background-color:#FFFFFF!important;color:#917035!important;}.social_icons-style-2 a i{color:inherit!important;}.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.button-style-2{color:#FFFFFF!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#FFFFFF!important;}.button-style-2:hover{color:#917035!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.pagination-style-2 li a{color:#FFFFFF!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#FFFFFF!important;}.pagination-style-2 li a:hover{color:#917035!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.pagination-style-2 li.active a{color:#917035!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.hyperlink-style-2{color:#FFFFFF!important;}.hyperlink-style-2:hover{color:#FFFFFF!important;}.button-style-3{color:#FFFFFF!important;background-color:#917035!important;border-color:#917035!important;}.button-style-3:hover{color:#917035!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#917035!important;}.button-style-4{color:#917035!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.button-style-4:hover{color:#FFFFFF!important;background-color:rgba(255, 255, 255, 0)!important;border-color:#FFFFFF!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="42744f60-1a03-40b4-89f8-9a0aacb720aa"></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        <!-- Bing Webmaster Tools Verification -->
108<script>
109       // Check if on the homepage before the body loads
110       if (window.location.pathname === '/' || window.location.pathname === '/index.html') {
111       document.write('<meta name="msvalidate.01" content="6F6D563899A42C028420CB015EF73B27" />');
112       }
113</script>
113
114<meta name="google-site-verification" content="h4YUnNrUwnmbvHHIPDmdGlbWA-4kC-mHwyMr-nwEJeQ" />
115    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
116</head>
117<body>
118    <div id="google_translate_element" style="display: none"></div>
119
120        <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b">
121            <div class="redesign">
122  <div class="content-container header">
123    <div class="container header__container">
124      <div class="navbar">
125        <div class="logo">
126          <a href="/" class="logo__link">
127            <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/96074758-c073-4b5c-9a5e-9a55ef7b5c2e" 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/96074758-c073-4b5c-9a5e-9a55ef7b5c2e 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/96074758-c073-4b5c-9a5e-9a55ef7b5c2e 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/96074758-c073-4b5c-9a5e-9a55ef7b5c2e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/96074758-c073-4b5c-9a5e-9a55ef7b5c2e 1339w" class="logo__img light" alt="">
128            <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/4315a07f-5651-4722-a336-866a79eb83ff" 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/4315a07f-5651-4722-a336-866a79eb83ff 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/4315a07f-5651-4722-a336-866a79eb83ff 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/4315a07f-5651-4722-a336-866a79eb83ff 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/4315a07f-5651-4722-a336-866a79eb83ff 1339w" class="logo__img dark" alt="">
129          </a>
130        </div>
131        <div class="navigation">
132          <ul>
133            <li class="navigation__item sub-nav-container">
134              <a href="#" class="navigation__link wow fadeInUp">Properties</a>
135              <div class="sub-nav">
136                <ul>
137                  <li class="sub-nav__item"><a  href="/properties/sale" class="nav-link sub-nav__link feature"><span>Featured Properties</span></a></li>
138                  <li class="sub-nav__item"><a  href="/properties/sold" class="nav-link sub-nav__link feature"><span>Past Transactions</span></a></li>
139                </ul>
140              </div>
141            </li>
142            <li class="navigation__item">
143              <a  href="/neighborhoods" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Neighborhoods</span></a>
144            </li>
145            <li class="navigation__item sub-nav-container">
146              <a href="#" class="navigation__link wow fadeInUp">Search</a>
147              <div class="sub-nav">
148                <ul>
149                  <li class="sub-nav__item"><a  href="/home-search/listings?listingStatus&#x3D;%5B&quot;ACTIVE&quot;%2C&quot;COMING_SOON&quot;%5D&amp;center&#x3D;%7B&quot;lat&quot;%3A40.988707938778646%2C&quot;lng&quot;%3A-74.11944253681638%7D&amp;zoom&#x3D;11&amp;boundary&#x3D;%5B%5B%5B41.152547899450965%2C-74.39135415791013%5D%2C%5B41.152547899450965%2C-73.84753091572263%5D%2C%5B40.824459858564765%2C-73.84753091572263%5D%2C%5B40.824459858564765%2C-74.39135415791013%5D%2C%5B41.152547899450965%2C-74.39135415791013%5D%5D%5D" class="nav-link sub-nav__link feature"><span>Map Search</span></a></li>
150                  <li class="sub-nav__item"><a  href="/home-search/listings?propertyType&#x3D;%5B&quot;RESIDENTIAL&quot;%5D&amp;listingStatus&#x3D;%5B&quot;ACTIVE&quot;%2C&quot;COMING_SOON&quot;%5D&amp;center&#x3D;%7B&quot;lat&quot;%3A40.988707938778646%2C&quot;lng&quot;%3A-74.11944253681638%7D&amp;zoom&#x3D;12&amp;boundary&#x3D;%5B%5B%5B41.070678954533264%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-74.25539834736325%5D%5D%5D" class="nav-link sub-nav__link feature"><span>Residential Properties </span></a></li>
151                  <li class="sub-nav__item"><a  href="/home-search/listings?listingStatus&#x3D;%5B&quot;ACTIVE&quot;%2C&quot;COMING_SOON&quot;%5D&amp;center&#x3D;%7B&quot;lat&quot;%3A40.988707938778646%2C&quot;lng&quot;%3A-74.11944253681638%7D&amp;zoom&#x3D;12&amp;boundary&#x3D;%5B%5B%5B41.070678954533264%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-74.25539834736325%5D%5D%5D&amp;priceMin&#x3D;2000000" class="nav-link sub-nav__link feature"><span>Luxury Properties</span></a></li>
152                  <li class="sub-nav__item"><a  href="/home-search/listings?listingStatus&#x3D;%5B&quot;ACTIVE&quot;%2C&quot;COMING_SOON&quot;%5D&amp;center&#x3D;%7B&quot;lat&quot;%3A40.988707938778646%2C&quot;lng&quot;%3A-74.11944253681638%7D&amp;zoom&#x3D;12&amp;boundary&#x3D;%5B%5B%5B41.070678954533264%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-73.9834867262695%5D%2C%5B40.906634892916756%2C-74.25539834736325%5D%2C%5B41.070678954533264%2C-74.25539834736325%5D%5D%5D&amp;keyword&#x3D;
152Investment" class="nav-link sub-nav__link feature"><span>Investment Properties</span></a></li>
153                  <li class="sub-nav__item"><a  href="/home-search/listings?propertyType&#x3D;%5B&quot;CONDO&quot;%2C&quot;CO_OP&quot;%5D&amp;listingStatus&#x3D;%5B&quot;ACTIVE&quot;%2C&quot;COMING_SOON&quot;%5D&amp;center&#x3D;%7B&quot;lat&quot;%3A40.98138645%2C&quot;lng&quot;%3A-74.11360604999999%7D&amp;boundary&#x3D;%5B%5B%5B41.022389268062845%2C-74.18158395527341%5D%2C%5B41.022389268062845%2C-74.04562814472654%5D%2C%5B40.94035812531611%2C-74.04562814472654%5D%2C%5B40.94035812531611%2C-74.18158395527341%5D%2C%5B41.022389268062845%2C-74.18158395527341%5D%5D%5D" class="nav-link sub-nav__link feature"><span>Condo, Co-op, TWNHS</span></a></li>
154                </ul>
155              </div>
156            </li>
157            <li class="navigation__item">
158              <a  href="/home-valuation" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Home Valuation</span></a>
159            </li>
160            <li class="navigation__item">
161              <a data-type="CONTACT_US" class="navigation__link wow fadeInUp"><span>Contact Us</span></a>
162            </li>
163            <li class="navigation__item">
164              <a  href="tel:6462807136" class="navigation__link wow fadeInUp" data-wow-delay="2.5"><span>646.280.7136</span></a>
165            </li>
166            <li class="navigation__item">
167              <a data-type="TRANSLATE" class="navigation__link wow fadeInUp"><span>Translate</span></a>
168            </li>
169          </ul>
170        </div>
171        <div class="buttons-wrapper">
172          <button type="button" class="hamburger-component hamburger">
173            <span class="hamburger__bars"></span>
174          </button>
175        </div>
176      </div>
177    </div>
178  </div>
179</div>
180
181        </nav>
182        <div id="global-sidemenu" class="sidemenu" data-el-id="11fa925d-d2dd-4213-a0fa-d46f769e2c18">
183            <div class="sidebar">
184  
185  <button class="toggle sidebar__close close"></button>
186  <div class="sidebar__content">
187
188    <ul class="sidebar__nav">
189      <li class="sidebar__nav-item">
190        <button data-type="TRANSLATE" class="sidebar__nav-link">Translate</button>
191      </li>
192      <li class="sidebar__nav-item">
193        <a  href="/" class="sidebar__nav-link">Home</a>
194      </li>
195      <li class="sidebar__nav-item sub-nav-container">
196        <div class="sub-nav">
197          <ul class="sidebar__subnav">
198            <li class="sidebar__subnav-item"><a  href="/team" class="sidebar__subnav-link">Meet the Team</a></li>
199            <li class="sidebar__subnav-item"><a  href="/testimonials" class="sidebar__subnav-link">Testimonials</a></li>
200          </ul>
201        </div>
202        <a href="#" class="sidebar__nav-link link main-nav">About</a>
203      </li>
204      <li class="sidebar__nav-item sub-nav-container">
205        <div class="sub-nav">
206          <ul class="sidebar__subnav">
207            <li class="sidebar__subnav-item"><a  href="/properties/sale" class="sidebar__subnav-link">Featured Properties</a></li>
208            <li class="sidebar__subnav-item"><a  href="/properties/sold" class="sidebar__subnav-link">Past Transactions</a></li>
209          </ul>
210        </div>
211        <a href="#" class="sidebar__nav-link link main-nav">Properties</a>
212      </li>
213      <li class="sidebar__nav-item">
214        <a  href="/home-search/listings" class="sidebar__nav-link">Search Homes</a>
215      </li>
216      <li class="sidebar__nav-item">
217        <a  href="/home-valuation" class="sidebar__nav-link">Home Valuation</a>
218      </li>
219      <li class="sidebar__nav-item">
220        <a  href="/neighborhoods" class="sidebar__nav-link">Neighborhoods</a>
221      </li>
222      <li class="sidebar__nav-item">
223        <a  href="/press" class="sidebar__nav-link">In the News</a>
224      </li>
225      <li class="sidebar__nav-item">
226        <a  href="/blog" class="sidebar__nav-link">Real Estate Insights</a>
227      </li>
228      <li class="sidebar__nav-item">
229        <a  href="/resources" class="sidebar__nav-link">Resources</a>
230      </li>
231      <li class="sidebar__nav-item">
232        <a  href="/about-sir" class="sidebar__nav-link">About the Brand</a>
233      </li>
234      <li class="sidebar__nav-item">
235        <a  href="/auction" class="sidebar__nav-link">
235Sotheby's Auction House</a>
236      </li>
237      <li class="sidebar__nav-item">
238        <a  href="/contact" class="sidebar__nav-link">Contact Us</a>
239      </li>
240      <li class="sidebar__nav-item">
241        <a  href="/home-search/account" class="sidebar__nav-link">My Search Portal</a>
242      </li>
243    </ul>
244  </div>
245</div>
246        </div>
247        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51">
248            <div class="btn-holder" 
249style="
250--backgroundColor: rgba(0, 35, 73, 1); 
251--textColor: rgba(255, 255, 255, 1); 
252--pillTextColor: rgba(255, 255, 255, 1); 
253--pillBackgroundColor: rgba(145, 112, 53, 1);">
254
255    <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Contact Us</button>
256</div>
257
258
259<div class="pop-up" style="--backgroundColor: rgba(0, 35, 73, 1); --textColor: rgba(255, 255, 255, 1);">
260  <div class="lp-container">
261    <form data-type="contact-form" class="contact-form">
262      <div class="contact-form__container">
263          <h3 class="lp-h3">Leave a Message</h3>
264      
265        <div class="contact-form__content">
266          <div class="contact-form__inputs-container">
267            <div class="contact-form__item">
268              <input
269                id="__FullName"
270                type="text" name="name"
271                class="lp-input lp-input--light"
272                required
273                placeholder="Full Name">
274            </div>
275            <div class="contact-form__item">
276              <input
277                id="__Email"
278                type="email" name="email"
279                class="lp-input js-email-input lp-input--light"
280                required
281                placeholder="Email">
282            </div>
283            <div class="contact-form__item"> 
284              <input
285                class="lp-input lp-input--light"
286                type="tel" 
287                placeholder="Phone"
288                id="__Phone"
289                name="phone"
290                required>
291            </div>
292
293            <div class="contact-form__item input-group-select">
294              <select name="interest" id="-field-interest" placeholder="Interest"
295                class="lp-input dropdown-select js-select js-form-element lp-input--light" required>
296                <option value="" disabled selected data-label="Interest">Interested in...</option>
297                <option value="Selling &amp; Buying">Selling &amp; Buying</option>
298                <option value="Selling">Selling</option>
299                <option value="Buying">Buying</option>
300                <option value="Renting">Renting</option>
301                <option value="Other">Other</option>
302              </select>
303              <label for="-field-interest" class="lp-label sr-only">Interest</label>
304            </div>
305
306            <div class="contact-form__item">
307              <textarea
308                name="message"
309                rows="4"
310                id="__Message"
311                class="lp-input lp-input--light"
312                placeholder="Message"
313                required></textarea>
314            </div>
315            <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
316  <label class='lp-tcr-content'>
317    <span class='lp-tcr-checkbox'>
318      <input
319        type='checkbox'
320        id='-termsAccepted'
321        name='termsAccepted'
322        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
323        oninput="this.setCustomValidity('')"
324        required
325      /></span>
326    <span class='lp-tcr-message'>
327      
328        I agree to be contacted by
329        Christian Di Stasio
330        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
331        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
332        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
333    </span>
334  </label>
335
336</div>
337            <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit  contact-form__item">Submit</button>
338            
339            <div class="lp-h-pot">
340              <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
341            </div>
342            
343            <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
344            <input type="hidden" name="button_text" value="Contact Us">
345          </div>
346        </div>
347      </div>
348
349
350      <div class="success-block">
351          <h3 class="lp-h3 success-message">Thank you for your message. We will be in touch with you shortly.</h3>
352
353      </div>
354    </form>
355
356    <button type="button" class="close-btn lp-ico lp-ico-close"></button>
357
358    
359  </div>
360</div>
361
362
363        </div>
364        <section  class="image-section is-font-color-light is-background-color-light" id="section-890fab23-a813-4443-bd29-980c82ab1
364a85" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb">
365    <div class="redesign custom-intro">
366    <div class="container">
367        <h1 class="custom-intro__title">Real Estate Insights</h1>
368        
369    </div>
370</div>
371
372</section>
373<section id="section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="1e77e4a0-6624-43db-b736-bd434565fece">
374<script type="text/x-handlebars-template" class="gridItem pagination-script"><a href="/blog/{{slug}}" class="blog-list__item">
375  <div class="blog-list__item-image">
376    
377    
378
379    {{#if media.length}}
380      {{{mediaImage media.[0] alt=title}}}
381    {{/if}}
382  </div>
383  
384  <div class="blog-list__item-content">
385    <h4 class="serif">{{title}}</h4>
386    <ul class="blog-list__item-details">
387      
388      {{#isEmpty customAuthor}}
389        {{#if (or createdBy.firstName createdBy.lastName)}}<li class="blog-list__item-author">{{createdBy.firstName}} {{createdBy.lastName}}</li>{{/if}}
390      {{else}}
391        <li class="blog-list__item-author">{{customAuthor}}</li>
392      {{/isEmpty}}
393 
394      <li class="blog-list__item-date">{{hbFormatDate publishedAt 'MM/DD/YY'}}</li>            
395    </ul>
396    
397    {{#if subtitle}}
398    <p>{{truncate (striptags subtitle) 130 "..."}}</p>
399    {{/if}}
400    <span class="link hyperlink-style-1">Read MORE</span>
401  </div>
402</a>
403</script>
403
404
405
406
407
408
409
410<div class="redesign blog-list">
411
412  
413  <div class="container blog-list__container data-container hide-date hide-author">
414      <a href="/blog/two-years-one-lawsuit-one-permit-filing-where-paramuss-route-17-costco-actually-stands" class="blog-list__item">
415        <div class="blog-list__item-image">
416          
417          
418      
419            <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/45bab8f3-16f1-44b6-a3aa-f5262992b91e" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/45bab8f3-16f1-44b6-a3aa-f5262992b91e 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/45bab8f3-16f1-44b6-a3aa-f5262992b91e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/45bab8f3-16f1-44b6-a3aa-f5262992b91e 1536w" alt="Two Years, One Lawsuit, One Permit Filing: Where Paramus&#x27;s Route 17 Costco Actually Stands" loading="lazy">
420        </div>
421        
422        <div class="blog-list__item-content">
423          <h4 class="serif">Two Years, One Lawsuit, One Permit Filing: Where Paramus&#x27;s Route 17 Costco Actually Stands</h4>
424          <ul class="blog-list__item-details">
425            
426              
427       
428            <li class="blog-list__item-date">10/1/26</li>            
429          </ul>
430          
431          <span class="link hyperlink-style-1">Read MORE</span>
432        </div>
433      </a>
434      <a href="/blog/two-records-six-days-apart-what-saddle-rivers-wildest-month-actually-proves-about-its-median-price" class="blog-list__item">
435        <div class="blog-list__item-image">
436          
437          
438      
439            <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/7b53ac6d-5424-4cfd-ab0e-444ae41ded08" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/7b53ac6d-5424-4cfd-ab0e-444ae41ded08 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/7b53ac6d-5424-4cfd-ab0e-444ae41ded08 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/7b53ac6d-5424-4cfd-ab0e-444ae41ded08 1408w" alt="Two Records, Six Days Apart: What Saddle River&#x27;s Wildest Month Actually Proves About Its Median Price" loading="lazy">
440        </div>
441        
442        <div class="blog-list__item-content">
443          <h4 class="serif">Two Records, Six Days Apart: What Saddle River&#x27;s Wildest Month Actually Proves About Its Median Price</h4>
444          <ul class="blog-list__item-details">
445            
446              
447       
448            <li class="blog-list__item-date">09/24/26</li>            
449          </ul>
450          
451          <span class="link hyperlink-style-1">Read MORE</span>
452        </div>
453      </a>
454      <a href="/blog/why-saddle-river-homes-still-run-on-wells-and-septic-tanks-and-what-buyers-should-know" class="blog-list__item">
455        <div class="blog-list__item-image">
456          
457          
458      
459            <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/538f433f-de8a-4fbc-b563-b946e81ebd6e" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/538f433f-de8a-4fbc-b563-b946e81ebd6e 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/538f433f-de8a-4fbc-b563-b946e81ebd6e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/538f433f-de8a-4fbc-b563-b946e81ebd6e 1408w" alt="Why Saddle River Homes Still Run on Wells and Septic Tanks, and What Buyers Should Know" loading="lazy">
460        </div>
461        
462        <div class="blog-list__item-content">
463          <h4 class="serif">Why Saddle River Homes Still Run on Wells and Septic Tanks, and What Buyers Should Know</h4>
464          <ul class="blog-list__item-details">
465            
466              
467       
468            <li class="blog-list__item-date">09/17/26</li>            
469          </ul>
470          
471          <span class="link hyperlink-style-1">Read MORE</span>
472        </div>
473      </a>
474      <a href="/blog/paramus-isnt-building-apartments-because-of-demand-its-following-a-calendar" class="blog-list__item">
475        <div class="blog-list__item-image">
476          
477          
478      
479            <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/ec13327e-fed8-43ab-9743-c54258a564eb" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/ec13327e-fed8-43ab-9743-c54258a564eb 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/ec13327e-fed8-43ab-9743-c54258a564eb 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ec13327e-fed8-43ab-9743-c54258a564eb 1408w" alt="Paramus Isn&#x27;t Building Apartments Because of Demand. It&#x27;s Following a Calendar." loading="lazy">
480        </div>
481        
482        <div class="blog-list__item-content">
483          <h4 class="serif">Paramus Isn&#x27;t Building Apartments Because of Demand. It&#x27;s Following a Calendar.</h4>
484          <ul class="blog-list__item-details">
485            
486              
487       
488            <li class="blog-list__item-date">09/10/26</li>            
489          </ul>
490          
491          <span class="link hyperlink-style-1">Read MORE</span>
492        </div>
493      </a>
494      <a href="/blog/dollar12-million-saddle-river-estate-sets-2026-bergen-county-and-state-residential-sales-record" class="blog-list__item">
495        <div class="blog-list__item-image">
496          
497          
498      
499            <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/4daf4c80-49b4-4a62-8a86-b69c657d8684" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/4daf4c80-49b4-4a62-8a86-b69c657d8684 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/4daf4c80-49b4-4a62-8a86-b69c657d8684 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/4daf4c80-49b4-4a62-8a86-b69c657d8684 1920w" alt="$12 Million Saddle River Estate Sets 2026 Bergen County &amp; State Residential Sales Record" loading="lazy">
500        </div>
501        
502        <div class="blog-list__item-content">
503          <h4 class="serif">$12 Million Saddle River Estate Sets 2026 Bergen County &amp; State Residential Sales Record</h4>
504          <ul class="blog-list__item-details">
505            
506              <li class="blog-list__item-author">Christian Di Stasio</li>
507       
508            <li class="blog-list__item-date">09/3/26</li>            
509          </ul>
510          
511          <p>123 East Saddle River Road closes for $12,000,000, becoming the highest residential sale in Saddle River and Bergen County in 2...</p>
512          <span class="link hyperlink-style-1">Read MORE</span>
513        </div>
514      </a>
515      <a href="/blog/a-putting-green-a-barn-and-a-gallery-why-saddle-river-is-having-an-unusually-public-year" class="blog-list__item">
516        <div class="blog-list__item-image">
517          
518          
519      
520            <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/7b4c67b5-71d3-45ee-adfd-a3baff3ed16e" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/7b4c67b5-71d3-45ee-adfd-a3baff3ed16e 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/7b4c67b5-71d3-45ee-adfd-a3baff3ed16e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/7b4c67b5-71d3-45ee-adfd-a3baff3ed16e 1408w" alt="A Putting Green, a Barn, and a Gallery: Why Saddle River Is Having an Unusually Public Year" loading="lazy">
521        </div>
522        
523        <div class="blog-list__item-content">
524          <h4 class="serif">A Putting Green, a Barn, and a Gallery: Why Saddle River Is Having an Unusually Public Year<
524/h4>
525          <ul class="blog-list__item-details">
526            
527              
528       
529            <li class="blog-list__item-date">09/3/26</li>            
530          </ul>
531          
532          <span class="link hyperlink-style-1">Read MORE</span>
533        </div>
534      </a>
535  </div>
536  <div class="empty-results">Sorry, we couldn't find any results that match that search. Try another search.</div>
537  <div class="pagination-container pagination-container--dark pagination-style-1"></div>
538</div>
539</section>
540<section id="section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="19e4a145-7cee-4338-8873-657ce2636b4c">
541  
542<div class="newsletter-signup lp-vertical-paddings redesign">
543  <div class="lp-container-custom">
544    <form data-type="contact-form" class="newsletter-signup__form">
545      <div class="newsletter-signup__form-container">
546        <div class="lp-title-group">
547          <h2 class="lp-h2">Receive exclusive listings in your inbox</h2>
548          <div class="lp-text--subtitle"><p>Real estate insights, community news, and exclusive listings&mdash;delivered to your inbox.</p></div>
549        </div>
550        <div class="newsletter-signup-form">
551          <div class="newsletter-signup__inputs-container">
552              <input id="section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3__newsSignFirstName" type="text" name="name" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Name">
553              
554            <input id="section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3__newsSignEmail" type="email" name="email" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Email" pattern="[a-zA-Z0-9.!#$%&amp;’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+">
555            
556            <button type="submit" class="lp-btn lp-btn--filled lp-btn--light submit button-style-2 newsletter-signup__form-item lp-btn--mob-full-width">Submit</button>
557            
558            <div class="lp-h-pot">
559              <input id="section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
560            </div>
561            
562            <input style="display: none;" type="text" name="source" value="NEWSLETTER_SIGNUP" />
563          </div>
564        </div>
565        <div class="lp-disclaimer">  <label style='display: none;' for='section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3-termsAccepted'>Opt In/Disclaimer Consent:</label>
566  <label class='lp-tcr-content'>
567    <span class='lp-tcr-checkbox'>
568      <input
569        type='checkbox'
570        id='section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3-termsAccepted'
571        name='termsAccepted'
572        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
573        oninput="this.setCustomValidity('')"
574        required
575      /></span>
576    <span class='lp-tcr-message'>
577      
578        I agree to be contacted by
579        Christian Di Stasio
580        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
581        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
582        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
583    </span>
584  </label>
585
586</div>
587      </div>
588      <div class="success-block">
589        <div class="lp-title-group">
590          <h2 class="lp-h2">Thank You</h2>
591          <div class="lp-text--subtitle"><p>You have successfully been added to our Newsletter. Stay tuned for the latest updates sent straight to your inbox!</p></div>
592        </div>
593      </div>
594    </form>
595    
596  </div>
597</div>
598</section>
599<section  class="image-section is-font-color-light is-background-color-light" id="section-d7116ef0-def3-456f-bf36-0a382985307f" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c">
600    
600<script>
601  (function(){
602    const sectionId = 'section-d7116ef0-def3-456f-bf36-0a382985307f'
603    const section = document.querySelector(`#${sectionId}`);
604    var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image');
605
606    if('true' === 'true') {
607      section.classList.add('parallax-enabled');
608      section.style.setProperty('--sectionBackground', sectionBg);
609      section.style.setProperty('background', 'none');
610    }
611  })()
612</script>
612
613<div class="redesign work-with-us parallax">
614	<div class="container">
615			<h2 class="serif">Work With Us</h2>
616			<div class="description">We bring together a mix of integrity, imagination and an inexhaustible work ethic, striving to make each buying and selling experience the best possible.</div>
617		<div class="btn-container">
618              <a
619                  role="button"
620                  data-type="CONTACT_US"
621                  class="btn btn--primary-light button-style-2"
622                  
623                  
624                  
625                  
626                  
627                  >
628                          Contact Us
629                  </a>
630    </div>
631	</div>
632</div> 
633</section>
634<section id="section-eb4bcd51-4337-41ff-a093-12d135fb4a22"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284">
635  
635<script type="text/x-handlebars-template" class="jsIGItem">
636    <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}">
637      <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div>
638      <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div>
639      {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}}
640    </a> 
641</script>
641
642<div class="ig-feed redesign">
643  <div class="ig-feed-top lp-container">
644    <div class="top-wrapper">
645      <div class="top-left">
646          <h3 class="lp-h3 title">Follow Us on Instagram</h3>
647        <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a>
648      </div>
649      <div class="top-right">
650          <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>
651        <a class="nav-button top-nav-prev hidden-control button-style-1">
652          <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>
653        </a>
654        <a class="nav-button top-nav-next hidden-control button-style-1">
655          <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>
656        </a>
657      </div>
658    </div>
659  </div>
660  <div class="lp-container ig-feed-container ">
661    <div class="ig-feed-feed" data-limit="33">
662    </div>
663  </div>
664  <div class="bottom-controls">
665    <a class="bottom-nav-button bottom-nav-prev button-style-1">
666      <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>
667    </a>
668    <a class="bottom-nav-button bottom-nav-next button-style-1">
669      <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>
670    </a>
671  </div>
672</div>
673
674</section>
675
676        <div id="modals" class="modals"></div>
677        <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="874a9373-949d-4275-b72f-04c2a6ec373b">
678            <div class="footer redesign  no_newsletter "> 
679    <div class="container">
680        <h3>Christian Di Stasio Group</h3>
681        <div class="info-wrap">
682            <div class="info-wrap-contact agent_box">
683                <div class="info-wrap-contact_zone type_user">
684                    <h4 class="serif">Get In Touch</h4>
685                    <div class="info-wrap-contact_cell">
686                        <i>
687                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
688                                <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" />
689                            </svg>
690                        </i>
691                        <p class="contact_title">Email</p>
692                        <a href="/cdn-cgi/l/email-protection#d7b4b397b4bfa5bea4a3beb6b9b3bea4a3b6a4beb8f9b4b8ba" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2"><span class="__cf_email__" data-cfemail="f29196b2919a809b81869b939c969b818693819b9ddc919d9f">[email&#160;protected]</span></a>
693                    </div>
694                    <div class="info-wrap-contact_cell">
695                        <i><svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
696                        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.23
69613 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" />
697                        </svg></i>
698                        <p class="contact_title">Phone Number</p>
699                        <a href="tel:6462807136" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2">646.280.7136</a>
700                    </div>
701                </div>
702                <div class="info-wrap-contact_zone">
703                    <div class="info-wrap-contact_cell">
704                        <i>
705                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
706                                <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 30.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A" />
707                                <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" />
708                                <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" />
709                            </svg>
710                        </i>
711                        <p class="info-wrap-contact_title">Address</p>
712                        <p class="info-wrap-contact_link grey-text"><p>55 N Maple Ave<br>Ridgewood, NJ 07450</p></p>
713                    </div>
714                </div>
715            </div>
716        </div>
717        <div class="text_footer first_text_footer">
718            <div class="images_box">
719                <div class="img_size">
720                    <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/63854641-8d04-4d56-a0d0-4a4ceb2923db" 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/63854641-8d04-4d56-a0d0-4a4ceb2923db 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/63854641-8d04-4d56-a0d0-4a4ceb2923db 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/63854641-8d04-4d56-a0d0-4a4ceb2923db 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/63854641-8d04-4d56-a0d0-4a4ceb2923db 1798w" alt="Footer Image" sizes="200px">
721                </div>
722            </div>
723            <div class="luxury-text">
724                <div id="ipql">
725<p id="iaa1">​​​​​Sotheby&rsquo;s International Realty&reg; and the Sotheby&rsquo;s International Realty Logo are service marks licensed to Sotheby&rsquo;s International Realty Affiliates LLC and used with permission. Prominent Properties Sotheby&rsquo;s International Realty fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. Eac
725h office is independently owned and operated. Any services or products provided by independently owned and operated franchisees are not provided by, affiliated with or related to Sotheby&rsquo;s International Realty Affiliates LLC nor any of its affiliated companies.<br><img id="iivu" style="filter: invert(0);" src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/tguwivacqib9bgbmkkgy/realtor-eho-logo-07232021-update-light" width="100px" height="auto"></p>
726</div>
727<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}#iaa1{font-size:12px;}#iivu{margin-top:20px;}</style>
728            </div>
729        </div>
730        <div class="text_footer second_text_footer">
731            <div class="text_content_wrap">
732                <div>
733                    Sotheby’s International Realty® is a registered trademark licensed to Sotheby’s International Realty Affiliates LLC. Each Office Is Independently Owned and Operated.
734                </div>
735                <div>
736                    <div>&nbsp;</div>
737<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style>
738                </div>
739            </div>
740        </div>
741        <div class="info-privacy">
742          <div class="form-row info-privacy__row">
743
744            <div class="form-col form-col--powered powered-box">
745                    <div class="img-wrap">
746                        <img src="https://media-production.lp-cdn.com/media/b517d231-d9f5-4e15-870d-852a977c9204" alt="">
747                    </div>
748                <div class="powered_zone">
749                    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>
750                </div>
751            </div>
752
753            <div class="form-col form-col--copyright">
754              <div class="copy_zone">
755                <span class="copy_words">Copyright &copy;</span> <span class="auto-year-update">2026</span>
756                | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-2">Privacy Policy</a>
757
758              </div>
759            </div>
760
761            <div class="form-col form-col--socials">
762                <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone">
763                
764                        <li>
765                          <a
766                            href="https://www.facebook.com/DiStasioRealEstateNJ"
767                            class="lp-socials__link socials__item socials__link wow fadeInUp"
768                            data-wow-delay="0s"
769                            target="_blank"
770                            aria-label="FACEBOOK"
771                          >
772                              <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
773                          </a>
774                        </li>
775                        <li>
776                          <a
777                            href="https://www.instagram.com/distasio_realestate/?hl&#x3D;en"
778                            class="lp-socials__link socials__item socials__link wow fadeInUp"
779                            data-wow-delay="0.1s"
780                            target="_blank"
781                            aria-label="INSTAGRAM"
782                          >
783                              <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
784                          </a>
785                        </li>
786                        <li>
787                          <a
788                            href="https://www.linkedin.com/in/christiandistasio/"
789                            class="lp-socials__link socials__item socials__link wow fadeInUp"
790                            data-wow-delay="0.2s"
791                            target="_blank"
792                            aria-label="LINKEDIN"
793                          >
794                              <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
795                          </a>
796                        </li>
797                        <li>
798                          <a
799                            href="https://www.youtube.com/@cdg_realestate"
800                            class="lp-socials__link socials__item socials__link wow fadeInUp"
801                            data-wow-delay="0.3s"
802                            target="_blank"
803                            aria-label="YOUTUBE"
804                          >
805                              <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
806                          </a>
807                        </li>
808                        <li>
809                          <a
810                            href="https://www.google.com/search?q&#x3D;Christian+Di+Stasio%2C+Broker+-+Realtor+%2CReal+Estate+Advisor&amp;oq&#x3D;Christian+Di+Stasio%2C+Broker+-+Realtor+%2CReal+Estate+Advisor&amp;gs_lcrp&#x3D;EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg8MgYIAhBFGD3SAQc4MTJqMGo0qAIAsAIB&amp;sourceid&#x3D;chrome&amp;ie&#x3D;UTF-8#lrd&#x3D;0x89c2e560f82c2b23:0x66fc4add8b557b7,1,,,,"
811                            class="lp-socials__link socials__item socials__link wow fadeInUp"
812                            data-wow-delay="0.4s"
813                            target="_blank"
814                            aria-label="GOOGLE"
815                          >
816                              <span class="lp-i lp-i--google" aria-hidden="true"></span>
817                          </a>
818                        </li>
819                        <li>
820                          <a
821                            href="https://www.zillow.com/profile/Christian%20Di%20Stasio"
822                            class="lp-socials__link socials__item socials__link wow fadeInUp"
823                            data-wow-delay="0.5s"
824                            target="_blank"
825                            aria-label="ZILLOW"
826                          >
827                              <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
828                          </a>
829                        </li>
830                  </ul>            </div>
831          </div>
832        </div>
833    </div>
834</div>
835
836        </footer>
837
838        <div id="modal-global-contact-us" class="modal "
839            data-el-id=""
840            style="background-color: ;"
841            >
842            <div class="modal-content">
843                <div class="contact-form redesign " style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/cd8f9664-e656-4999-ab59-68f2203b5cd0')">
844          <div class="container">
845              <div class="section-details" style="--colorTxt: #ffffff">
846                  <h2>Contact Details</h2>
847                  
848                  <div class="info-zone">
849        
850                          <div class="info-zone_contact type_user">
851                                <h4 class="serif">Christian Di Stasio Group</h4>
852                                <div class="info-zone_contact_cell">
853                                        <i>
854                                            <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
855                                                <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"/>
856                                            </svg>
857                                        </i>
858                                    <p class="contact_title">Phone</p>
859                                    <a href="tel:646.280.7136" class="lp-link info-zone_contact_link link hyperlink-style-2">646.280.7136</a>
860                                </div>
861                                <div class="info-zone_contact_cell">
862                                        <i>
863                                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
864                                                <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"/>
865                                            </svg>
866                                        </i>
867                                    <p class="contact_title">Email</p>
868                                    <a href="/cdn-cgi/l/email-protection#6a090e2a09021803191e030b040e03191e0b19030544090507" class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="395a5d795a514b504a4d5058575d504a4d584a5056175a5654">[email&#160;protected]</span></a>
869                                </div>
870                          </div>
871                          <div class="info-zone_contact">
872                                <div class="info-zone_contact_cell">
873                                        <i>
874                                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
875                                                <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
8750.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"/>
876                                                <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"/>
877                                                <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"/>
878                                            </svg>
879                                        </i>
880                                    <p class="info-wrap-contact_title">Address</p>
881                                    <p class="info-zone_contact_link pre-line">55 N Maple Ave
882        Ridgewood, NJ 07450</p>
883                                </div>
884                          </div>
885                        <div class="info-zone_contact">
886                            <div class="info-zone_contact_cell">
887                                <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p>
888                            </div>
889                        </div>
890                        <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__contact-column">
891                        
892                                <li>
893                                  <a
894                                    href="https://www.facebook.com/DiStasioRealEstateNJ"
895                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
896                                    data-wow-delay="0s"
897                                    target="_blank"
898                                    aria-label="FACEBOOK"
899                                  >
900                                      <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
901                                  </a>
902                                </li>
903                                <li>
904                                  <a
905                                    href="https://www.instagram.com/distasio_realestate/?hl&#x3D;en"
906                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
907                                    data-wow-delay="0.1s"
908                                    target="_blank"
909                                    aria-label="INSTAGRAM"
910                                  >
911                                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
912                                  </a>
913                                </li>
914                                <li>
915                                  <a
916                                    href="https://www.linkedin.com/in/christiandistasio/"
917                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
918                                    data-wow-delay="0.2s"
919                                    target="_blank"
920                                    aria-label="LINKEDIN"
921                                  >
922                                      <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
923                                  </a>
924                                </li>
925                                <li>
926                                  <a
927                                    href="https://www.youtube.com/@cdg_realestate"
928                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
929                                    data-wow-delay="0.3s"
930                                    target="_blank"
931                                    aria-label="YOUTUBE"
932                                  >
933                                      <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
934                                  </a>
935                                </li>
936                                <li>
937                                  <a
938                                    href="https://www.google.com/search?q&#x3D;Christian+Di+Stasio%2C+Broker+-+Realtor+%2CReal+Estate+Advisor&amp;oq&#x3D;Christian+Di+Stasio%2C+Broker+-+Realtor+%2CReal+Estate+Advisor&amp;gs_lcrp&#x3D;EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg8MgYIAhBFGD3SAQc4MTJqMGo0qAIAsAIB&amp;sourceid&#x3D;chrome&amp;ie&#x3D;UTF-8#lrd&#x3D;0x89c2e560f82c2b23:0x66fc4add8b557b7,1,,,,"
939                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
940                                    data-wow-delay="0.4s"
941                                    target="_blank"
942                                    aria-label="GOOGLE"
943                                  >
944                                      <span class="lp-i lp-i--google" aria-hidden="true"></span>
945                                  </a>
946                                </li>
947                                <li>
948                                  <a
949                                    href="https://www.zillow.com/profile/Christian%20Di%20Stasio"
950                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
951                                    data-wow-delay="0.5s"
952                                    target="_blank"
953                                    aria-label="ZILLOW"
954                                  >
955                                      <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
956                                  </a>
957                                </li>
958                          </ul>          </div>
959              </div>
960              <div class="section-message">
961                  <form data-type="contact-form">
962                      <h2>Submit a Message</h2>
963                       <div class="h-pot">
964                        <label for="-middleName">Middle Name</label>
965                        <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
966                      </div>
967        
968        
969                      <div class="lp-input-group">
970                          <label for="prod-name" class="lp-label">Name</label>
971                          <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light">
972                      </div>
973                      <div class="lp-input-group">
974                          <label for="prod-email" class="lp-label">Email</label>
975                          <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light">
976                      </div>
977                      <div class="lp-input-group">
978                          <label for="prod-phone" class="lp-label">Phone</label>
979                          <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light">
980                      </div>
981                      <div class="lp-input-group m16">
982                          <label for="prod-message" class="lp-label">Message</label>
983                          <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea>
984                      </div>
985        
986                      <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
987          <label class='lp-tcr-content'>
988            <span class='lp-tcr-checkbox'>
989              <input
990                type='checkbox'
991                id='-termsAccepted'
992                name='termsAccepted'
993                oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
994                oninput="this.setCustomValidity('')"
995                required
996              /></span>
997            <span class='lp-tcr-message'>
998              
999                I agree to be contacted by
1000                Christian Di Stasio
1001                via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
1002                You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
1003                <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
1004            </span>
1005          </label>
1006        
1007        </div>
1008                      
1009                      <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
1010                      
1011                      
1012                      <button type="submit" class="submitButton lp-btn button-style-2">
1013                          <span class="label-initial">Submit</span>
1014                          <span class="label-loading">Submitting</span>
1015                          <span class="label-success">Submitted</span>
1016                          <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span>
1017                      </button>
1018                      <p class="success-message success hide">
1019                        Message sent successfully!
1020                      </p>
1021                  </form>
1022                  
1023                  
1024              </div>
1025          </div>
1026        </div>
1027        
1028            </div>
1029            <button class="close lp-close" type="button" aria-label="close modal">
1030                <span class="lp-close-icon" aria-hidden="true"></span>
1031            </button>
1032        </div>
1033        <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;">
1034          <style>
1035            #qualifying-questions-modal .custom-select-toggle {
1036              border: 1px solid #848484;
1037              border-radius: 8px;
1038              padding: 12px 16px;
1039            }
1040        
1041            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
1042              color: #848484;
1043            }
1044        
1045            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
1046              color: #848484;
1047              opacity: 1;
1048            }
1049        
1050            #qualifying-questions-modal .disclaimer-more {
1051              display: none;
1052            }
1053        
1054            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
1055              display: inline;
1056            }
1057        
1058            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
1059              display: none;
1060            }
1061          </style>
vendor: 119 bytes, lines 1061-1062
1061
1062          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1062<script>
1063            function toggleDisclaimerQualifyingQuestionsModal() {
1064              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
1065              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
1066        
1067              if (disclaimerText.classList.contains('collapsed')) {
1068                disclaimerText.classList.remove('collapsed');
1069                toggleButton.textContent = 'Read less';
1070                toggleButton.setAttribute('aria-expanded', 'true');
1071              } else {
1072                disclaimerText.classList.add('collapsed');
1073                toggleButton.textContent = 'Read more';
1074                toggleButton.setAttribute('aria-expanded', 'false');
1075              }
1076            }
1077          </script>
1077
1078          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
1079            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
1080              <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;">
1081                <span aria-hidden="true">&times;</span>
1082              </button>
1083              <div style="padding: 40px 30px 32px;">
1084                <div style="text-align: left; margin-bottom: 32px;">
1085                  <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;">
1086                    Thanks, please provide more information to help serve you
1087                  </h2>
1088                </div>
1089                <form id="qualifying-questions-modal-form" data-type="contact-form">
1090                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
1091                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
1092                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
1093                  <label for="qualifying-questions-modal-email" style="display:none;">
1094                    Email
1095                  </label>
1096                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
1097                    Trigger Source
1098                  </label>
1099        
1100                  <div style="margin-bottom: 20px;">
1101                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
1102                      Phone Number
1103                    </label>
1104                    <input
1105                      type="tel"
1106                      id="qualifying-questions-modal-phoneNumber"
1107                      name="phoneNumber"
1108                      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;"
1109                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
1110                      required
1111                      placeholder="Phone"
1112                      aria-label="Phone Number"
1113                      inputmode="tel"
1114                      autocomplete="tel"
1115                      onfocus="this.style.borderColor='black';"
1116                      onblur="this.style.borderColor='#848484';"
1117                    />
1118                  </div>
1119        
1120                  <div style="margin-bottom: 20px;">
1121                    <label for="qualifying-questions-modal-interest" style="display:none;">
1122                      Interest
1123                    </label>
1124                    <select
1125                      id="qualifying-questions-modal-interest"
1126                      name="interest"
1127                      required
1128                      data-label="Interest"
1129                      aria-label="Interest"
1130                      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;"
1131                      onfocus="this.style.borderColor='black'; this.style.color='black';"
1132                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
1133                    >
1134                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
1135                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
1136                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
1137                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
1138                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
1139                      <option value="Other" style="background: #fff; color: black;">Other</option>
1140                    </select>
1141                  </div>
1142        
1143                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
1144                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
1145                    <label class='lp-tcr-content'>
1146                      <span class='lp-tcr-checkbox'>
1147                        <input
1148                          type='checkbox'
1149                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
1150                          name='termsAccepted'
1151                          aria-describedby='qualifying-questions-modal-disclaimer-text'
1152                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
1153                          oninput="this.setCustomValidity('')"
1154                          required
1155                        /></span>
1156                      <span class='lp-tcr-message'>
1157                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
1158                          
1159                            I agree to be contacted by
1160                            <strong>Christian Di Stasio</strong>
1161                            via call, email, and text <span class="disclaimer-more">for real estate services. 
1162                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
1163                            You can also click the unsubscribe link in the emails. 
1164                            Message and data rates may apply. Message frequency may vary.</span>
1165                            <span class="disclaimer-ellipsis">...</span>
1166                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
1167                        </div>
1168                        <button
1169                          id="qualifying-questions-modal-toggle-disclaimer"
1170                          type="button"
1171                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
1172                          aria-expanded="false"
1173                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
1174                        >
1175                          Read more
1176                        </button>
1177                      </span>
1178                    </label>
1179                  </div>
1180        
1181                  <div>
1182                    <button
1183                      type="submit"
1184                      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;"
1185                      onmouseover="this.style.background='transparent'; this.style.color='black';"
1186                      onmouseout="this.style.background='black'; this.style.color='white';"
1187                    >
1188                      Submit
1189                    </button>
1190                  </div>
1191                </form>
1192              </div>
1193            </div>
1194          </div>
1195        </div>
1196
1197    
1197<script>
1198        (function() {
1199        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
1200
1201        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
1202            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
1203            entries.forEach(function(video) {
1204                if (video.isIntersecting) {
1205                for (var source in video.target.children) {
1206                    var videoSource = video.target.children[source];
1207                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
1208                    videoSource.src = videoSource.dataset.src;
1209                    }
1210                }
1211
1212                video.target.load();
1213                video.target.classList.remove("lazy");
1214                lazyVideoObserver.unobserve(video.target);
1215                }
1216            });
1217            });
1218
1219            lazyVideos.forEach(function(lazyVideo) {
1220                lazyVideoObserver.observe(lazyVideo);
1221            });
1222        }
1223        })();
1224    </script>
1224
1225
1226        <!-- Global site tag (gtag.js) - Google Analytics -->
1227        
1227<script defer src="https://www.googletagmanager.com/gtag/js"></script>
1227
1228
1229            <!-- Google Tag Manager -->
1230            
1230<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1231                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1232                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
1233                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1234            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
1234
1235            <!-- End Google Tag Manager -->
1236
1237
1238        <!-- LP Tracker (divolte.js) - LP Divolte -->
1239            
1239<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
1239
1240        <!-- LP Tracker (eventBus) - LP EventBus -->
1241            
1241<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
1241
1242
1243    
1243<script>
1244        window.dataLayer = window.dataLayer || [];
1245        document.sendGoogleTagManagerEvent = function() {
1246            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
1247            if (window.navigator.globalPrivacyControl) {
1248                return;
1249            }
1250
1251            dataLayer.push(arguments);
1252        }
1253
1254        document.sendGoogleTagManagerEvent('js', new Date());
1255            document.sendGoogleTagManagerEvent('config', 'G-YH7MK9B0KX', { page: location.pathname, location: location.href });
1256        document.sendGoogleAnalyticsEvent = function(googleEvent) {
1257            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
1258                event_category: googleEvent.eventCategory,
1259                event_label: googleEvent.eventLabel,
1260                value: googleEvent.eventValue,
1261                page: googleEvent.page,
1262                location: googleEvent.location
1263            })
1264        };
1265
1266        document.addEventListener("DOMContentLoaded", function() {
1267            (function() {
1268                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
1269                var date = new Date();
1270                var elements = document.getElementsByClassName('auto-year-update');
1271                var i;
1272                for (i = 0; i < elements.length; i++) {
1273                    elements[i].innerText = date.getFullYear();
1274                }
1275            })();
1276            if (window.divolteLp) {
1277                window.divolteLp('sendLpPageView', {});
1278            }
1279            if (window.eventBusLp) {
1280                window.eventBusLp('sendLpPageView', {});
1281            }
1282        });
1283    </script>
1283
1284
1285
1286    
1286<script>
1287    // Function to dynamically load a script
1288    function loadScript(url, callback) {
1289        var script = document.createElement('script');
1290        script.type = 'text/javascript';
1291        script.src = url;
1292        script.defer = true;
1293        script.async = true;
1294        script.onload = callback;
1295        document.head.appendChild(script);
1296    }
1297
1298    // Function to dynamically load CSS file
1299    function loadCSS(url) {
1300        var link = document.createElement("link");
1301        link.rel = "stylesheet";
1302        link.href = url;
1303        document.head.appendChild(link);
1304    }
1305
1306    // Global methods / variables that can be accessed by element js
1307    window.luxuryPresence = {
1308        libs: {
1309            loadJs: loadScript,
1310            loadCss: loadCSS,
1311            jsLibsMap: {
1312                paroller: {
1313                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
1314                    isLoaded: false,
1315                },
1316                ionRangeSlider: {
1317                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
1318                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
1319                    isLoaded: false,
1320                    requires: ['jquery'],
1321                },
1322                splide: {
1323                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
1324                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
1325                    isLoaded: false,
1326                },
1327                wow: {
1328                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
1329                    isLoaded: false,
1330                },
1331                jquery: {
1332                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
1333                    isLoaded: false,
1334                },
1335                slick: {
1336                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
1337                    isLoaded: false,
1338                    requires: ['jquery'],
1339                },
1340                libphonenumber: {
1341                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
1342                    isLoaded: false,
1343                },
1344            },
1345        },
1346    };
1347    </script>
1347
1348    
1348<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>
1348
1349    
1349<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1349
1350    
1350<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1350
1351    
1351<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1351
1352    
1352<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>
1352
1353    
1353<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>
1353
1354    
1354<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>
1354
1355
1356    <!-- GOOGLE TRANSLATE SCRIPT -->
1357    
1357<script>
1358        function googleTranslateElementInit() {
1359            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
1360            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
1361            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
1362            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
1363                translate.innerText = '';
1364                new google.translate.TranslateElement({
1365                    pageLanguage: 'en',
1366                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
1367                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
1368                }, translate);
1369            });
1370        }
1371    </script>
1371
1372    
1372<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1372
1373            
1373<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1373
1374
1375    <!-- GOOGLE TRANSLATE SCRIPT END-->
1376    
1376<script>
1377
1378        // UI helpers
1379        (function () {
1380
1381            function getSideMenu () {
1382                return document.querySelector('body > div.sidemenu');
1383            }
1384
1385            function sideMenuHide (instant) {
1386                var sideMenu = getSideMenu();
1387                if (!sideMenu || !sideMenu.classList.contains('visible')) {
1388                  return;
1389                }
1390                sideMenu.classList.remove('visible');
1391                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
1392                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
1393            }
1394
1395            function sideMenuShow () {
1396                var sideMenu = getSideMenu();
1397                if (!sideMenu || sideMenu.classList.contains('visible')) {
1398                  return;
1399                }
1400                sideMenu.classList.add('visible');
1401                sideMenu.dispatchEvent(new Event('lpui-show'));
1402                window.dispatchEvent(new Event('lpui-sidemenu-show'));
1403            }
1404
1405            function sideMenuToggle () {
1406                var sideMenu = getSideMenu();
1407                if (!sideMenu) {
1408                  return;
1409                }
1410                var isSideMenuVisible = sideMenu.classList.contains('visible');
1411                if (isSideMenuVisible) {
1412                    sideMenuHide();
1413                } else {
1414                    sideMenuShow();
1415                }
1416            }
1417
1418            var scrollLockRequests = {};
1419            window.__debug_scrollLockRequests = scrollLockRequests;
1420            var hideScrollStyles = ''+
1421                    'body {'+
1422                    'overflow: hidden;' +
1423                    '}';
1424            var hideScrollId = 'hide-body-scroll-style';
1425
1426            function scrollLock () {
1427                var style = document.createElement('style');
1428                style.id = hideScrollId;
1429                style.textContent = hideScrollStyles;
1430                document.head.appendChild(style);
1431                window.dispatchEvent(new Event('lpui-scroll-locked'));
1432            }
1433
1434            function scrollUnlock () {
1435                document.getElementById(hideScrollId)?.remove();
1436                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
1437            }
1438
1439            function requestScrollLock (lockId) {
1440                var wasLocked = Object.keys(scrollLockRequests).length > 0;
1441                scrollLockRequests[lockId || '__anonymous_lock'] = true;
1442                if (!wasLocked) {
1443                    scrollLock();
1444                }
1445            }
1446
1447            function releaseScrollLock (lockId) {
1448                if (lockId) {
1449                    delete scrollLockRequests[lockId];
1450                    if (!Object.keys(scrollLockRequests).length) {
1451                        scrollUnlock();
1452                    }
1453                } else {
1454                    scrollLockRequests = {};
1455                    window.__debug_scrollLockRequests = scrollLockRequests;
1456                    scrollUnlock();
1457                }
1458            }
1459
1460            function showModal (modalId, options) {
1461                var modal = document.getElementById(modalId);
1462                if (!modal) {
1463                    return;
1464                }
1465
1466                if (!modal.classList.contains('visible')) {
1467                    modal.classList.add('visible');
1468                    if (options && options.scrollLock) {
1469                        window.lpUI.requestScrollLock(modalId);
1470                    }
1471                    modal.dispatchEvent(new Event('lpui-show'));
1472                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
1473                }
1474
1475                const visibleModals = document.querySelectorAll('.modal.visible');
1476
1477                if (visibleModals.length > 1) {
1478
1479                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
1480                        const zIndex = window.getComputedStyle(modal).zIndex;
1481                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
1482                        return Math.max(maxZIndex, parsedZIndex);
1483                    }, 0);
1484
1485                    modal.style.zIndex = maxZIndex + 1;
1486                }
1487
1488            }
1489
1490            function _hideModal (modalEl) {
1491                if (!modalEl) {
1492                    return;
1493                }
1494                if (!modalEl.classList.contains('visible')) {
1495                    return;
1496                }
1497                modalEl.classList.remove('visible');
1498                modalEl.style.zIndex = '';
1499                modalEl.dispatchEvent(new Event('lpui-hide'));
1500                var modalId = modalEl.getAttribute('id');
1501                if (modalId) {
1502                    window.lpUI.releaseScrollLock(modalId);
1503                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
1504                }
1505            }
1506
1507            function hideModal (modalId) {
1508                _hideModal(document.getElementById(modalId));
1509            }
1510
1511            function hideClosestModal (el) {
1512              const modal = el?.closest('.modal');
1513              if (!modal) {
1514                return;
1515              }
1516              if (modal.classList) {
1517                _hideModal(modal);
1518                return;
1519              }
1520              if (modal.length && modal[0].classList) {
1521                _hideModal(modal[0]);
1522              }
1523            }
1524
1525            window.lpUI = {
1526                sideMenuHide: sideMenuHide,
1527                sideMenuShow: sideMenuShow,
1528                sideMenuToggle: sideMenuToggle,
1529                requestScrollLock: requestScrollLock,
1530                releaseScrollLock: releaseScrollLock,
1531                showModal: showModal,
1532                hideModal: hideModal,
1533                hideClosestModal: hideClosestModal
1534            }
1535        })();
1536
1537        var stringifyPrimitive = function(v) {
1538            switch (typeof v) {
1539                case 'string':
1540                    return v;
1541
1542                case 'boolean':
1543                    return v ? 'true' : 'false';
1544
1545                case 'number':
1546                    return isFinite(v) ? v : '';
1547
1548                default:
1549                    return '';
1550            }
1551        };
1552
1553        function objectToQuerystring(obj, sep, eq, name) {
1554            // https://github.com/Gozala/querystring/blob/master/encode.js
1555            sep = sep || '&';
1556            eq = eq || '=';
1557            if (obj === null) {
1558                obj = undefined;
1559            }
1560
1561            if (typeof obj === 'object') {
1562                return Object.keys(obj).map(function(k) {
1563                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
1564                    if (Array.isArray(obj[k])) {
1565                        return obj[k].map(function(v) {
1566                            return ks + encodeURIComponent(stringifyPrimitive(v));
1567                        }).join(sep);
1568                    } else {
1569                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
1570                    }
1571                }).filter(Boolean).join(sep);
1572
1573            }
1574
1575            if (!name) return '';
1576            return encodeURIComponent(stringifyPrimitive(name)) + eq +
1577                    encodeURIComponent(stringifyPrimitive(obj));
1578        }
1579
1580        function getPath(url, options) {
1581            var parser = document.createElement('a');
1582            parser.href = url || '';
1583            var path = parser.pathname || '';
1584            if (path[0] !== '/') {
1585              // IE does not return path starting with a slash
1586              path = '/' + path;
1587            }
1588
1589            if (options && options.queryString) {
1590                path += parser.search;
1591            }
1592
1593            return path;
1594        }
1595
1596        function getMLSAutocomplete(keyword) {
1597            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1598            var query = {
1599                kind: 'listings',
1600                query: keyword
1601            };
1602
1603            return superagent
1604                .get(searchURL)
1605                .query(query)
1606                .then(function(res) {
1607                    var data = res.body || [];
1608                    // Array of listing_auto_complete documents: id, display_address, city, state,
1609                    // price, sold_price, status, status_modified_at, photo_urls (array of URLs).
1610
1611                    return data;
1612                });
1613        }
1614
1615        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
1616            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
1617
1618            return superagent
1619                .get(searchURL)
1620                .query({ kind: 'listings', query: keyword, ...filters })
1621                .then(function(res) {
1622                    // Same response shape as getMLSAutocomplete.
1623                    return res.body || [];
1624                });
1625        }
1626
1627        function makeMlsLink(data) {
1628            // Code Dupe from utils/googlePlace
1629            // mapping of google data type to mls data type
1630            var mapping = {
1631                neighborhood: 'neighborhood',
1632                locality: 'place',
1633                administrative_area_level_2: 'county',
1634                administrative_area_level_1: 'state',
1635                postal_code: 'postalcode',
1636            };
1637
1638            function _filterTypes(types) {
1639                return types.filter(function(type) { return type !== 'political' });
1640            }
1641
1642            if (!data || !Object.keys(data).length) {
1643                return '/home-search/listings';
1644            }
1645
1646            var newData = {};
1647            _filterTypes(data.types).forEach(function(type) {
1648                if (mapping[type]) {
1649                    newData.search_type = mapping[type];
1650                }
1651            });
1652            newData.omnibox = data.formatted_address;
1653            data.address_components.forEach(function(component) {
1654                _filterTypes(component.types).forEach(function(type) {
1655                    if (mapping[type]) {
1656                        newData[mapping[type]] = component.long_name;
1657                    }
1658                });
1659            });
1660            var bounds = data.geometry.bounds;
1661            var convertedData = Object.assign(bounds, newData);
1662
1663            return '/home-search/listings?' + objectToQuerystring(convertedData);
1664        }
1665
1666        function debounce(func, wait) {
1667            let timeout;
1668            return function(...args) {
1669                const context = this;
1670                clearTimeout(timeout);
1671                timeout = setTimeout(() => func.apply(context, args), wait)
1672            }
1673        }
1674
1675        // Global methods / variables that can be accessed by element js
1676        window.luxuryPresence = {
1677            ...window.luxuryPresence,
1678            defaults: {
1679                companyId: '43b40804-f64c-4ba1-8c4a-829d577aef20',
1680                apiGatewayUrl: '/api-gw',
1681                routerUrl: '/api-nv',
1682                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\
1682n    }\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
1682s: 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"},
1683                propertyPlaceholderImage: {"id":"9ac03eb9-561a-4285-a2ca-8544b13be045","alt":null,"bytes":86018,"width":1920,"format":"jpeg","height":1200,"pngUrl":"","shared":true,"curated":false,"duration":null,"largeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/36c0be31-8392-45f2-b3c0-3ac99acc0476","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/36c0be31-8392-45f2-b3c0-3ac99acc0476","authorUrl":null,"createdAt":"2026-01-02T02:08:06.671Z","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/36c0be31-8392-45f2-b3c0-3ac99acc0476","sourceUrl":null,"updatedAt":"2026-01-02T02:08:06.671Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/36c0be31-8392-45f2-b3c0-3ac99acc0476","__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/36c0be31-8392-45f2-b3c0-3ac99acc0476","description":null,"displayName":"property-placeholder","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/36c0be31-8392-45f2-b3c0-3ac99acc0476","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/36c0be31-8392-45f2-b3c0-3ac99acc0476","originalFileName":"Property Placeholder","cloudinaryPublicId":"36c0be31-8392-45f2-b3c0-3ac99acc0476"}
1684            },
1685            objectToQuerystring: objectToQuerystring,
1686            getPath: getPath,
1687            getMLSAutocomplete: getMLSAutocomplete,
1688            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
1689            makeMlsLink: makeMlsLink,
1690            debounce: debounce,
1691        };
1692
1693        var wowOffset = 100;
1694    </script>
1694
1695    
1695<script>
1696        (()=>{function e(e){return e&&e.__esModule?e.default:e}var t={},i={};i={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let i=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===i[1].toLowerCase().indexOf("video"))return null;let 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("/")}},t=function(e,{isEqual:t}){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,i,s){return t(e,i)?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(/&nbsp;/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,"&#10;")).replace(/&nbsp;/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;
1696i&&(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())),`
1696<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}
1696return 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:i.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 s{constructor(e,t,i){if(this.config=e,this.window=t,this.document=i,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let r="lp_lead_form_conversion_fired";function a(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(r)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(r,"true")}catch{}}catch{}}function o(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let n="/api/v1/home-valuation";class l extends s{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let 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
1696ontact 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
1696ourceResource,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 a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:s.signal});clearTimeout(r);let n=await a.text(),l=this._parseResponsePayload(n);if(!a.ok)throw this._createResponseError(l,a.status);if(l&&"success"===l.status&&l.redirectUrl){if(o(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:o}=this._extractAddressAndCoordinates(s),l=`${t}${n}`,d=this._buildHomeValuationData(e,r,a,o),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()}${n}`;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,o=setTimeout(()=>a.abort(),1e4);try{let e=await fetch(r,{headers:{Accept:"application/json"},signal:a.signal});if(clearTimeout(o),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(o),e}}}let d="middleName",c="redirect-pending",u=["name","firstName","lastName",d,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],h="lp_map_key_failed",p="oauthSuccess",m={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
1696]+)/);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 g(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function y(e,t){t.forEach(t=>{let i=e[t];Array.isArray(i)&&0===i.length&&delete e[t]})}function f(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 v(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=>v(e)):e}function b(e){let{region:t}=e;if(!g(t))return e;let{schools:i,pois:s,...r}=t,a={...r,schools:g(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 S(e){return e&&Array.isArray(e)?e.map(e=>b(e)):e}function _(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let i=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:i}}function E(e){return e&&Array.isArray(e)?e.map(e=>_(e)):e}function I(e,t){return g(e)?t(e):e}function A(e,t){return Array.isArray(e)?t(e):e}var L={};L=`
1697  query PropertyDisclaimers($input: PropertyDisclaimersInput!) {
1698    propertyDisclaimers(input: $input) {
1699      feedId
1700      listingId
1701      resolvedFromListing
1702      listingCardAttribution
1703      listingDetailCourtesy
1704      listingDetailFooter
1705      logo
1706    }
1707  }
1708`;let $={mlsAttribution:"listingCardAttribution",mlsLogo:"logo",listingDetailCourtesy:"listingDetailCourtesy",listingDetailFooter:"listingDetailFooter"},x=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}}}({}),T=new class extends s{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 >
1708 .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})}}}(x,window,document),C=new class extends s{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=)
1708)|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=`
1709      <div id="modal-${i.id}" class="modal visible">
1710        <div class="modal-content">
1711          <div class="lightbox-video">
1712            <div class="video-player">
1713              <div class="embed-container">
1714                ${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>`}
1715              </div>
1716            </div>
1717          </div>
1718        </div>
1719        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
1720      </div>
1721    `;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,{})}}(x,window,document),k=new class extends s{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("")})}}}(x,window,document),M=new class extends s{constructor(e,t,i){super(e,t,i),this.forms=[],this.homeValuationService=new l(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=>!u.includes(e)).reduce((t,i)=>(t[i]=e[i],t),{}),{pageId:o,companyId:n,websiteId:l,pageMeta:d}=r,c=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(c)}},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
1721=>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);a(this.window,this.document);let r=await this._waitForLeadSubmit(e=>this._submitLeadRequest(s,e));if(this._sendGAEvent(s),r?.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(o(i))return null;throw e});try{return await Promise.race([r,s])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(c),e.querySelector(`.${c}__indicator`))return;let t=this.document.createElement("div");t.className=`${c}__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===d)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")}}(x,window,document),P=new class extends s{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(h)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(h,"1"):this.window.sessionStorage.removeItem(h)}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");
1721let 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),""}}}(x,window,document),U=new class extends s{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
1721URIComponent(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}}(x,window,document),N=new class extends s{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=`
1722      <button class="lp-lightbox__close" aria-label="close modal"></button>
1723      <div class="lp-lightbox__content">
1724        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
1725          <div class="splide__arrows">
1726            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
1727            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
1728          </div>
1729          <div class="splide__track">
1730            <ul class="splide__list"></ul>
1731          </div>
1732        </div>
1733      </div>
1734    `,"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
1734h(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=`
1735        <button class="lp-lightbox__close" aria-label="close modal"></button>
1736        <div class="lp-lightbox__content">
1737          <div class="lp-lightbox__carousel"></div>
1738        </div>
1739      `,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}))}}(x,window,document),R=new class extends s{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId: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",{})}}(x,window,document),B=new class extends s{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"}
1739)),(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",{})}}(x,window,document),D=new class extends s{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(p,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(p);this.window.dispatchEvent(e),a(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"];
1739return 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")}}}(x,window,document),O=new class extends s{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})}}(x,window,document),q=new class extends s{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=`
1740      query {
1741        validSession {
1742          success
1743        }
1744      }
1745    `;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}}(x,window,document),V=new class extends s{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=m[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))}}(x,window,document),F=new class extends s{destroy(){}transformVariables(e,t){let i;return y(i={...t},["testimonialId"]),f(i,["testimonialId"],"testimonialIds"),0===i.limit&&delete i.limit,(void 0===i.limit||null===i.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(i.limit=50),("agents"===e||"agentsCount"===e||"developments"===e||"developmentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(i.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(i),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":y(e,["testimonialIds"]);break;case"agents":case"agentsCount":y(e,["officeId","teamId","developmentId","agentIds","tags"]),f(e,["officeId"],"officeIds"),f(e,["teamId"],"teamIds"),f(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":y(e,["neighborhoodIds","neighborhoodId"]),f(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":y(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),f(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":y(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1745spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>f(e,[t],t)),f(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),f(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),f(e,["networkId"],"networkId"),f(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":y(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),f(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":y(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),f(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":y(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),f(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":y(e,["officeId","officeIds","tags"]),f(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":y(e,["teamId","teamIds"]),f(e,["teamId"],"teamIds");break;case"pois":y(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?I(t,v):"agents"===e||"agentsCount"===e?A(t,w):"neighborhood"===e?I(t,b):"neighborhoods"===e||"neighborhoodsCount"===e?A(t,S):"development"===e?I(t,_):"developments"===e||"developmentsCount"===e?A(t,E):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}applyPropertyDisclaimers(t,i){if(!Array.isArray(t)||!t.length||!i||!i.length)return Promise.resolve(t);let s=t.filter(e=>e&&e.vendorId&&e.mlsId).map(e=>({feedId:e.vendorId,listingId:e.mlsId,officeName:e.officeName??null,agentMlsId:e.mlsAgentId??null,officeMlsId:e.mlsOfficeId??null,attributionContact:e.attributionContact??null,status:e.status??null,syncedAt:e.syncedAt??null})),r=e=>{let s={};return(e||[]).forEach(e=>{s[`${e.feedId}:${e.listingId}`]=e}),t.map(e=>{let t=e&&s[`${e.vendorId}:${e.mlsId}`],r={};return i.forEach(e=>{let i=t?t[$[e]]:void 0;r[e]=i??null}),{...e,...r}})};if(!s.length)return Promise.resolve(r([]));let{websiteId:a}=this.config;return this.window.superagent?this.window.superagent.post(`${this.window.luxuryPresence.defaults.routerUrl}/graphql`).withCredentials().send({query:e(L),variables:{input:{websiteId:"string"==typeof a?a:void 0,properties:s}}}).then(e=>r(e.body&&e.body.data&&e.body.data.propertyDisclaimers),e=>(console.warn("[RouterApiController] propertyDisclaimers lookup failed:",e),r([]))):Promise.resolve(r([]))}}(x,window,document);function j(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}j("config",x),j("modals",T),j("buttons",C),j("validation",k),j("contactForms",M),j("mapApiLoader",P),j("pagination",U),j("expandSliders",N),j("divolte",R),j("eventBus",B),j("oauth",D),j("qualifyingQuestionsModal",O),j("session",q),j("consent",V),j("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(){}}),j("routerApi",F),window.luxuryPresence.formatSliderPriceRange=U.formatSliderPriceRange.bind(U),window.luxuryPresence.formatSliderAreaRange=U.formatSliderAreaRange.bind(U),window.luxuryPresence.getSearchFormValues=U.getSearchFormValues.bind(U),window.luxuryPresence.handlebarsHelpersFactory=function(i){return e(t)(i,{isEqual:(e,t)=>e==t})}})();
1746//# sourceMappingURL=lp-sdk.js.map
1747
1748    </script>
1748
1749
1750    
1750<script>
1751        var lpGlobalInitialized = false;
1752
1753        function lpGlobalInit () {
1754          if (lpGlobalInitialized) {
1755            return;
1756          }
1757            lpGlobalInitialized = true;
1758            // Initialize wow animation plugin only according to turbolinks
1759            var wow;
1760            if (window.WOW) {
1761                wow = new WOW({
1762                    animateClass: 'animated',
1763                    offset: wowOffset,
1764                    live: false,
1765                    callback: function(box) {}
1766                });
1767            }
1768            // Initialize handlebar helpers only once
1769            function handlebarsInit() {
1770              if (!window.Handlebars) {
1771                return;
1772              }
1773              HandlebarsIntl.registerWith(Handlebars);
1774              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
1775            }
1776
1777            handlebarsInit();
1778
1779              var modalContentUrl = "/modals.html";
1780                const modalsContainer = document.getElementById('modals');
1781                if (modalsContainer) {
1782                  fetch(modalContentUrl).then(function(res) {
1783                    if (!res.ok) {
1784                      throw new Error(`HTTP error! Status: ${res.status}`);
1785                    }
1786                    return res.text();
1787                  }).then(function(resultText) {
1788                    modalsContainer.innerHTML = resultText;
1789
1790                    // now we need to execute all script elements
1791                    Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) {
1792                      const script  = document.createElement("script");
1793                      script.text = s.innerHTML;
1794                      Array.from(s.attributes).forEach(function (a) {
1795                        script.setAttribute(a.name, a.value);
1796                      })
1797                      s.parentNode.replaceChild(script, s);
1798                    });
1799
1800                    try {
1801                      window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes);
1802                      window.luxuryPresence.contactForms.initialize({ selector: '#modals' });
1803                      window.luxuryPresence.validation.initialize({ selector: '#modals' });
1804                      window.luxuryPresence.oauth.initialize({
1805                        googleSignOnEnabled: true,
1806                        iframe: false });
1807                    } catch (e) {
1808                      console.log(e);
1809                    }
1810                    document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => {
1811                      closeModalBtn.addEventListener('click', function() {
1812                        window.lpUI.hideClosestModal(closeModalBtn);
1813                      });
1814                    });
1815                  }).catch((e) => console.log(e));
1816                }
1817            /* Initialize Luxury Presence SDK */
1818            try {
1819                window.luxuryPresence.config.setCompany("43b40804-f64c-4ba1-8c4a-829d577aef20", {});
1820                window.luxuryPresence.config.setWebsite("42744f60-1a03-40b4-89f8-9a0aacb720aa", {
1821                    myhomeDashboardEnabled: true,
1822                    mlsEnabled: true,
1823                    hstValuationRedirectEnabled: true,
1824                    hvStepTwoCaptureEnabled: false
1825                });
1826                const url = new URL(window.location.href);
1827                const shareId = url.searchParams.get('shareId');
1828                window.luxuryPresence.config.setPage("98f2f76d-1d64-444e-a824-58f61a311c93", {
1829                    sourceResource: "",
1830                    pageElementId: "",
1831                    pageQueryVariables: {},
1832                    shareId: "",
1833                });
1834                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
1835                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
1836                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
1837                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
1838                  window.luxuryPresence.config.setEventBus({
1839                    enabled: true,
1840                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
1841                    url: "https://p.luxurypresence.com",
1842                  });
1843                window.luxuryPresence.config.setTemplateId("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {});
1844                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
1845                window.luxuryPresence.buttons.initialize({});
1846                    window.luxuryPresence.consent.initialize({ provider: 'lp-consent' });
1847                window.luxuryPresence.contactForms.initialize({});
1848                window.luxuryPresence.validation.initialize({});
1849                window.luxuryPresence.expandSliders.initialize({});
1850                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
1851                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
1852            } catch (e) {
1853                console.log(e);
1854            }
1855
1856            /* Inject Section Specific Javascript */
1857                try {
1858(function init(sectionDomId) {
1859  const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content');
1860  if (disclaimerLabel) {
1861    const input = disclaimerLabel.querySelector('input');
1862    if (input) {
1863      input.setAttribute('id', `${sectionDomId}-termsAccepted`);
1864      input.value = 'true';
1865      const label = document.createElement('label');
1866      label.setAttribute('for', `${sectionDomId}-termsAccepted`);
1867      label.classList.add('lp-visually-hidden');
1868      label.textContent = 'Opt in/Disclaimer Consent:';
1869      disclaimerLabel.prepend(label);
1870    }
1871  }
1872  function setHttp(link) {
1873    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
1874      link = 'https://' + link;
1875    }
1876    return link;
1877  }
1878  const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link');
1879  socialLinks.forEach(linkElement => {
1880    const href = linkElement.getAttribute('href');
1881    if (href) {
1882      linkElement.setAttribute('href', setHttp(href));
1883    }
1884  });
1885  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
1886  if (redirectLink.length) {
1887    const rawHref = setHttp(redirectLink.attr('href'));
1888    let formEvent;
1889    if (rawHref) {
1890      formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset';
1891      $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () {
1892        redirectLink.attr('href', rawHref);
1893        redirectLink[0].click();
1894      });
1895    }
1896  }
1897})('modal-global-contact-us');
1898} catch(e) {
1899console.log(e);
1900}
1901                
1902                try {
1903(function init(sectionDomId) {
1904  const $section = $('#' + sectionDomId);
1905  const $hamburger = $section.find('.hamburger-component');
1906  function onSideMenuShow() {
1907    if (!$hamburger.hasClass('active')) {
1908      $hamburger.addClass('active');
1909    }
1910  }
1911  function onSideMenuHide() {
1912    $hamburger.removeClass('active');
1913  }
1914  const $window = $(window);
1915  $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow);
1916  $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide);
1917  const $subContainers = $section.find('.navigation__item.sub-nav-container');
1918  $subContainers.hover(function () {
1919    $(this).find('.sub-nav').addClass('visible');
1920  }, function () {
1921    $(this).find('.sub-nav').removeClass('visible');
1922  });
1923  $window.on('click.lpui-auto-clean', function () {
1924    $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown');
1925  });
1926  let fixedWidth = 0;
1927  const rightPad = 20;
1928  function fixSubsPosition() {
1929    const wWidth = window.innerWidth;
1930    if (innerWidth === fixedWidth) {
1931      return;
1932    }
1933    fixedWidth = wWidth;
1934    $subContainers.each(function () {
1935      const $sub = $(this).find('.sub-nav');
1936      $sub[0].style.right = '';
1937      const sRect = $sub[0].getBoundingClientRect();
1938      const sRight = sRect.left + sRect.width;
1939      if (sRight > wWidth - rightPad) {
1940        const parentRect = $sub[0].offsetParent.getBoundingClientRect();
1941        const parentRight = parentRect.left + parentRect.width;
1942        $sub[0].style.right = `${parentRight - wWidth + rightPad}px`;
1943      }
1944    });
1945  }
1946  var debouncer;
1947  $window.on('resize.lpui-auto-clean', function () {
1948    clearTimeout(debouncer);
1949    debouncer = setTimeout(fixSubsPosition, 500);
1950  });
1951  fixSubsPosition();
1952  if ($('.property-intro').length || $('.property-intro-2').length) {
1953    $('nav').addClass('dark-opening');
1954    $("#global-navbar").css({
1955      "background-color": "rgb(26, 26, 26)",
1956      "color": "rgb(255, 255, 255)"
1957    });
1958  }
1959  function initAutoTruncateMenu() {
1960    const $navbar = $section.find('.navbar');
1961    const $navList = $section.find('.navigation > ul');
1962    if (!$navbar.length || !$navList.length) {
1963      return;
1964    }
1965    const $logo = $section.find('.logo');
1966    const $buttonsWrapper = $section.find('.buttons-wrapper');
1967    const $allItems = $navList.children('.navigation__item');
1968    const $phoneItem = $allItems.filter(function () {
1969      return $(this).find('a[href^="tel:"]').length > 0;
1970    });
1971    const $menuItems = $allItems.not($phoneItem);
1972    if (!$menuItems.length) {
1973      return;
1974    }
1975    const buffer = 8;
1976    function measureFixedWidth() {
1977      let width = buffer;
1978      if ($logo.length) {
1979        width += $logo.outerWidth(true) || 0;
1980      }
1981      if ($buttonsWrapper.length) {
1982        width += $buttonsWrapper.outerWidth(true) || 0;
1983      }
1984      if ($phoneItem.length) {
1985        width += $phoneItem.outerWidth(true) || 0;
1986      }
1987      return width;
1988    }
1989    function truncateMenu() {
1990      if (!$navList.is(':visible')) {
1991        return;
1992      }
1993      $menuItems.css('display', '');
1994      const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth();
1995      let widthSoFar = 0;
1996      let overflowed = false;
1997      $menuItems.each(function () {
1998        const $item = $(this);
1999        if (overflowed) {
2000          $item.css('display', 'none');
2001          return;
2002        }
2003        widthSoFar += $item.outerWidth(true);
2004        if (widthSoFar > availableWidth) {
2005          $item.css('display', 'none');
2006          overflowed = true;
2007        }
2008      });
2009    }
2010    let truncateFrame;
2011    function scheduleTruncate() {
2012      if (truncateFrame) {
2013        return;
2014      }
2015      truncateFrame = window.requestAnimationFrame(function () {
2016        truncateFrame = null;
2017        truncateMenu();
2018      });
2019    }
2020    scheduleTruncate();
2021    if (window.ResizeObserver) {
2022      const resizeObserver = new ResizeObserver(scheduleTruncate);
2023      resizeObserver.observe($navbar[0]);
2024    } else {
2025      $(window).on('resize.lpui-auto-truncate', scheduleTruncate);
2026    }
2027    $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate);
2028    $(window).on('load.lpui-auto-truncate', scheduleTruncate);
2029    if (document.fonts && document.fonts.ready) {
2030      document.fonts.ready.then(scheduleTruncate);
2031    }
2032  }
2033  initAutoTruncateMenu();
2034})('global-navbar');
2035} catch(e) {
2036console.log(e);
2037}
2038                try {
2039(function init(sectionDomId, options) {
2040  var elementSelector = options.elementSelector || 'nav';
2041  var element = document.querySelector(elementSelector);
2042  var sections = document.querySelectorAll('body > section');
2043  var subNavContainers = element.querySelectorAll('.sub-nav');
2044  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
2045  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
2046  var fontColor = options.fontColor || '#fff';
2047  var fontColorScroll = options.fontColorScroll || '#000';
2048  var didScroll = false;
2049  var lastScrollTop = 0;
2050  var delta = 5;
2051
2052  // eslint-disable-next-line sonarjs/no-collapsible-if
2053  if (wow) {
2054    // Wowjs might not trigger for position fixed elements
2055    if (window.scrollY > 0) {
2056      element.querySelectorAll('.wow').forEach(el => wow.show(el));
2057    }
2058  }
2059  function adjustNavPinState() {
2060    // Remove 'visible' class from all subNavContainers
2061    for (let i = 0; i < subNavContainers.length; i++) {
2062      subNavContainers[i].classList.remove('visible');
2063    }
2064    if (window.scrollY > 0) {
2065      element.style.backgroundColor = backgroundColorScroll;
2066      element.style.color = fontColorScroll;
2067      element.classList.add('scroll');
2068    } else {
2069      element.style.backgroundColor = initialBackgroundColor;
2070      element.style.color = fontColor;
2071      element.classList.remove('scroll');
2072    }
2073  }
2074  adjustNavPinState();
2075  function onScroll() {
2076    didScroll = true;
2077  }
2078  window.addEventListener('scroll', onScroll);
2079
2080  // eslint-disable-next-line
2081  var debounceInterval = setInterval(() => {
2082    if (didScroll) {
2083      // eslint-disable-next-line
2084      hasScrolled();
2085      didScroll = false;
2086    }
2087  }, 250);
2088  function hasScrolled() {
2089    adjustNavPinState();
2090    // eslint-disable-next-line
2091    var navbarHeight = element.offsetHeight;
2092    // eslint-disable-next-line
2093    var st = window.scrollY;
2094
2095    // Make sure they scroll more than delta
2096    if (Math.abs(lastScrollTop - st) <= delta) {
2097      return;
2098    }
2099    if (st > lastScrollTop && st > navbarHeight) {
2100      // Scroll Down
2101      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
2102      document.documentElement.style.setProperty('--global-header-height', '0px');
2103
2104      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
2105      sections.forEach(section => {
2106        if (section.classList.contains('sticky')) {
2107          section.style.top = '0px';
2108        }
2109      });
2110    } else {
2111      // Scroll Up
2112      // eslint-disable-next-line
2113      if (st + window.innerHeight < document.documentElement.scrollHeight) {
2114        element.style.transform = `translateY(0) scaleY(1)`;
2115        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
2116        sections.forEach(section => {
2117          if (section.classList.contains('sticky')) {
2118            section.style.top = `${navbarHeight}px`;
2119          }
2120        });
2121      }
2122    }
2123    lastScrollTop = st;
2124  }
2125})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}"));
2126} catch(e) {
2127console.log(e);
2128}
2129                try {
2130(function init(sectionDomId) {
2131  var sidemenu = $('#' + sectionDomId);
2132  sidemenu.on('lpui-sidemenu-show.lpui-auto-clean', function () {
2133    window.lpUI.requestScrollLock(sectionDomId);
2134  });
2135  $(window).on('lpui-sidemenu-hide.lpui-auto-clean', function () {
2136    window.lpUI.releaseScrollLock(sectionDomId);
2137  });
2138  $(window).click(function (e) {
2139    let targetContactForm = $(e.target).closest('#modal-global-contact-us').length;
2140    let targetSideMenu = $(e.target).closest('.sidemenu').length;
2141    let targetContactItem = $(e.target).closest('[data-type="CONTACT_US"]').length;
2142    let targetHamburger = $(e.target).closest('.hamburger-component').length;
2143    if (!(targetContactForm || targetSideMenu || targetContactItem || targetHamburger)) {
2144      $('body').removeClass('locked');
2145      $('.hamburger').removeClass('active');
2146      $('.sidemenu').removeClass('visible');
2147      $('#modal-global-contact-us').removeClass('visible');
2148    }
2149  });
2150})('global-sidemenu');
2151} catch(e) {
2152console.log(e);
2153}
2154                
2155                try {
2156(function init(footerId) {
2157  var textContent = $(".text_content_wrap p").text().trim().length;
2158  const socialLinks = $(`#${footerId} .lp-socials__link`);
2159  if (textContent < 1) {
2160    $(".text_content_wrap").remove();
2161    $(".second_text_footer").css({
2162      'margin-bottom': 0
2163    });
2164  }
2165  if (socialLinks.length > 0) {
2166    socialLinks.attr('data-wow-offset', '10');
2167  }
2168  if ($(window).width() > 1280) {
2169    let footer = document.querySelector("#" + footerId);
2170    let copyrightElem = footer.querySelector(".copy_zone");
2171    if (copyrightElem) {
2172      copyrightElem.style.whiteSpace = "nowrap";
2173      let nowrapElemWidth = copyrightElem.clientWidth;
2174      copyrightElem.style.whiteSpace = "";
2175      let normalElemWidth = copyrightElem.clientWidth;
2176      if (nowrapElemWidth > normalElemWidth) {
2177        footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto");
2178      }
2179    }
2180  }
2181  const form = $("#" + footerId).find("form");
2182  const redirectLink = $('#' + footerId + ' .redirect-link');
2183  form.on("reset", function () {
2184    redirectPage(redirectLink);
2185  });
2186  function redirectPage(link) {
2187    if (link.length) {
2188      const rawHref = link.attr('href');
2189      link.attr('href', setHttp(rawHref));
2190      link[0].click();
2191    }
2192  }
2193  function setHttp(link) {
2194    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
2195      link = 'http://' + link;
2196    }
2197    return link;
2198  }
2199})('global-footer');
2200} catch(e) {
2201console.log(e);
2202}
2203                
2204                try {
2205(function init(sectionDomId) {
2206  var _section = $('#' + sectionDomId);
2207  var _footer = document.getElementById('global-footer');
2208  const redirectLink = _section.find('.js-redirect-link');
2209  function setHttp(link) {
2210    if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) {
2211      link = 'https://' + link;
2212    }
2213    return link;
2214  }
2215  function redirectPage(link) {
2216    if (link.length) {
2217      window.location.href = setHttp(link.attr('href'));
2218    }
2219  }
2220  const emailInput = _section.find('.js-email-input');
2221  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
2222  emailInput.on('input', function () {
2223    if (emailRegex.test(this.value)) {
2224      this.setCustomValidity('');
2225    } else {
2226      this.setCustomValidity('Please enter a valid email address.');
2227    }
2228    this.reportValidity();
2229  });
2230  _section.find('input[name="name"]').on("keyup", function () {
2231    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
2232      this.setCustomValidity("Please input your first name and last name.");
2233    } else {
2234      this.setCustomValidity("");
2235    }
2236  });
2237  _section.find('form').on("reset", function () {
2238    $(this).addClass("show-success");
2239    redirectPage(redirectLink);
2240  });
2241  $(window).scroll(function () {
2242    if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible');
2243  });
2244  _section.find('.close-btn, .connect-btn').click(function () {
2245    _section.find('.pop-up').toggle();
2246    _section.find('.btn-holder').toggle();
2247  });
2248  if (!_footer) return;
2249  const observer = new IntersectionObserver(entries => {
2250    entries.forEach(entry => {
2251      if (entry.isIntersecting) _section.hide();else _section.show();
2252    });
2253  }, {
2254    threshold: 0.1
2255  });
2256  observer.observe(_footer);
2257  function selectToDropdown(selectItem) {
2258    let customDropdown = `
2259        <div class="custom-select" role="presentation">
2260        <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button>
2261        <div class="custom-select-menu" style="display: none;max-height: none;">
2262        <div class="custom-select-content">
2263        </div>
2264        </div>
2265        </div>`;
2266    $(customDropdown).insertAfter(selectItem);
2267    let $dropdown = $($(selectItem).next());
2268    let $dropdownToggle = $dropdown.find(".custom-select-toggle");
2269    let $dropdownMenu = $dropdown.find(".custom-select-menu");
2270    let $dropdownContent = $dropdown.find(".custom-select-content");
2271    $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select");
2272    $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom");
2273    $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id"));
2274    appendOptionButtons(selectItem, $dropdownContent);
2275    $(selectItem).removeClass().addClass("sr-only");
2276    var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text();
2277    $dropdownToggle.html(toggleText);
2278    $dropdown.on("click", ".custom-select-item", function (e) {
2279      if ($(this).hasClass("is-disabled")) return;
2280      let elementNumber = $(this).index();
2281      let $originalSelect = $(this).closest(".custom-select").siblings("select");
2282      let $linkedOption = $originalSelect.find("option").eq(elementNumber);
2283      if (!$linkedOption.prop("selected")) {
2284        $linkedOption.prop("selected", true);
2285        $originalSelect.change();
2286        $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected");
2287        $dropdownToggle.html($(this).html());
2288        closeSelectMenu($(this).closest(".custom-select-menu"));
2289      }
2290      $dropdownToggle.removeClass("is-placeholder");
2291    });
2292    function convertOptionToButton(option) {
2293      var optionText = $(option).text();
2294      var optionValue = $(option).attr("value") || $(option).text();
2295      var optionIsDisabled = $(option).prop("disabled");
2296      var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`;
2297      return outputButton;
2298    }
2299    function appendOptionButtons(selectItem, appendTarget) {
2300      $(selectItem).find("option").each(function () {
2301        let currentButton = convertOptionToButton(this);
2302        $(appendTarget).append(currentButton);
2303      });
2304    }
2305    function showSelectMenu(selectMenu) {
2306      var customSelect = $(selectMenu).closest(".custom-select")[0];
2307      $(customSelect).addClass("open");
2308      $(selectMenu).slideDown();
2309    }
2310    function closeSelectMenu(selectMenu) {
2311      var customSelect = $(selectMenu).closest(".custom-select")[0];
2312      $(customSelect).removeClass("open");
2313      $(selectMenu).slideUp();
2314    }
2315    $dropdown.on("click", ".custom-select-toggle", function (e) {
2316      var $customSelect = $(this).closest(".custom-select");
2317      var selectMenu = $customSelect.find(".custom-select-menu")[0];
2318      if ($customSelect.hasClass("open")) {
2319        closeSelectMenu(selectMenu);
2320      } else {
2321        showSelectMenu(selectMenu);
2322      }
2323    });
2324    $(document).on("click", function (e) {
2325      if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) {
2326        $(".custom-select.open").each(function () {
2327          var selectMenu = $(this).find(".custom-select-menu")[0];
2328          closeSelectMenu(selectMenu);
2329        });
2330      }
2331    });
2332  }
2333  $(".pop-up select[name='interest']").each(function () {
2334    selectToDropdown(this);
2335  });
2336})('global-mobile-contact');
2337} catch(e) {
2338console.log(e);
2339}
2340                
2341                try {
2342(function init(sectionDomId, options) {
2343  let section = null;
2344  switch (sectionDomId) {
2345    case 'NAVBAR':
2346      section = document.querySelector('body > nav, #global-navbar');
2347      break;
2348    case 'FOOTER':
2349      section = document.querySelector('body > footer, #global-footer');
2350      break;
2351    case 'SIDEMENU':
2352      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
2353      break;
2354    case 'CONTACT':
2355      section = document.querySelector('#modal-global-contact-us');
2356      break;
2357    case 'MOBILE_CONTACT':
2358      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
2359      break;
2360    case 'SUBSCRIBE':
2361      // Subscribe Not Implemented
2362      section = null;
2363      break;
2364    case 'ACCOUNT':
2365      // Account Not Implemented
2366      section = null;
2367      break;
2368    default:
2369      section = document.querySelector('#' + sectionDomId);
2370  }
2371  if (!section) {
2372    return;
2373  }
2374
2375  // Where content / items are rendered
2376  const dataContainer = section.querySelector('.data-container');
2377  if (!dataContainer) {
2378    // no place to render items = no need to query server or do anything else
2379    return;
2380  }
2381  let variables = options.variables || {};
2382
2383  // Some variables in options may not have been injected - remove
2384  Object.keys(variables).forEach(function (variableName) {
2385    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
2386      delete variables[variableName];
2387    }
2388  });
2389
2390  // Merge page query variables
2391  if (options.usePageResource) {
2392    variables = {
2393      ...variables,
2394      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
2395    };
2396  }
2397
2398  // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers
2399  // resolve the flag — fetchData reads the section stamp, aux fetches read
2400  // their own resource's stamp (auxUsesRouter).
2401  function apiUrl(useRouter) {
2402    return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl);
2403  }
2404
2405  // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's
2406  // (options.routerApiAux is stamped per aux resource server-side).
2407  function auxUsesRouter(resource) {
2408    return !!(options.routerApiAux && options.routerApiAux[resource]);
2409  }
2410
2411  // Pagination Executes on a Numbered Pagination Container
2412  //  Or via a load more button
2413  let mode = 'BUTTONLESS_PAGINATION';
2414  const container = section.querySelector('.pagination-container');
2415  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
2416  if (container) {
2417    mode = 'NUMBERED_PAGINATION';
2418  }
2419  if (loadMoreButton) {
2420    mode = 'LOAD_MORE_BUTTON';
2421  }
2422  let searchContainer = section.querySelector('.search-container');
2423  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
2424  const eventPrefix = '__pagination-';
2425  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
2426    param: 'neighborhoodId',
2427    urlKey: 'neighborhood'
2428  }, {
2429    param: 'search',
2430    urlKey: 'search'
2431  }, {
2432    param: 'salesPriceGTE',
2433    urlKey: 'pricemin',
2434    formKey: 'priceMin',
2435    type: 'int'
2436  }, {
2437    param: 'salesPriceLTE',
2438    urlKey: 'pricemax',
2439    formKey: 'priceMax',
2440    type: 'int'
2441  }, {
2442    param: 'livingSpaceSizeGTE',
2443    urlKey: 'areamin',
2444    formKey: 'areaMin',
2445    type: 'int'
2446  }, {
2447    param: 'livingSpaceSizeLTE',
2448    urlKey: 'areamax',
2449    formKey: 'areaMax',
2450    type: 'int'
2451  }] : []);
2452
2453  // Total entries - initialized in first render
2454  let totalNumber = 0;
2455  const DefaultSearchParams = {
2456    page: 1
2457  };
2458  searchFormParams.forEach(function (formParam) {
2459    DefaultSearchParams[formParam.formKey || formParam.param] = null;
2460  });
2461  let searchParams = {
2462    ...DefaultSearchParams
2463  };
2464  const offset = options.variables?.offset || 0;
2465  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
2466  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;
2467
2468  // entries of per page
2469  // when query variables for a given section would't be filled options.pageSize can store
2470  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
2471  let pageSize = parseInt(options.pageSize, 10) || 9;
2472
2473  // Adding mobile pageRange support
2474  var NARROW_BREAKPOINT = 600;
2475  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
2476  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);
2477
2478  // Page range (pages on both sides of the current page)
2479  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
2480  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
2481  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;
2482
2483  // Whether to display the 'Previous' button
2484  var showPrevious = true;
2485
2486  // Whether to display the 'Next' button
2487  var showNext = true;
2488
2489  // Whether to display the page buttons
2490  var showPageNumbers = true;
2491
2492  // 'Previous' text
2493  var prevText = options.prevText || '&laquo;';
2494
2495  // 'Next' text
2496  var nextText = options.nextText || '&raquo;';
2497
2498  // Ellipsis text
2499  var ellipsisText = '&hellip;';
2500  var classPrefix = 'paginationjs';
2501
2502  // Default active class
2503  var activeClassName = 'active';
2504
2505  // Default disable class
2506  var disableClassName = 'disabled';
2507
2508  // Pagination element's position in the container
2509  var position = 'bottom';
2510
2511  // Whether to trigger pagination at initialization
2512  var triggerPagingOnInit = !options.skipInitialLoad;
2513  var showFirstOnEllipsisShow = true;
2514  var showLastOnEllipsisShow = true;
2515
2516  // Instantiated in init()
2517  var el = null;
2518
2519  // Controls scrollTop logic
2520  var firstRender = true;
2521  var renderBySearch = false;
2522  var disabled = false;
2523
2524  // Pagination script class selector
2525  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';
2526
2527  // Property Specific Image Override if No Image
2528  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;
2529
2530  // Construct template
2531  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
2532  var template = Handlebars.compile(templateHTML);
2533
2534  // Initialize
2535  init();
2536  function init() {
2537    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
2538
2539    // Append/prepend pagination element to the pagination container
2540    if (mode === 'NUMBERED_PAGINATION') {
2541      el = document.createElement('div');
2542      el.className = 'paginationjs';
2543      container[position === 'bottom' ? 'append' : 'prepend'](el);
2544    }
2545    if (searchContainer) {
2546      initSearchContainer({
2547        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
2548        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
2549        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
2550        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
2551      }, function () {
2552        syncSearchFormState(searchParams);
2553      });
2554    }
2555
2556    // Bind events
2557    observer();
2558  }
2559  function syncSearchFormState(params) {
2560    searchContainer.dispatchEvent(new CustomEvent('sync', {
2561      detail: params
2562    }));
2563  }
2564  function initSearchContainer(options, done) {
2565    var promises = [];
2566    if (options.fetchNeighborhoods) {
2567      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
2568        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
2569          detail: {
2570            data: neighborhoods.map(function (item) {
2571              return {
2572                value: item.id,
2573                label: item.name
2574              };
2575            })
2576          }
2577        }));
2578      }));
2579    }
2580    if (options.fetchPostCategories) {
2581      promises.push(fetchPostCategories(function (categories) {
2582        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
2583          detail: {
2584            data: categories
2585          }
2586        }));
2587      }));
2588    }
2589    if (options.fetchOffices) {
2590      promises.push(fetchOffices(function (offices) {
2591        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
2592          detail: {
2593            data: offices
2594          }
2595        }));
2596      }));
2597    }
2598    if (options.fetchRentalRates) {
2599      promises.push(fetchAllRentalRates(function (rentalRates) {
2600        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
2601          detail: {
2602            data: rentalRates
2603          }
2604        }));
2605      }));
2606    }
2607    if (promises.length > 0) {
2608      Promise.all(promises).then(function () {
2609        done();
2610      });
2611    } else {
2612      // element's custom code is not executed yet, so we're scheduling callback to after element's code
2613      setTimeout(done);
2614    }
2615  }
2616  function fetchAllNeighborhoods(done) {
2617    var useRouter = auxUsesRouter('neighborhoods');
2618    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same
2619    // args on both APIs (the federated neighborhoods field accepts
2620    // withProperties/withBlogPosts); only the selection set differs.
2621    var gqlQuery = 'query ($companyId: String, $withProperties: NeighborhoodPropertiesFilter, $withBlogPosts: NeighborhoodBlogPostsFilter, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, withProperties: $withProperties, withBlogPosts: $withBlogPosts, offset: $offset, limit: $limit) {' + (useRouter ? 'items {id, name}' : 'id, name') + '}}';
2622    var payload = {};
2623    payload.offset = 0;
2624    payload.limit = 100;
2625    payload.companyId = variables.companyId;
2626    if (options.resource === 'properties') {
2627      payload.withProperties = {
2628        active: true
2629      };
2630      ['agentIds', 'tag', 'propertyTypeId', 'statusIds', 'architectureStyle', 'lifestyle', 'salesPriceGTE', 'salesPriceLTE', 'leasePriceGTE', 'leasePriceLTE', 'livingSpaceSizeGTE', 'livingSpaceSizeLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'featuredListing', 'leaseProperty', 'neighborhoodId', 'developmentId', 'openHouse'].forEach(function (field) {
2631        if (variables[field] !== undefined && variables[field] !== null) {
2632          payload.withProperties[field] = variables[field];
2633        }
2634      });
2635    }
2636    if (options.resource === 'posts') {
2637      payload.withBlogPosts = {
2638        active: true
2639      };
2640      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
2641        if (variables[field] !== undefined && variables[field] !== null) {
2642          payload.withBlogPosts[field] = variables[field];
2643        }
2644      });
2645    }
2646
2647    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2648    if (useRouter) {
2649      payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload);
2650    }
2651    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2652      query: gqlQuery,
2653      variables: payload
2654    }).then(function (res) {
2655      var value = res.body.data && res.body.data.neighborhoods || {};
2656      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2657      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2658      done(items, items.length);
2659    });
2660  }
2661  function fetchPostCategories(done) {
2662    var featured = options.resource === 'posts' && !!variables.featured;
2663    var useRouter = auxUsesRouter('postCategories');
2664    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
2665    // selection set differs ({ items {...} } on the router).
2666    var selection = 'id, name, publishedCount, featuredPublishedCount';
2667    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'postCategories (companyId: $companyId, offset: $offset, limit: $limit ' + (featured ? ' withFeaturedPublishedOnly: true' : ' withPublishedOnly: true') + ') {' + (useRouter ? 'items {' + selection + '}' : selection) + '}}';
2668    var payload = {};
2669    payload.offset = 0;
2670    payload.limit = 100;
2671    payload.companyId = variables.companyId;
2672    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2673      query: gqlQuery,
2674      variables: payload
2675    }).then(function (res) {
2676      var value = res.body.data && res.body.data.postCategories || {};
2677      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2678      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2679      done(items.map(function (item) {
2680        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
2681        return item;
2682      }), items.length);
2683    });
2684  }
2685  function fetchOffices(done) {
2686    var useRouter = auxUsesRouter('offices');
2687    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
2688    // selection set differs ({ items {...} } on the router).
2689    var selection = 'id, name, tags';
2690    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two
2691    // APIs differ in more than the items wrapper: federated offices takes
2692    // companyId: ID! (legacy gateway: String), so each branch builds its whole doc.
2693    var gqlQuery = useRouter ? 'query ($companyId: ID!, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + 'items {' + selection + '}}}' : 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + selection + '}}';
2694    var payload = {
2695      offset: 0,
2696      limit: 100,
2697      companyId: variables.companyId
2698    };
2699
2700    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2701    if (useRouter) {
2702      payload = window.luxuryPresence.routerApi.transformVariables('office
2702s', payload);
2703    }
2704    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
2705      query: gqlQuery,
2706      variables: payload
2707    }).then(function (res) {
2708      var value = res.body.data && res.body.data.offices || {};
2709      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2710      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
2711      done(items, items.length);
2712    });
2713  }
2714
2715  // ROUTER-CLEANUP: no rentalRates field on the federated router — legacy only.
2716  function fetchAllRentalRates(done) {
2717    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
2718    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
2719    var payload = {
2720      offset: 0,
2721      limit: 100,
2722      companyId: variables.companyId
2723    };
2724    superagent.post(url + '/graphql').withCredentials().send({
2725      query: gqlQuery,
2726      variables: payload
2727    }).then(function (res) {
2728      var items = res.body.data && res.body.data.rentalRates || [];
2729      done(items, items.length);
2730    }).catch(function (err) {
2731      console.error('Error fetching rental rates:', err);
2732      done([], 0);
2733    });
2734  }
2735  function fetchData(params, done) {
2736    var resource = options.resource;
2737    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
2738    var payload = {};
2739    try {
2740      payload = JSON.parse(JSON.stringify(variables));
2741    } catch (e) {
2742      Object.keys(variables).forEach(function (variableName) {
2743        payload[variableName] = variables[variableName];
2744      });
2745    }
2746    payload.offset = (params.page - 1) * pageSize + offset;
2747    payload.limit = pageSize;
2748    payload.companyId = options.companyId;
2749    searchFormParams.forEach(function (formParam) {
2750      var val = params[formParam.formKey || formParam.param];
2751      if (val !== null && val !== undefined) {
2752        objSet(payload, formParam.param, val);
2753      }
2754    });
2755
2756    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2757    if (options.useRouterApi) {
2758      payload = window.luxuryPresence.routerApi.transformVariables(resource, payload);
2759    }
2760
2761    // TODO: Disabled loading due to jarring effect
2762    // dataContainer.html('Loading...');
2763    superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({
2764      query: gqlQuery,
2765      variables: payload
2766    }).then(function (res) {
2767      if (res.body.errors) {
2768        done(res.body.errors);
2769        return;
2770      }
2771      var data = res.body.data || {};
2772      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
2773      var resources;
2774      var resourceCount;
2775      if (options.useRouterApi) {
2776        var page = window.luxuryPresence.routerApi.transformPage(data[resource]);
2777        resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items);
2778        resourceCount = page.count;
2779      } else {
2780        resources = data[resource] || [];
2781        resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
2782      }
2783      const finish = function (items) {
2784        if (resource === 'properties' && propertyPlaceholderImage?.id) {
2785          items = items.map(item => {
2786            if (item.media?.length === 0) {
2787              return Object.assign(item, {
2788                media: [propertyPlaceholderImage]
2789              });
2790            }
2791            return item;
2792          });
2793        }
2794        done(null, items, resourceCount);
2795      };
2796
2797      // ROUTER-CLEANUP: client half of PLAT-4073 — resolve the requested
2798      // disclaimers before rendering; older SDKs skip (keys stay unset).
2799      if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') {
2800        window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish);
2801        return;
2802      }
2803      finish(resources);
2804    });
2805  }
2806  function getTotalPage() {
2807    return Math.ceil(totalNumber / pageSize);
2808  }
2809  function renderPaginationList() {
2810    var totalPages = getTotalPage();
2811    var rangeStart = searchParams.page - pageRange;
2812    var rangeEnd = searchParams.page + pageRange;
2813    if (rangeEnd > totalPages) {
2814      rangeEnd = totalPages;
2815      rangeStart = totalPages - pageRange * 2;
2816      rangeStart = rangeStart < 1 ? 1 : rangeStart;
2817    }
2818    if (rangeStart <= 1) {
2819      rangeStart = 1;
2820      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
2821    }
2822
2823    // Making sure that 1 more page button is shown in edge positions
2824    if (pageRange === 0) {
2825      if (searchParams.page === totalPages) {
2826        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
2827      }
2828      if (searchParams.page === 1) {
2829        rangeEnd = Math.min(2, totalPages);
2830      }
2831    }
2832
2833    // Render pagination list
2834    if (mode === 'NUMBERED_PAGINATION') {
2835      el.innerHTML = generateHTML({
2836        currentPage: searchParams.page,
2837        pageRange: pageRange,
2838        rangeStart: rangeStart,
2839        rangeEnd: rangeEnd
2840      });
2841      if (totalPages < 2 && hidePaginationOnFirstPage) {
2842        container.style.display = 'none';
2843      } else {
2844        container.style.display = '';
2845      }
2846    } else if (mode === 'LOAD_MORE_BUTTON') {
2847      if (searchParams.page >= totalPages) {
2848        loadMoreButton.style.display = 'none';
2849      } else {
2850        loadMoreButton.style.display = '';
2851      }
2852    }
2853  }
2854  function render(data) {
2855    renderPaginationList();
2856
2857    // Render new content with handlebars
2858    var html = '';
2859    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
2860      // If using load more, append search results to existing results
2861      html = dataContainer.innerHTML;
2862    }
2863    for (var i = 0; i < data.length; i++) {
2864      var itemData = recursivelyParse(data[i]);
2865      itemData.sectionIndex = options.sectionIndex;
2866      itemData.renderOptions = options.renderOptions;
2867      html += template(itemData);
2868    }
2869    dataContainer.innerHTML = html;
2870
2871    // Scroll Top
2872    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
2873      // Only animate to the top if we replace dataContainer (numbered pagination)
2874      setTimeout(() => {
2875        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
2876        window.scrollTo({
2877          top: scrollTargetOffsetTop,
2878          behavior: 'smooth'
2879        });
2880      }, 250);
2881    }
2882    return true;
2883  }
2884  function generateHTML(args) {
2885    const totalPages = getTotalPage();
2886    const {
2887      rangeStart,
2888      rangeEnd
2889    } = args;
2890    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
2891      ...searchParams,
2892      page
2893    });
2894    let html = '';
2895    if (showPrevious || showPageNumbers || showNext) {
2896      html += '<div class="paginationjs-pages"><ul>';
2897
2898      // Previous button
2899      if (showPrevious) {
2900        if (searchParams.page <= 1) {
2901          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
2902        } else {
2903          html += `<li class="${classPrefix}-prev J-paginationjs-previous" data-num="${searchParams.page - 1}" title="Previous page"><a href="${makeLnk(searchParams.page - 1)}">${prevText}</a></li>`;
2904        }
2905      }
2906
2907      // Pages
2908      if (showPageNumbers) {
2909        if (rangeStart <= 3) {
2910          for (let i = 1; i < rangeStart; i++) {
2911            html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
2912          }
2913        } else {
2914          if (showFirstOnEllipsisShow) {
2915            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
2916          }
2917          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
2918        }
2919        for (let i = rangeStart; i <= rangeEnd; i++) {
2920          html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
2921        }
2922        if (rangeEnd < totalPages - 2) {
2923          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
2924          if (showLastOnEllipsisShow) {
2925            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
2926          }
2927        } else {
2928          for (let i = rangeEnd + 1; i <= totalPages; i++) {
2929            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
2930          }
2931        }
2932      }
2933
2934      // Next button
2935      if (showNext) {
2936        if (searchParams.page >= totalPages) {
2937          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
2938        } else {
2939          html += `<li class="${classPrefix}-next J-paginationjs-next" data-num="${searchParams.page + 1}" title="Next page"><a href="${makeLnk(searchParams.page + 1)}">${nextText}</a></li>`;
2940        }
2941      }
2942      html += '</ul></div>';
2943    }
2944    return html;
2945  }
2946  function go(newSearchParams, callback, restorationVisit) {
2947    if (disabled) return;
2948    var goToPageNumber = newSearchParams.page;
2949
2950    // Page number is out of bounds
2951    if (!goToPageNumber || goToPageNumber < 1) return;
2952    var totalPage = getTotalPage();
2953
2954    // Page number is out of bounds
2955    if (!restorationVisit && totalNumber > 0) {
2956      if (goToPageNumber > totalPage) return;
2957    }
2958    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
2959      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
2960        ...newSearchParams,
2961        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
2962      });
2963      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
2964        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
2965          queryString: true
2966        }));
2967      }
2968    }
2969
2970    // Fetch and update page
2971    fetchData(newSearchParams, renderWithData);
2972    disabled = true;
2973    function renderWithData(err, data, count) {
2974      if (err) {
2975        dataContainer.dispatchEvent(new Event('error'));
2976      } else {
2977        searchParams = {
2978          ...newSearchParams
2979        };
2980        totalNumber = count - offset;
2981        if (data.length === 0) {
2982          dataContainer.dispatchEvent(new Event('no-data'));
2983        } else {
2984          dataContainer.dispatchEvent(new Event('data'));
2985        }
2986        render(data);
2987        firstRender = false;
2988      }
2989      disabled = false;
2990      renderBySearch = false;
2991    }
2992  }
2993  function areQueryParamsEqual(first, second) {
2994    var differ = Object.keys(first).find(function (key) {
2995      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
2996    });
2997    if (differ) {
2998      return false;
2999    }
3000    differ = Object.keys(second).find(function (key) {
3001      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
3002    });
3003    return !differ;
3004  }
3005  function next(callback) {
3006    go({
3007      ...searchParams,
3008      page: searchParams.page + 1
3009    }, callback);
3010  }
3011  function previous(callback) {
3012    go({
3013      ...searchParams,
3014      page: searchParams.page - 1
3015    }, callback);
3016  }
3017  function refresh(callback) {
3018    go(searchParams, callback);
3019  }
3020  function update(params, callback) {
3021    renderBySearch = true;
3022    go(params, callback);
3023  }
3024  function observer() {
3025    if (searchContainer) {
3026      searchContainer.addEventListener('search', function (event, newSearchParams) {
3027        newSearchParams = event.detail || newSearchParams;
3028        update({
3029          ...searchParams,
3030          ...newSearchParams,
3031          page: 1
3032        });
3033      });
3034      searchContainer.addEventListener('clear-search', function () {
3035        const defaultSearchParams = {
3036          ...DefaultSearchParams
3037        };
3038        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
3039          ...defaultSearchParams,
3040          page: null
3041        }, {
3042          ...searchParams,
3043          page: null
3044        });
3045
3046        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
3047        // when search form have default state
3048        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
3049          return;
3050        }
3051
3052        // if someone initially go to some page and click 'Clear' on search from
3053        // we should't navigate to first page. We should preserve page value
3054        if (isCurrentSearchFormStateDefault) {
3055          defaultSearchParams.page = searchParams.page;
3056        }
3057        syncSearchFormState(defaultSearchParams);
3058        update(defaultSearchParams);
3059      });
3060    }
3061    if (mode === 'LOAD_MORE_BUTTON') {
3062      loadMoreButton.addEventListener('click', function (event) {
3063        go({
3064          ...searchParams,
3065          page: searchParams.page + 1
3066        });
3067        return false;
3068      });
3069    }
3070    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
3071      // Do initial render
3072      go(Object.assign({}, searchParams, {
3073        page: 1
3074      }));
3075      return;
3076    }
3077    if (mode === 'NUMBERED_PAGINATION') {
3078      // Go to specified page number
3079      container.addEventListener(eventPrefix + 'go', function (event) {
3080        let {
3081          pageNumber,
3082          done
3083        } = event.detail || {};
3084        pageNumber = parseInt(pageNumber, 10);
3085        if (!pageNumber) {
3086          return;
3087        }
3088        go({
3089          ...searchParams,
3090          page: pageNumber
3091        }, done);
3092      });
3093
3094      // Page number button click
3095      el.addEventListener('click', function (event) {
3096        let clickTarget = event.target;
3097        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
3098        let pageNumber = current?.getAttribute('data-num');
3099        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
3100          return;
3101        } else {
3102          go({
3103            ...searchParams,
3104            page: parseInt(pageNumber, 10)
3105          });
3106        }
3107        event.preventDefault();
3108      });
3109
3110      // Whether to load the default page
3111      var defaultPageNumber = searchParams.page;
3112      if (triggerPagingOnInit) {
3113        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
3114          detail: {
3115            pageNumber: defaultPageNumber
3116          }
3117        }));
3118      }
3119    }
3120    window.addEventListener('popstate', function (event) {
3121      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
3122      if (!areQueryParamsEqual(newParams, searchParams)) {
3123        go(newParams, null, true);
3124        if (searchContainer) {
3125          syncSearchFormState(newParams);
3126        }
3127      }
3128    });
3129  }
3130  function replaceVariables(template, variables) {
3131    var formattedString;
3132    for (var key in variables) {
3133      var value = variables[key];
3134      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
3135      formattedString = (formattedString || template).replace(regexp, value);
3136    }
3137    return formattedString;
3138  }
3139  function isTextEditorValue(obj) {
3140    return 'raw' in obj || 'gjs' in obj;
3141  }
3142  function getTextEditorValue(obj) {
3143    if (!obj.html) {
3144      return '';
3145    }
3146    var data = obj.html;
3147    var css = (obj.raw || obj.gjs || {}).css;
3148    if (css) {
3149      data = data + '<style>' + css + '</style>';
3150    }
3151    return data;
3152  }
3153
3154  /**
3155   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
3156   * strips out raw proprties and returns only HTML if it exists.
3157   * @param {Object} resources a collection retrieved from the database
3158   * @return {Object} the newly modified object.
3159   */
3160  function recursivelyParse(resources) {
3161    forEach(resources, function (value, key) {
3162      if (!value) {
3163        return;
3164      }
3165      if (value instanceof Object) {
3166        if (isTextEditorValue(value)) {
3167          resources[key] = getTextEditorValue(value);
3168          return;
3169        } else {
3170          return recursivelyParse(value);
3171        }
3172      }
3173      try {
3174        var parsedData = JSON.parse(value);
3175        if (isTextEditorValue(parsedData)) {
3176          resources[key] = getTextEditorValue(parsedData);
3177        }
3178      } catch (e) {
3179        // do nothing if we failed to parse value as JSON
3180      }
3181    });
3182    return resources;
3183  }
3184  function forEach(collection, iteratee) {
3185    var func = Array.isArray(collection) ? arrayEach : baseFor;
3186    return func(collection, iteratee);
3187  }
3188  function baseFor(object, iteratee) {
3189    if (!object) {
3190      return;
3191    }
3192    var iterable = Object(object);
3193    var props = Object.keys(object);
3194    var length = props.length;
3195    var index = -1;
3196    while (length--) {
3197      var key = props[++index];
3198      if (iteratee(iterable[key], key, iterable) === false) {
3199        break;
3200      }
3201    }
3202    return object;
3203  }
3204  function objSet(obj, path, value) {
3205    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
3206    pathArray.reduce((acc, key, i) => {
3207      if (acc[key] === undefined) acc[key] = {};
3208      if (i === pathArray.length - 1) acc[key] = value;
3209      return acc[key];
3210    }, obj);
3211  }
3212  function arrayEach(array, iteratee) {
3213    var index = -1;
3214    var length = array.length;
3215    while (++index < length) {
3216      if (iteratee(array[index], index, array) === false) {
3217        break;
3218      }
3219    }
3220    return array;
3221  }
3222  function selectPageRangeMode(e) {
3223    pageRange = e.matches ? mobilePageRange : desktopPageRange;
3224    renderPaginationList();
3225  }
3226  paginationMql.addEventListener('change', selectPageRangeMode);
3227})('section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64', JSON.parse("{\"pageSize\":\"6\",\"resource\":\"posts\",\"pageRange\":0,\"variables\":{\"limit\":6,\"order\":\"publishedAt\",\"offset\":0,\"sortDir\":\"DESC\",\"companyId\":\"43b40804-f64c-4ba1-8c4a-829d577aef20\",\"categoryId\":\"{{pageElement.categoryId}}\"},\"searchFormParams\":[{\"param\":\"search\",\"urlKey\":\"search\"},{\"param\":\"categoryIds\",\"urlKey\":\"category\"}],\"skipScrollOnSearch\":true,\"scrollTargetSelector\":\".blog-list__container\",\"hidePaginationOnFirstPage\":true,\"companyId\":\"43b40804-f64c-4ba1-8c4a-829d577aef20\",\"usePageResource\":false,\"sectionIndex\":2,\"useRouterApi\":true,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
3228} catch(e) {
3229console.log(e);
3230}
3231                try {
3232(function init(sectionDomId) {
3233  const section = $(`#${sectionDomId}`);
3234  const searchInput = section.find('.js-search-input');
3235  const searchContainer = section.find('.search-container');
3236  const dataContainer = section.find('.data-container');
3237  const categoryFilter = section.find('.js-category-filter');
3238  const btnCategory = section.find('.js-btn-category');
3239  let activeFilters = null;
3240  if (searchContainer.length === 0) return;
3241  const {
3242    debounce
3243  } = window.luxuryPresence;
3244  const emptyResultsText = section.find('.empty-results');
3245  searchInput.on('input', debounce(doSearch, 700));
3246  dataContainer.on('data', function () {
3247    emptyResultsText.removeClass("visible");
3248  });
3249  dataContainer.on('no-data', function () {
3250    emptyResultsText.addClass("visible");
3251  });
3252  btnCategory.click(function () {
3253    $(this).toggleClass('active');
3254    categoryFilter.slideToggle();
3255  });
3256  function doSearch() {
3257    let values = categoryFilter.find('.active').map(function () {
3258      return $(this).data('value');
3259    }).get();
3260    const params = {
3261      categoryIds: values || null,
3262      search: searchInput.val().trim() || null
3263    };
3264    searchContainer[0]?.dispatchEvent(new CustomEvent('search', {
3265      detail: params
3266    }));
3267  }
3268  categoryFilter.on('click', '.category-cell', function () {
3269    if ($(this).hasClass('js-category-all')) {
3270      section.find('.category-cell').removeClass('active');
3271      $(this).addClass('active');
3272    } else {
3273      $(this).toggleClass('active');
3274      section.find('.js-category-all').removeClass('active');
3275    }
3276    doSearch();
3277  });
3278  searchContainer.on('post-categories-data', function (ev, category) {
3279    category = ev.detail || category;
3280    categoryFilter.find('.js-category-cell').remove();
3281    categoryFilter.find('.active').removeClass('active');
3282    let btnClass = categoryFilter.data('button-style');
3283    if (Array.isArray(category.data) && category.data.length) {
3284      btnCategory.css('display', 'inline-flex');
3285      categoryFilter.append(category.data.map(item => `<button id="filter-${item.id}"  data-value="${item.id}" class="category-cell js-category-cell lp-btn ${btnClass}">${item.name}</button>`).join('\n'));
3286    } else {
3287      btnCategory.remove();
3288    }
3289    setActiveFilters();
3290  });
3291  searchContainer.on('sync', function (event, params) {
3292    params = event.detail || params;
3293    activeFilters = params;
3294    setActiveFilters();
3295  });
3296  function setActiveFilters() {
3297    categoryFilter.find('.active').removeClass('active');
3298    if (activeFilters.categoryIds !== null && activeFilters.categoryIds.length > 0) {
3299      activeFilters.categoryIds.forEach(function (categoryId) {
3300        categoryFilter.find(`#filter-${categoryId}`).addClass('active');
3301      });
3302    } else {
3303      categoryFilter.find('.js-category-all').addClass('active');
3304    }
3305  }
3306})('section-fab6e5e2-fc2e-44c0-b05b-d04c8ea16f64', JSON.parse("{\"resource\":\"posts\",\"useRouterApi\":true,\"companyId\":\"43b40804-f64c-4ba1-8c4a-829d577aef20\",\"usePageResource\":false,\"sectionIndex\":2,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
3307} catch(e) {
3308console.log(e);
3309}
3310                try {
3311(function init(sectionDomId) {
3312  var $contactForm = $('#' + sectionDomId + ' .newsletter-signup__form');
3313  $contactForm.find('.contact-form__reset').click(function (e) {
3314    e.preventDefault();
3315    $(this).closest('form').removeClass('success').trigger("reset");
3316  });
3317  $contactForm.find('input[name="name"]').on("keyup", function () {
3318    if (this.value.replaceAll(/\d/g, "").trim() === "") {
3319      this.setCustomValidity("Please enter your name.");
3320    } else {
3321      this.setCustomValidity("");
3322    }
3323  });
3324  const form = $("#" + sectionDomId).find("form");
3325  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
3326  form.on("reset", function () {
3327    redirectPage(redirectLink);
3328  });
3329  function redirectPage(link) {
3330    if (link.length) {
3331      const rawHref = link.attr('href');
3332      link.attr('href', setHttp(rawHref));
3333      link[0].click();
3334    }
3335  }
3336  function setHttp(link) {
3337    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
3338      link = 'http://' + link;
3339    }
3340    return link;
3341  }
3342})('section-afb04b8f-63cf-43a8-bf2b-5bd500e96dd3', 'undefined');
3343} catch(e) {
3344console.log(e);
3345}
3346                try {
3347(function init(sectionDomId) {
3348  const $section = $('#' + sectionDomId);
3349  if ($section.find('.parallax').length) $section.addClass('parallax-enabled');
3350  if ($section.find('.video-wrapper').length) $section.addClass('video');
3351})('section-d7116ef0-def3-456f-bf36-0a382985307f', 'undefined');
3352} catch(e) {
3353console.log(e);
3354}
3355                try {
3356(function init(sectionDomId, options) {
3357  let section = null;
3358  switch (sectionDomId) {
3359    case 'NAVBAR':
3360      section = document.querySelector('body > nav, #global-navbar');
3361      break;
3362    case 'FOOTER':
3363      section = document.querySelector('body > footer, #global-footer');
3364      break;
3365    case 'SIDEMENU':
3366      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
3367      break;
3368    case 'CONTACT':
3369      section = document.querySelector('#modal-global-contact-us');
3370      break;
3371    case 'MOBILE_CONTACT':
3372      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
3373      break;
3374    case 'SUBSCRIBE':
3375      // Subscribe Not Implemented
3376      section = null;
3377      break;
3378    case 'ACCOUNT':
3379      // Account Not Implemented
3380      section = null;
3381      break;
3382    default:
3383      section = document.querySelector('#' + sectionDomId);
3384  }
3385  if (!section) {
3386    return;
3387  }
3388  var url = window.luxuryPresence.defaults.routerUrl;
3389  var companyId = window.luxuryPresence.defaults.companyId;
3390  var limit = options.limit || 8;
3391  if (typeof limit === 'string') {
3392    limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected
3393  }
3394  var templateSelector = options.templateSelector || '.jsIGTemplate';
3395  var containerSelector = options.containerSelector || '.jsIGContainer';
3396  var hasDataClass = options.hasDataClass || 'has-data';
3397  var hideActivateMessage = options.hasDataClass || false;
3398  var payload = {
3399    companyId: companyId,
3400    limit: limit
3401  };
3402  if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) {
3403    payload.resourceId = options.resourceId;
3404    // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase
3405    payload.resource = String(options.resource || 'agent').toUpperCase();
3406    payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true;
3407  }
3408  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';
3409  var templateHTML = section.querySelector(templateSelector)?.innerHTML || '';
3410  var template = Handlebars.compile(templateHTML);
3411  var container = section.querySelector(containerSelector);
3412  if (options.variables) {
3413    Object.keys(options.variables).forEach(function (key) {
3414      if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) {
3415        payload[key] = options.variables[key];
3416      }
3417    });
3418  }
3419  function getData() {
3420    var feed = {
3421      error: true
3422    };
3423    if (payload.companyId == null || payload.companyId === '') {
3424      // instagramContentFeed requires companyId (ID!) — nothing to fetch without it.
3425      // Checked after the options.variables merge, which may override the default.
3426      // Deferred so element listeners (attached after this template runs) still receive it.
3427      setTimeout(function () {
3428        section.dispatchEvent(new CustomEvent('ig-data', {
3429          detail: feed
3430        }));
3431      }, 0);
3432      return;
3433    }
3434    superagent.post(url + '/graphql').send({
3435      query: query,
3436      variables: payload
3437    }).then(res => {
3438      try {
3439        if (!res.body.errors) {
3440          feed = res.body.data.instagramContentFeed;
3441          if (!feed.active) {
3442            if (!hideActivateMessage && sectionDomId === 'section-temp' && container) {
3443              if (payload.resourceId) {
3444                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>';
3445              } else {
3446                container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>';
3447              }
3448            }
3449          } else {
3450            if (feed.items.length) {
3451              if (hasDataClass) {
3452                section.classList.add(hasDataClass);
3453              }
3454              const feedName = feed.username;
3455              section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl));
3456              section.querySelectorAll('.jsIGName').forEach(name => {
3457                name.textContent = '@' + feedName;
3458                name.setAttribute('title', '@' + feedName);
3459              });
3460              if (container && template) {
3461                container.innerHTML = template(feed);
3462              }
3463            }
3464          }
3465        }
3466      } catch (e) {}
3467      section.dispatchEvent(new CustomEvent('ig-data', {
3468        detail: feed
3469      }));
3470    }).catch(e => {
3471      console.log('err', e);
3472      section.dispatchEvent(new CustomEvent('ig-data', {
3473        detail: feed
3474      }));
3475    });
3476  }
3477  getData();
3478})('section-eb4bcd51-4337-41ff-a093-12d135fb4a22', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"43b40804-f64c-4ba1-8c4a-829d577aef20\",\"usePageResource\":false,\"sectionIndex\":5,\"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}}"));
3479} catch(e) {
3480console.log(e);
3481}
3482                try {
3483(function init(sectionDomId) {
3484  const $section = $('#' + sectionDomId);
3485  var templateHTML = $section.find('.jsIGItem').html();
3486  var itemTemplate = templateHTML && Handlebars.compile(templateHTML);
3487  const $container = $section.find('.ig-feed-feed');
3488  const $topPrev = $section.find('.top-nav-prev');
3489  const $topNext = $section.find('.top-nav-next');
3490  const $bottomPrev = $section.find('.bottom-nav-prev');
3491  const $bottomNext = $section.find('.bottom-nav-next');
3492  let limit = 33;
3493  try {
3494    limit = parseInt($container[0].dataset['limit']);
3495  } catch (e) {}
3496  if (!limit) {
3497    limit = 33;
3498  }
3499  let igFeed = {};
3500  let usedWidth = 0;
3501  let slider = null;
3502  $section.on('ig-data', function (ev, feed) {
3503    feed = ev.detail || feed;
3504    igFeed = feed;
3505    if (feed.active && feed.items.length) {
3506      buildSlider();
3507    }
3508  });
3509  $(window).on('resize.lpui-auto-clean', onResize);
3510  let timer = null;
3511  function onResize() {
3512    clearTimeout(timer);
3513    timer = window.setTimeout(buildSlider, 50);
3514  }
3515  function getLayout(w, n) {
3516    if (w > 1100) {
3517      if (n > 7) {
3518        return {
3519          type: 'type1',
3520          single: 1,
3521          multi: n,
3522          slides: 3,
3523          slider: n > 9
3524        };
3525      }
3526      if (n > 5) {
3527        return {
3528          type: 'type1',
3529          single: 2,
3530          multi: n,
3531          slides: 3,
3532          slider: false
3533        };
3534      }
3535      return {
3536        type: 'type1',
3537        single: n,
3538        multi: n,
3539        slides: 3,
3540        slider: n > 3
3541      };
3542    } else if (w > 880) {
3543      if (n > 4) {
3544        return {
3545          type: 'type2',
3546          single: 1,
3547          multi: n,
3548          slides: 2.5,
3549          slider: n > 7
3550        };
3551      }
3552      return {
3553        type: 'type1',
3554        single: n,
3555        multi: n,
3556        slides: 3,
3557        slider: n > 3
3558      };
3559    } else if (w > 767) {
3560      if (n > 4) {
3561        return {
3562          type: 'type3',
3563          single: 1,
3564          multi: n,
3565          slides: 2,
3566          slider: n > 5
3567        };
3568      }
3569      return {
3570        type: 'type4',
3571        single: n,
3572        multi: n,
3573        slides: 2,
3574        slider: n > 2
3575      };
3576    } else if (w > 460) {
3577      return {
3578        type: 'type4',
3579        single: n,
3580        multi: n,
3581        slides: 2,
3582        slider: n > 2
3583      };
3584    }
3585    return {
3586      type: 'type5',
3587      single: n,
3588      multi: n,
3589      slides: 1,
3590      slider: n > 1
3591    };
3592  }
3593  function ensureClass($el, className) {
3594    if ($el.hasClass(className)) {
3595      return;
3596    }
3597    $el.addClass(className);
3598  }
3599  function makeSquare($el) {
3600    const el = $el[0];
3601    el.style.width = '';
3602    el.style.height = '';
3603    const rect = el.getBoundingClientRect();
3604    if (rect.width !== rect.height) {
3605      el.style.width = rect.height + 'px';
3606    }
3607  }
3608  function buildSlider() {
3609    const cWidth = $container[0].getBoundingClientRect().width;
3610    if (cWidth === usedWidth) {
3611      return;
3612    }
3613    $container.empty();
3614    slider = $('<div class="ig-feed-slider"></div>');
3615    const items = igFeed.items.slice(0, limit);
3616    const layout = getLayout(cWidth, items.length);
3617    let i = 0;
3618    let slide = null;
3619    while (i < layout.single) {
3620      slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider);
3621      i++;
3622    }
3623    while (i < layout.multi) {
3624      slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider);
3625      let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide);
3626      const lim = i + 4;
3627      while (i < lim && i < layout.multi) {
3628        slideContent.append(itemTemplate(items[i]));
3629        i++;
3630      }
3631    }
3632    $container.append(slider);
3633    if (layout.slider) {
3634      $topPrev.removeClass('hidden-control');
3635      $topNext.removeClass('hidden-control');
3636      $bottomPrev.removeClass('hidden-control');
3637      $bottomNext.removeClass('hidden-control');
3638      let prev, next;
3639      if ($bottomPrev.parent()[0].getBoundingClientRect().width) {
3640        prev = $bottomPrev;
3641        next = $bottomNext;
3642      } else {
3643        prev = $topPrev;
3644        next = $topNext;
3645        makeSquare($topPrev);
3646        makeSquare($topNext);
3647      }
3648      slider.children().each(function () {
3649        this.style.width = this.getBoundingClientRect().width + 'px';
3650      });
3651      slider.slick({
3652        dots: false,
3653        prevArrow: prev,
3654        nextArrow: next,
3655        slidesToScroll: 1,
3656        infinite: false,
3657        slidesToShow: layout.slides
3658      });
3659    } else {
3660      ensureClass($topPrev, 'hidden-control');
3661      ensureClass($topNext, 'hidden-control');
3662      ensureClass($bottomPrev, 'hidden-control');
3663      ensureClass($bottomNext, 'hidden-control');
3664    }
3665  }
3666})('section-eb4bcd51-4337-41ff-a093-12d135fb4a22', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"43b40804-f64c-4ba1-8c4a-829d577aef20\",\"usePageResource\":false,\"sectionIndex\":5,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
3667} catch(e) {
3668console.log(e);
3669}
3670
3671            var { body } = document;
3672            var globalNav = body.querySelector(':scope > nav');
3673            var globalSideMenu = body.querySelector(':scope > div.sidemenu');
3674
3675            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
3676                modalCloseBtn.addEventListener('click', function() {
3677                window.lpUI.hideClosestModal(modalCloseBtn);
3678              });
3679            });
3680
3681            window.addEventListener('click', function() {
3682                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
3683                    sharedPopup.style.display = 'none' ;
3684                });
3685            });
3686
3687            /* Misc Partials / Addons */
3688            function initWOW() {
3689                if (wow) {
3690                    wow.init();
3691                    wow.scrollHandler();
3692                    setTimeout(function () {
3693                        const wowHideStyle = document.getElementById('wow-hide-elements');
3694                        if(wowHideStyle) {
3695                            wowHideStyle.disabled = true;
3696                        }
3697                    }, 1);
3698                }
3699            }
3700
3701            const wowHideElements =  document.getElementById('wow-hide-elements');
3702            if (wowHideElements) {
3703               wowHideElements.disabled = false;
3704            }
3705
3706                initWOW();
3707
3708            /* Generic Navbar Handling */
3709            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
3710                hamburgerComponent.addEventListener('click', function() {
3711                window.lpUI.sideMenuToggle();
3712              });
3713            });
3714            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
3715                toggleEl.addEventListener('click', function() {
3716                window.lpUI.sideMenuToggle();
3717              });
3718            });
3719
3720            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
3721                linkEl.addEventListener('click', function(e) {
3722                  e.preventDefault();
3723                  e.stopPropagation();
3724                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
3725                  if (subNav && subNav.classList.contains('visible')){
3726                    subNav.classList.remove('visible');
3727                  } else {
3728                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
3729                      globalSubNav.classList.remove('visible');
3730                    });
3731                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
3732                        sideMenuSubNav.classList.remove('visible');
3733                    });
3734                    subNav?.classList.add('visible');
3735                  }
3736                });
3737            });
3738            window.addEventListener('click', function() {
3739                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
3740                    subNavEl.classList.remove('visible');
3741                });
3742            });
3743
3744        }
3745
3746        document.addEventListener('DOMContentLoaded', lpGlobalInit);
3747
3748    </script>
3748
3749
3750    
3750<script type="module">
3751    function selectorExists(selector) {
3752        return document.querySelector(selector) !== null;
3753    }
3754
3755    // Function to initialize the third-party library
3756    function initParoller(selector = '.my-paroller') {
3757        var $parollerElements = $(selector);
3758        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
3759            $parollerElements.paroller();
3760        }
3761    }
3762
3763    const parollerSelector = '.my-paroller';
3764
3765    if (selectorExists(parollerSelector)) {
3766        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
3767            initParoller(parollerSelector);
3768            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
3769        });
3770    }
3771    </script>
3771
3772
3773            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 3773-3774
3773
3774            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3774GTM-T9SFQGHZ
vendor: 107 bytes, lines 3774-3776
3774"
3775            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3776            
3776<!-- End Google Tag Manager -->
3777        
3778            
3778<script
3779                src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js"
3780                data-website-id="42744f60-1a03-40b4-89f8-9a0aacb720aa"
3781                
3782                defer></script>
vendor: 1 bytes, line 3782
3782
3783<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:'a4604245cf909592',t:'MTc5MTI0MzQ5NQ=='};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>
3783<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>
3783
3784</body>
3785</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.