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>St. Louis Luxury Real Estate | Explore Now</title> 10 <meta property="og:title" content="St. Louis Luxury Real Estate | Explore Now"> 11 <meta name="twitter:title" content="St. Louis Luxury Real Estate | Explore Now"> 12 <meta name="description" content="St. Louis County luxury real estate, thoughtfully represented by Nika Leoni for buyers and sellers. Explore fine homes and tailored guidance."> 13 <meta property="og:description" content="St. Louis County luxury real estate, thoughtfully represented by Nika Leoni for buyers and sellers. Explore fine homes and tailored guidance."> 14 <meta name="twitter:description" content="St. Louis County luxury real estate, thoughtfully represented by Nika Leoni for buyers and sellers. Explore fine homes and tailored guidance."> 15 <meta property="og:image" content="https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg"> 16 <meta name="twitter:image" content="https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg"> 17 <meta property="og:url" content="https://nikaleoni.com/"> 18 <link rel="canonical" href="https://nikaleoni.com/"> 19
19<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
19 20 <link rel="preconnect" href="https://fonts.googleapis.com"> 21 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 22 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cinzel:400,500,600,700,800,900"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i"> 23 <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 24 <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript> 25 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 26 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 27 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 28 <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png"> 29 <style id="global-css">:root{--global-primary-font-family:Cinzel,serif;--global-primary-font-family-short:Cinzel;--global-secondary-font-family:Lato,sans-serif;--global-secondary-font-family-short:Lato;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:70px;--global-h2-font-size:43px;--global-h3-font-size:30px;--global-h4-font-size:21px;--global-h5-font-size:17px;--global-h6-font-size:16px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Lato,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:Cinzel,serif;}h1{font-size:70px;}h2{font-size:43px;}h3{font-size:30px;}h4{font-size:21px;}h5{font-size:17px;}h6{font-size:16px;}</style> 30 <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/producer/index.css" /> 31 <style id="website-css">:root{--white:#fff;--secondary:#f6f1f1;--accent:#002349;--text-color:#002349;}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;}@media only screen and (min-width: 1024px) and (max-width: 1440px){nav#global-navbar .header .navigation__link{padding:12px 8px;font-size:12px;letter-spacing:1.3px;}nav#global-navbar .header .navigation{margin-left:10px;}nav#global-navbar .header .logo a.logo__link img{min-height:100px!important;}}@media (min-width: 1440px) and (max-width: 1800px){nav#global-navbar .header .header__container .logo{min-height:60px!important;}nav#global-navbar .header .header__container .logo img{min-height:60px!important;}}@media (min-width: 1801px){nav#global-navbar .header{height:130px!important;}nav#global-navbar .header .header__container{max-width:100%!important;}nav#global-navbar .header .header__container .logo{min-height:140px!important;}nav#global-navbar .header .header__container .logo img{min-height:120px!important;}}@media only screen and (max-width: 1024px){.close{right:3vw!important;top:2vh!important;}}@media only screen and (max-width: 768px){.close{right:5vw!important;top:3vh!important;}}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:10px!important;}}@media (max-width: 560px){footer .footer{padding-top:64px!important;}}@media (max-width: 768px){.custom-intro__title{font-size:30px!important;}}@media (max-width: 768px){.lp-h1{font-size:30px!important;}}@media (max-width: 768px){.redesign .h1,.redesign h1{font-size:30px!important;}}@media (max-width: 768px){.redesign .h2,.redesign h2{font-size:25px!important;}}@media only screen and (max-width: 768px){footer#global-footer a:not(.socials__item),footer#global-footer .link,footer#global-footer .footer-navigation__link{text-underline-offset:5px;}}@media only screen and (max-width: 768px){body>div.mobile-contact-wrapper .connect-btn{z-index:9999999;position:relative;border:1px solid #002349!important;}div#global-mobile-contact{z-index:9999999!important;}}.lp-btn,.redesign .lp-btn{padding:20px 46px;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:20px 46px;}button.newsletter-signup__form-item{line-height:1;font-weight:700;}.redesign .btn--small{padding:20px 46px;}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(--accent);}nav#global-navbar .header .navigation .sub-nav ul a{color:var(--accent);}nav#global-navbar.scroll{background-color:var(--white)!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link{color:var(--accent);}nav#global-navbar.scroll li.navigation__item a.navigation__link span:after{background-color:var(--accent);}nav#global-navbar.scroll button.hamburger-component.hamburger{color:var(--accent);}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#global-navbar .header{padding-top:5px;padding-bottom:5px;}nav#global-navbar .header .logo{min-height:90px;}@media only screen and (min-width:768px){nav#global-navbar .header .logo a.logo__link img{min-height:90px;}}nav.scroll .content-container{box-shadow:0 0 16px rgba(0,0,0,0.3);}@media (max-width: 768px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}@media (min-width: 1201px){footer#global-footer .footer .info-wrap .type_user{margin-bottom:21px;}}footer#global-footer .footer .info-privacy .copy_zone a,footer#global-footer .footer .info-privacy .powered_zone a{font-weight:400;}footer#global-footer a.hvr_animation,footer#global-footer .lp-link{position:relative!important;color:#fff!important;-webkit-transition:0.4s;transition:0.4s;}footer#global-footer a.hvr_animation:hover,footer#global-footer .lp-link:hover{color:#fff!important;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before,footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"""";height:1px;position:absolute!important;bottom:0;left:0;}footer#global-footer a.hvr_animation:before,footer#global-footer .lp-link:before{width:100%!important;background-color:#ccc!important;}footer#global-footer a.hvr_animation:after,footer#global-footer .lp-link:after{width:0%!important;background-color:#fff!important;}footer#global-footer a.hvr_animation:hover:after,footer#global-footer .lp-link:hover:after{width:100%!important;}@media only screen and (min-width: 769px){#global-footer .footer .info-privacy{border-top:1px solid #fff;}}@media only screen and (max-width: 768px){#global-footer .footer .info-privacy .socials_zone{margin-top:25px;}#global-footer .footer .info-privacy .copy_zone{border-top:1px solid #fff;}}footer#global-footer div.text_footer.first_text_footer div.images_box .img_size{height:100px;}body>div.sidemenu .sidebar{box-shadow:0 0 16px rgba(255,255,255,0.3);}div#modal-global-contact-us .contact-form .info-zone .info-zone_contact_cell{margin-bottom:21px;}div#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:21px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:25px;}}div#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:14px;}div#modal-global-contact-us .contact-form .section-message h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .section-message h2{font-size:28px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:28px;}}#modal-global-contact-us .contact-form .section-message label{text-transform:uppercase;color:#fff!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:#fff!important;}.info-zone_contact_cell a:hover{color:#ccc!important;}.info-zone_contact_cell a:before{background-color:#ccc!important;width:100%;}.info-zone_contact_cell a:after{background-color:#fff!important;}.lp-tcr-message{font-weight:400;}body>div.mobile-contact-wrapper .contact-form__item.submit{background-color:transparent!important;color:var(--accent)!important;border-color:var(--accent)!important;}body>div.mobile-contact-wrapper .contact-form__item.submit:hover{background-color:var(--accent)!important;border-color:var(--accent)!important;color:var(--white)!important;}body>div.mobile-contact-wrapper .pop-up .lp-container{box-shadow:0 0 24px rgba(0,0,0,0.2);border-radius:16px;}body>div.mobile-contact-wrapper .mobile-contact.with-search div.buttons-holder{bottom:150px;}@media only screen and (max-width: 768px){iframe[name='widgetCta']{bottom:55px!important;right:15px!important;}}iframe[name="widgetCta"]{bottom:70px!important;right:15px!important;}@media (max-width: 768px){.lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;
31-webkit-justify-content:center;justify-content:center;}}@media (min-width: 1801px){nav#global-navbar .header .header__container .logo img{min-height:140px!important;}}nav#global-navbar .header .navigation .sub-nav ul{min-width:380px!important;}@media (max-width: 1024px){nav .header .logo img{max-height:100px!important;}}</style> 32 <style id="wow-hide-elements">.wow{visibility:hidden!important}</style> 33 <style id="page-css"> 34 #section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8{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;--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-title-group{margin-bottom:0;}@media only screen and (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .btn-container{margin-top:0px!important;}}@media screen and (min-device-width: 1300px) and (max-device-width: 1600px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection{min-height:110vh!important;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-btn:nth-child(1){margin-right:15px;}@media (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-btn:nth-child(1){margin-right:0;margin-bottom:10px;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-btn:nth-child(2){margin-left:15px;}@media (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-btn:nth-child(2){margin-left:0;margin-top:15px;}}@media (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .lp-btn{font-size:13px!important;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .video-wrapper video,#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .video-wrapper div.poster{z-index:0!important;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8>.video-wrapper>.full-screen-video-component>.video-wrapper::before{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#000;z-index:-1000;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8>.video-wrapper>.full-screen-video-component>.video-wrapper >video{-webkit-transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);opacity:0;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8>.video-wrapper>.full-screen-video-component>.video-wrapper.playing>video{opacity:1;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection{padding:120px 0 0;min-height:100vh;margin: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-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection.slick-initialized{pointer-events:none;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .item{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;min-height:calc(100vh - 240px);}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .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-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (max-width: 768px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .lp-btn{pointer-events:initial;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-active .animation{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .animation{-webkit-transition:all .6s;transition:all .6s;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);transform:translateX(-100px);opacity:0;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .lp-title-group,#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .lp-text--pretitle{max-width:100%;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots{margin:30px auto 85px;padding:0;position:relative;top:0;bottom:0;left:0;right:0;list-style-type:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:360px;max-width:100%;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots li{margin:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;position:static;display:block;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots li.slick-active button:after{opacity:1;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots button{display:block;font-size:0;color:inherit;border-radius:0;border:none;width:100%;height:30px;cursor:pointer;position:relative;background-color:transparent;padding:0;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots button:before{display:none;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection .slick-dots button:after{display:block;content:'';width:100%;position:absolute;
34left:0;top:50%;height:1px;background-color:currentColor;opacity:0.5;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection:not(.slick-initialized) .item{margin-bottom:145px;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .collection:not(.slick-initialized) .item:nth-child(n + 2){display:none;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8>div:last-child{padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 >*:last-child{position:relative;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .overlay-component{position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--overlay-color, var(--section-overlay, rgba(0, 0, 0, 0.3)));transition-property:opacity;transition-timing-function:linear;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}@media screen and (max-width: 900px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .video-wrapper.hidable{display:none;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 video{position:absolute;z-index:-1000;width:100%;object-fit:cover;}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 video{overflow:hidden;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);min-width:100%;min-height:100%;width:auto;height:auto!important;}}#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .poster{display:none;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1000;background:center center/cover;}@media screen and (max-width: 900px){#section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8 .poster{display:block;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26{display:none;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;--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .lp-title-group{margin-bottom:0;}@media only screen and (max-width: 768px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .btn-container{margin-top:0px!important;}}@media screen and (min-device-width: 1300px) and (max-device-width: 1600px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection{min-height:110vh!important;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .video-wrapper video,#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .video-wrapper div.poster{z-index:0!important;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26>.video-wrapper>.full-screen-video-component>.video-wrapper::before{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#000;z-index:-1000;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26>.video-wrapper>.full-screen-video-component>.video-wrapper >video{-webkit-transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);transition:opacity 2s cubic-bezier(0.835, 0, 0.19, 1);opacity:0;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26>.video-wrapper>.full-screen-video-component>.video-wrapper.playing>video{opacity:1;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection{padding:120px 0 0;min-height:100vh;margin: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-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 768px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection.slick-initialized{pointer-events:none;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .item{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;min-height:calc(100vh - 240px);}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .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-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (max-width: 768px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .lp-btn{pointer-events:initial;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-active .animation{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .animation{-webkit-transition:all .6s;transition:all .6s;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);transform:translateX(-100px);opacity:0;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .lp-title-group,#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .lp-text--pretitle{max-width:100%;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots{margin:30px auto 85px;padding:0;position:relative;top:0;bottom:0;left:0;right:0;list-style-type:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:360px;max-width:100%;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots li{margin:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;position:static;display:block;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots li.slick-active button:after{opacity:1;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots button{display:block;font-size:0;color:inherit;border-radius:0;border:none;width:100%;height:30px;cursor:pointer;position:relative;background-color:transparent;padding:0;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots button:before{display:none;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection .slick-dots button:after{display:block;content:'';width:100%;position:absolute;left:0;top:50%;height:1px;background-color:currentColor;opacity:0.5;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection:not(.slick-initialized) .item{margin-bottom:145px;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .collection:not(.slick-initialized) .item:nth-child(n + 2){display:none;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26>div:last-child{padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 >*:last-child{position:relative;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .overlay-component{position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--overlay-color, var(--section-overlay, rgba(0, 0, 0, 0.3)));transition-property:opacity;transition-timing-function:linear;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}@media screen and (max-width: 900px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .video-wrapper.hidable{display:none;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 video{position:absolute;z-index:-1000;width:100%;object-fit:cover;}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 video{overflow:hidden;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);min-width:100%;min-height:100%;width:auto;height:auto!important;}}#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .poster{display:none;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1000;background:center center/cover;}@media screen and (max-width: 900px){#section-347995a3-87e3-4850-b0dc-6bb0b48c0f26 .poster{display:block;}}#section-91775ee2-529d-4065-96cf-a8a6b6c74816{color:#002349;--fontColor:#002349;--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;--section-padding-top:calc(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#fff;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .lp-title-group,#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .boxed-text__description{margin-bottom:0!important;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 h2{margin-bottom:0!important;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 div.boxed-text__description{margin-bottom:0px;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 div.boxed-text__description p{margin:0px;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .boxed-text__description{margin-bottom:30px;}}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .lp-title-group .lp-h2{margin-top:0;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container .lp-btn{margin-right:20px;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816 .redesign p{margin-bottom:1.666rem;}#section-91775ee2-529d-4065-96cf-a8a6b6c74816>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F6F1F1;--bgColor_H:0;--bgColor_S:22%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#F6F1F1;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .agent-bio{padding:80px 150px;}@media(max-width: 960px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .agent-bio{padding:50px;}}@media(max-width: 520px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .agent-bio{padding:24px;}}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .top-container .avatar{width:calc(50%);max-width:500px;float:left;margin:0 80px 48px 0;}@media(max-width: 960px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .top-container .avatar{margin:0 30px 24px 0;}}@media(max-width: 560px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .top-container .avatar{width:100%;float:none;margin:0 0 24px 0;}}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container{clear:both;padding:48px;color:var(--barTextColor, #fff);margin-top:48px;width:100%;}@media(max-width: 960px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container{padding:32px;}}@media(max-width: 520px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container{padding:24px;}}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .header{margin-bottom:40px;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .lp-h3{margin:0;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:21px;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .info .info-block{width:calc(25% - 30px);margin:unset;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .info .info-block .lp-link{overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block;line-height:1.21;}@media(max-width: 1200px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .info .info-block{width:calc(50% - 30px);}}@media(max-width: 520px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .info .info-block{width:100%;}}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .lp-socials{margin-top:32px;}@media(max-width: 520px){#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .lp-socials{margin-top:24px;}}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .lp-socials__link{border:1px solid;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .bottom-container .lp-socials li{margin:10px 16px 0 0;padding:0;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .custom-link{color:var(--barTextColor);}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe .address-cell{max-width:276px;}#section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe>div:last-child{padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-715ee9c1-a663-4832-8859-7d281d403b7e{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F6F1F1;--bgColor_H:0;--bgColor_S:22%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#F6F1F1;}#section-715ee9c1-a663-4832-8859-7d281d403b7e .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-715ee9c1-a663-4832-8859-7d281d403b7e .boxed-text__description{margin-bottom:30px;}}#section-715ee9c1-a663-4832-8859-7d281d403b7e .lp-title-group .lp-h2{margin-top:0;}#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container .lp-btn{margin-right:20px;}#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-715ee9c1-a663-4832-8859-7d281d403b7e .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-715ee9c1-a663-4832-8859-7d281d403b7e .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-715ee9c1-a663-4832-8859-7d281d403b7e .redesign p{margin-bottom:1.666rem;}#section-715ee9c1-a663-4832-8859-7d281d403b7e>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c{display:none;color:#002349;--fontColor:#002349;--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F6F1F1;--bgColor_H:0;--bgColor_S:22%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#F6F1F1;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image .hoverable-image__img-col img{object-fit:contain!important;}@media (max-width: 767px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col .full-bleed{min-height:0!important;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-section--full-bleed{padding-bottom:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex: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;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container{padding:0;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .lp-h2{margin-bottom:8px;}}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc{color:#002349;--fontColor:#002349;--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F6F1F1;--bgColor_H:0;--bgColor_S:22%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#F6F1F1;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc{display:none;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc img{object-fit:contain!important;}@media (min-width:768px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col>div img{height:80%!important;-webkit-align-self:anchor-center!important;-ms-flex-item-align:anchor-center!important;-ms-grid-row-align:anchor-center!important;align-self:anchor-center!important;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-section--full-bleed{padding-bottom:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646
34adcc .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex: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;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container{padding:0;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;
34left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .lp-h2{margin-bottom:8px;}}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297{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(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#002349;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297.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-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297.parallax-enabled .featured-testimonials:before{display:block;content:'';left:0;top:0;width:100%;background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials{padding:140px 0;position:relative;max-height:100vh;}@media(max-width: 768px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials{padding:40px 0;max-height:unset;}}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .container{max-width:1300px;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .container:after{content:'';clear:both;display:block;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left{text-align:right;padding-right:45px;max-width:500px;width:100%;float:left;}@media(max-width: 991px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left{max-width:350px;width:inherit;padding-right:30px;}}@media(max-width: 768px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left{text-align:center;padding-right:0;margin-bottom:30px;float:none;max-width:100%;}}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left h2{margin:0 0 15px;width:100%;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0;padding:0;white-space:nowrap;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav li{display:inline-block;vertical-align:top;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav .separator{margin-left:40px;position:relative;pointer-events:none;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav .separator:before{content:'';position:absolute;
34left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:currentColor;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:before,#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:after{opacity:0;color:inherit;background-color:inherit;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__right{padding-left:45px;max-width:700px;overflow:hidden;}@media(max-width: 991px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__right{padding-left:30px;}}@media(max-width: 768px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials .featured-testimonials__right{overflow:visible;padding-left:0;}}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider{border-left:solid 1px #d5d5d5;margin-left:-45px;padding-left:45px;margin-bottom:40px;}@media(max-width: 991px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider{margin-left:-30px;padding-left:30px;}}@media(max-width: 768px){#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider{margin-left:0;padding:0;margin-bottom:30px;border:none;}}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider blockquote{margin:0 0 25px;white-space:pre-line;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider cite{font-weight:bold;font-size:14px;line-height:18px;text-transform:uppercase;font-style:normal;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider .slick-slide{vertical-align:top;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297 .featured-testimonials__slider:not(.slick-initialized) li:not(:first-child){display:none;}#section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-130f6a02-234e-41ce-b774-aa08832c94ee{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-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component{padding:80px 0 60px;}}@media (min-width: 1200px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header{margin-bottom:70px;}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header img{max-width:260px;height:auto;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__heading{margin-bottom:20px;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__row{margin-left:-7px;margin-right:-7px;
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;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 1200px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__col:first-child{margin-left:auto;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component .cols-2 .gallery-component__col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 1200px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component .cols-3 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 992px){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card{position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:20px 15px;-webkit-text-decoration:none;text-decoration:none;overflow:hidden;cursor:pointer;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:100%;background-color:transparent;background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, #000000);opacity:0.6;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:hover:before{background-color:#000;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:hover .gallery-card__title:after{opacity:.3;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card:hover .gallery-card__preview img{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card__title{position:relative;width:100%;margin-bottom:0;color:#fff;letter-spacing:0;text-shadow:none;z-index:1;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all .3s;transition:all .3s;text-transform:none;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card__title:after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid currentColor;opacity:0;-webkit-transition:all .3s;transition:all .3s;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-130f6a02-234e-41ce-b774-aa08832c94ee .gallery-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:-webkit-transform .75s ease-out;transition:transform .75s ease-out;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a{color:#002349;--fontColor:#002349;--fontColor_H:211;--fontColor_S:100%;--fontColor_L:14%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#F6F1F1;--bgColor_H:0;--bgColor_S:22%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#F6F1F1;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .pagination-container{display:none!important;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .not-shown{display:none;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;color:#000000;margin-bottom:20px;-webkit-text-decoration:none;text-decoration:none;}@media (hover: hover) and (pointer: fine){#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card:hover .listing-card__image{-webkit-transform:scale(1.02);-moz-transform:scale(1.02);-ms-transform:scale(1.02);transform:scale(1.02);}}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__img-wrap{position:relative;overflow:hidden;padding-bottom:56.25%;background-color:#ccc;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__image{left:0;top:0;width:100%;height:100%;position:absolute;z-index:1;object-fit:cover;-webkit-transition:0.2s all;transition:0.2s all;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__info{width:100%;padding:20px 16px;text-align:left;background-color:#ffffff;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;position:relative;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__price{margin:0;width:100%;line-height:1;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__attributes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-right:80px;margin-top:4px;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__attributes span{dis
34play:block;line-height:1.4;text-transform:uppercase;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__attributes span+span{padding-left:5px;margin-left:5px;position:relative;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__attributes span+span:before{content:'';display:block;position:absolute;left:-1px;top:50%;width:1px;height:1px;background-color:currentColor;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__address{margin:12px 0 0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:1.4;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__status{padding:12px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;position:absolute;z-index:2;color:#fff;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__status>div{background-color:rgba(0,0,0,0.7);padding:4px 7px;border-radius:4px;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__status>div+div{margin-left:4px;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__attribution{padding:12px 16px;position:absolute;bottom:0;left:0;z-index:2;color:#fff;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__logo{width:80px;height:36px;padding:12px 4px 4px 4px;position:absolute;right:0;bottom:0;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .listing-card__logo img{width:100%;height:100%;object-fit:contain;display:block;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-right:-10px;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__container.three .properties-grid__item{width:33.33%;}@media (max-width: 1200px){#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__container.three .properties-grid__item{width:50%;}}@media (max-width: 768px){#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__container.three .properties-grid__item{width:100%;}}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__item{width:50%;padding:0 10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 768px){#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__item{width:100%;}}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .properties-grid__footer{padding:10px 0 30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-953b653b-01de-4732-a5ac-b4fb34b1438a .lp-text--subtitle p{margin-bottom:0;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0{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(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#002349;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .lp-title-group,#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .boxed-text__description{margin-bottom:0!important;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 h2{margin-bottom:0!important;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0{overflow:hidden!important;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .boxed-text__description{margin-bottom:30px;}}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .lp-title-group .lp-h2{margin-top:0;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container .lp-btn{margin-right:20px;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0 .redesign p{margin-bottom:1.666rem;}#section-35071a9e-f11c-493c-aabd-0cee2d363cf0>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856{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(2 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856{background-image:linear-gradient(0deg, #fff 70%, var(--accent) 0%);}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card__title{text-align:center;font-size:26px;text-transform:none;margin-top:auto;margin-bottom:auto;padding-bottom:20px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card__title::after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:2px solid #fff;opacity:0.8;width:50px;height:2px;background-color:#fff;margin:auto;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.row.gallery-component__row.cols-3 .gallery-component__col{padding-right:15px;padding-left:15px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:20px;padding-left:20px;height:360px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card::before{opacity:1;background-image:linear-gradient( 35 to bottom, 36 rgba(0, 0, 0, .3), 37 rgba(0, 0, 0, 0.6) 38 )!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card:hover div.gallery-card__preview{-webkit-filter:grayscale(0);filter:grayscale(0);}@media (max-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:0px;padding-left:0px;height:360px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.row.gallery-component__row.cols-3 .gallery-component__col{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:10px;padding-left:10px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component{padding-top:96px;padding-bottom:96px;}@media only screen and (max-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component{padding-top:64px;padding-bottom:64px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component .gallery-component__row .gallery-component__col{margin-bottom:0px;}@media only screen and (max-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component .gallery-component__row .gallery-component__col{margin-bottom:20px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 div.gallery-component .gallery-component__row .gallery-component__col:last-child{margin-bottom:0px;}}@media screen and (min-device-width: 1024px) and (max-device-width: 1600px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col{max-width:16.333333%!important;padding-left:5px!important;padding-right:5px!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col:nth-child(4){margin:0!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col .gallery-card .gallery-card__title{font-size:20px!important;}}@media only screen and (min-width: 1600px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .lp-container{max-width:100%;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col{max-width:16.333333%!important;padding-left:20px!important;padding-right:20px!important;margin-left:2.5px!important;margin-right:2.5px!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col:nth-child(4){margin:0!important;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col .gallery-card .gallery-card__title{font-size:20px!important;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component{padding:80px 0 60px;}}
38@media (min-width: 1200px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header{margin-bottom:70px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header img{max-width:260px;height:auto;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__heading{margin-bottom:20px;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__row{margin-left:-7px;margin-right:-7px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 1200px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col:first-child{margin-left:auto;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component .cols-2 .gallery-component__col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 1200px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component .cols-3 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 992px){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card{position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:20px 15px;-webkit-text-decoration:none;text-decoration:none;overflow:hidden;cursor:pointer;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:100%;background-color:transparent;background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, #000000);opacity:0.6;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:hover:before{background-color:#000;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:hover .gallery-card__title:after{opacity:.3;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card:hover .gallery-card__preview img{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card__title{position:relative;width:100%;margin-bottom:0;color:#fff;letter-spacing:0;text-shadow:none;z-index:1;
38-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all .3s;transition:all .3s;text-transform:none;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card__title:after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid currentColor;opacity:0;-webkit-transition:all .3s;transition:all .3s;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856 .gallery-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:-webkit-transform .75s ease-out;transition:transform .75s ease-out;}#section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91{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-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#002349;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .lp-title-group,#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .boxed-text__description{margin-bottom:0!important;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 h2{margin-bottom:0!important;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .boxed-text__description{margin-bottom:30px;}}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .lp-title-group .lp-h2{margin-top:0;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container .lp-btn{margin-right:20px;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91 .redesign p{margin-bottom:1.666rem;}#section-2a02831c-91bd-4ee3-96b9-b42d510fff91>div:last-child{padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c{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(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#002349;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header{-webkit-box-pack:center!important;-ms-flex-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important;}@media only screen and (min-width:1240px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section .container{padding-left:0px!important;padding-right:0px!important;}}@media only screen and (max-width:1276px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section .container{padding-left:40px!important;padding-right:40px!important;}}@media (max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide .featured-neighborhoods__title{padding:40px 45px!important;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section{padding:140px 0;text-align:center;overflow:hidden;}@media(max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section{padding:40px 0;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section .container{overflow:hidden;}@media (min-width: 1240px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section .container{padding-left:50px;padding-right:50px;}}
38#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods-section .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:60px;text-align:left;}@media (max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header{display:block;margin-bottom:40px;text-align:center;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header h2{margin:0;}@media (max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header h2{margin-bottom:25px;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0 0 0;padding:28px 0 0;white-space:nowrap;}@media (max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav{padding:0;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav li{display:inline-block;vertical-align:top;position:relative;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav li+li{margin-left:40px;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav .link.slick-disabled:before,#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav .link.slick-disabled:after{opacity:0;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav .spacer{position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;display:block;background-color:currentColor;pointer-events:none;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-team-header .slick-links-nav .slick-hidden+.spacer{display:none;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods{margin-bottom:50px;margin-right:0;}@media(max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods{max-width:375px;margin-left:auto;margin-right:auto;padding:0 15px;margin-bottom:30px;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .slick-slide{margin-left:40px;}@media(max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .slick-slide{width:auto;margin-left:0;padding:0 10px;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide{width:317px;vertical-align:top;}@media(min-width: 1025px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide:hover .btn,#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide:hover figure:after{opacity:1;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide img{height:317px;width:100%;vertical-align:top;object-fit:cover;}@media(max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide img{height:325px;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide figure{position:relative;min-height:317px;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide figure:after{content:'';position:absolute;bottom:0;left:0;right:0;top:0;background-color:rgba(255, 255, 255, 0.75);-webkit-transition:opacity .3s;transition:opacity .3s;opacity:0;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide .btn{opacity:0;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%);z-index:3;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide .featured-neighborhoods__title{padding:40px 60px;font-size:14px;font-weight:bold;line-height:1.71;text-transform:uppercase;text-align:left;position:relative;}@media(max-width: 768px){#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide .featured-neighborhoods__title{padding-top:30px;padding-bottom:30px;}}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods .featured-neighborhoods__slide .featured-neighborhoods__title:before{content:'';height:175px;width:1px;top:-55px;left:40px;position:absolute;background-color:#b2b2b2;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c .featured-neighborhoods:not(.slick-initialized) >.featured-neighborhoods__slide{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-right:40px;}#section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca{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(2 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca{display:none;background-image:linear-gradient(0deg, #fff 70%, var(--accent) 0%);}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component{padding-top:96px!important;padding-bottom:64px!important;}@media only screen and (max-width: 768px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component{padding-top:64px!important;padding-bottom:64px!important;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__header{max-width:1200px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col{padding-right:10px;padding-left:10px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col .gallery-card{width:100%;padding-right:20px;padding-left:20px;height:350px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col .gallery-card:before{background-color:rgba(0,0,0,0.3);transition-duration:0.5s;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col .gallery-card:hover:before{background-color:rgba(0,0,0,0.5);transition-duration:0.5s;}@media only screen and (max-width: 768px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:5px;padding-left:5px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__col .gallery-card{height:350px;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca div.gallery-component__header{max-width:1200px;margin-bottom:40px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col{margin-bottom:20px!important;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component{padding:80px 0 60px;}}
38@media (min-width: 1200px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header{margin-bottom:70px;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header img{max-width:260px;height:auto;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__heading{margin-bottom:20px;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__row{margin-left:-7px;margin-right:-7px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 1200px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col:first-child{margin-left:auto;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component .cols-2 .gallery-component__col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 1200px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component .cols-3 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 992px){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card{position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:20px 15px;-webkit-text-decoration:none;text-decoration:none;overflow:hidden;cursor:pointer;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:100%;background-color:transparent;background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, #000000);opacity:0.6;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:hover:before{background-color:#000;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:hover .gallery-card__title:after{opacity:.3;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card:hover .gallery-card__preview img{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card__title{position:relative;width:100%;margin-bottom:0;color:#fff;letter-spacing:0;text-shadow:none;z-index:1;
38-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all .3s;transition:all .3s;text-transform:none;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card__title:after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid currentColor;opacity:0;-webkit-transition:all .3s;transition:all .3s;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca .gallery-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:-webkit-transform .75s ease-out;transition:transform .75s ease-out;}#section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f{display:none;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-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .pagination-container{display:none!important;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .not-shown{display:none;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;color:#000000;margin-bottom:20px;-webkit-text-decoration:none;text-decoration:none;}@media (hover: hover) and (pointer: fine){#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card:hover .listing-card__image{-webkit-transform:scale(1.02);-moz-transform:scale(1.02);-ms-transform:scale(1.02);transform:scale(1.02);}}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__img-wrap{position:relative;overflow:hidden;padding-bottom:56.25%;background-color:#ccc;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__image{left:0;top:0;width:100%;height:100%;position:absolute;z-index:1;object-fit:cover;-webkit-transition:0.2s all;transition:0.2s all;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__info{width:100%;padding:20px 16px;text-align:left;background-color:#ffffff;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;position:relative;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__price{margin:0;width:100%;line-height:1;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__attributes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-right:80px;margin-top:4px;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__attributes span{display:block;line-height:1.4;text-transform:uppercase;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__attributes span+span{padding-left:5px;margin-left:5px;position:relative;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__attributes span+span:before{content:'';display:block;position:absolute;left:-1px;top:50%;width:1px;height:1px;background-color:currentColor;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__address{margin:12px 0 0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:1.4;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__status{padding:12px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;position:absolute;z-index:2;color:#fff;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__status>div{background-color:rgba(0,0,0,0.7);padding:4px 7px;border-radius:4px;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__status>div+div{margin-left:4px;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__attribution{padding:12px 16px;position:absolute;bottom:0;left:0;z-index:2;color:#fff;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__logo{width:80px;height:36px;padding:12px 4px 4px 4px;position:absolute;right:0;bottom:0;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .listing-card__logo img{width:100%;height:100%;object-fit:contain;display:block;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-right:-10px;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__container.three .properties-grid__item{width:33.33%;}@media (max-width: 1200px){#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__container.three .properties-grid__item{width:50%;}}@media (max-width: 768px){#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__container.three .properties-grid__item{width:100%;}}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__item{width:50%;padding:0 10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 768px){#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__item{width:100%;}}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .properties-grid__footer{padding:10px 0 30px;
38display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f .lp-text--subtitle p{margin-bottom:0;}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{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.5));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/a30e2eeb-3ebb-490c-a1d3-fa7318fda7fb');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .custom_pre-title{font-family:"BentonSans";}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{background-attachment:fixed;-webkit-background-position:center;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;}@media only screen and (max-width: 768px){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{background-attachment:unset;}}@media(min-width: 769px){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .lp-container{min-height:400px;}}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block .text-block{max-width:65%;}@media (max-width: 768px){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block .text-block{max-width:100%;margin-bottom:24px;}}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block .lp-h2{margin-bottom:0;}@media (max-width: 768px){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block{-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;}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block .lp-h2{margin-bottom:24px;text-align:center;}}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block--Center-aligned{-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;text-align:center;}#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block--Center-aligned .text-block{margin-left:auto;margin-right:auto;margin-bottom:24px;}@media (min-width: 769px){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947 .cta-block--Right-aligned .text-block{padding-right:20px;}}@media (min-width: 960px) and (orientation: landscape){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{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/a30e2eeb-3ebb-490c-a1d3-fa7318fda7fb');}}@media (min-width: 1280px) and (orientation: landscape){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{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/a30e2eeb-3ebb-490c-a1d3-fa7318fda7fb');}}@media (min-width: 1920px) and (orientation: landscape){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{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/a30e2eeb-3ebb-490c-a1d3-fa7318fda7fb');}}@media (min-width: 2560px) and (orientation: landscape){#section-c2dd9381-8f0d-44cf-9ba2-37c83031e947{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/a30e2eeb-3ebb-490c-a1d3-fa7318fda7fb');}}#section-71056696-cad2-4a42-8255-6ecef3540f66{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component{background-image:linear-gradient(0deg, var(--accent) 50%, #fff 0%);padding-top:96px!important;padding-bottom:46px!important;}@media only screen and (max-width: 768px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component{padding-top:64px!important;padding-bottom:44px!important;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component{padding:80px 0 60px;}}
38@media (min-width: 1200px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header{margin-bottom:70px;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header img{max-width:260px;height:auto;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__heading{margin-bottom:20px;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__row{margin-left:-7px;margin-right:-7px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 1200px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__col:first-child{margin-left:auto;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component .cols-2 .gallery-component__col{max-width:50%;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}}@media (min-width: 1200px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component .cols-3 .gallery-component__col{max-width:33.333333%;-webkit-flex-basis:33.333333%;-ms-flex-preferred-size:33.333333%;flex-basis:33.333333%;}}@media (min-width: 992px){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card{position:relative;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;padding:20px 15px;-webkit-text-decoration:none;text-decoration:none;overflow:hidden;cursor:pointer;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:100%;background-color:transparent;background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 76.6%, #000000);opacity:0.6;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:hover:before{background-color:#000;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:hover .gallery-card__title:after{opacity:.3;-webkit-transform:translateY(20px);-moz-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card:hover .gallery-card__preview img{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05);}}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card__title{position:relative;width:100%;margin-bottom:0;color:#fff;letter-spacing:0;text-shadow:none;z-index:1;
38-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all .3s;transition:all .3s;text-transform:none;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card__title:after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:1px solid currentColor;opacity:0;-webkit-transition:all .3s;transition:all .3s;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-71056696-cad2-4a42-8255-6ecef3540f66 .gallery-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:-webkit-transform .75s ease-out;transition:transform .75s ease-out;}#section-13773fa6-c310-4ff1-858d-28f1871153b3{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#000000;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;background-color:#000000;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.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/bd77034c-a707-49be-bbca-4cfae75e7617');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-13773fa6-c310-4ff1-858d-28f1871153b3{display:none;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video{position:relative;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;z-index:1;padding-top:65px;padding-bottom:65px;}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Half-Screen{min-height:50vh;}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Half-Screen{min-height:auto;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Three-Quarters{min-height:75vh;}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Three-Quarters{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Full-Screen{min-height:100vh;}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video--height-Full-Screen{min-height:auto;}}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video{height:auto;color:inherit;padding-bottom:65px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__poster-image{width:100%;height:100%;position:absolute;z-index:1;top:0;left:0;}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__poster-image{position:relative;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__play{display:none;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}@media (max-width: 768px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__play{display:block;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content{text-align:center;z-index:1;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
38-webkit-justify-content:center;justify-content:center;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container .share-container{position:relative;margin-left:2em;}@media (max-width: 550px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container .share-container{width:100%;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container .share-container .share-wrapper{z-index:2;font-size:16px;position:absolute;padding:0.3em;background-color:#1a1a1a;-webkit-animation:fade-in-animation 300ms ease-out;animation:fade-in-animation 300ms ease-out;display:none;top:100%;left:0;min-width:100%;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container .share-container--opened .share-wrapper{display:block;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container button{min-width:200px;}@media (max-width: 550px){#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .featured-video__content .buttons-container .share-container{margin:10px 0 0 0;}}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .lp-socials{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;min-width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .lp-socials li{padding:0 5px;margin:0;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .lp-socials>li{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;}#section-13773fa6-c310-4ff1-858d-28f1871153b3 .lp-socials a{margin:0;padding:0;}@media (min-width: 960px) and (orientation: landscape){#section-13773fa6-c310-4ff1-858d-28f1871153b3{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/bd77034c-a707-49be-bbca-4cfae75e7617');}}@media (min-width: 1280px) and (orientation: landscape){#section-13773fa6-c310-4ff1-858d-28f1871153b3{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/bd77034c-a707-49be-bbca-4cfae75e7617');}}@media (min-width: 1920px) and (orientation: landscape){#section-13773fa6-c310-4ff1-858d-28f1871153b3{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/bd77034c-a707-49be-bbca-4cfae75e7617');}}@media (min-width: 2560px) and (orientation: landscape){#section-13773fa6-c310-4ff1-858d-28f1871153b3{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/bd77034c-a707-49be-bbca-4cfae75e7617');}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2{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-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .image-section{padding-top:45px;padding-bottom:45px;}@media (max-width: 768px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .image-section{padding-top:32px;padding-bottom:32px;}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper{background-color:var(--cardColor);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;min-height:340px;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper--Left{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper--Right{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper--rounded{border-radius:16px;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper--sharp{border-radius:0;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper--noimage .text-wrapper{margin-left:auto;margin-right:auto;text-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .content-wrapper{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:auto;}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .image-wrapper{width:50%;position:relative;}@media (max-width: 768px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .image-wrapper{width:100%;padding-bottom:55%;}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .image-wrapper img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .title{margin-bottom:24px;}@media (max-width: 768px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .title{margin-bottom:14px;}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .text-wrapper{width:50%;padding:2.9vw 9.42vw 2.9vw 7.8vw;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}@media (max-width: 1024px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .text-wrapper{padding-left:24px;padding-right:33px;}}@media (max-width: 768px){#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .text-wrapper{width:100%;text-align:center;
38padding:32px 26px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .description{line-height:1.625;margin-bottom:34px;}#section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2 .description+.section-button{margin-top:auto;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#FFFFFF;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#FFFFFF;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.30));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/media/b218a7f0-f987-426c-9223-dd1e84f9d753');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video{position:relative;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;z-index:1;padding-top:65px;padding-bottom:65px;}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Half-Screen{min-height:50vh;}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Half-Screen{min-height:auto;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Three-Quarters{min-height:75vh;}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Three-Quarters{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Full-Screen{min-height:100vh;}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video--height-Full-Screen{min-height:auto;}}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video{height:auto;color:inherit;padding-bottom:65px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__poster-image{width:100%;height:100%;position:absolute;z-index:1;top:0;left:0;}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__poster-image{position:relative;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__play{display:none;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}@media (max-width: 768px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__play{display:block;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content{text-align:center;z-index:1;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-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;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container .share-container{position:relative;margin-left:2em;}@media (max-width: 550px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container .share-container{width:100%;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container .share-container .share-wrapper{z-index:2;font-size:16px;position:absolute;padding:0.3em;background-color:#1a1a1a;-webkit-animation:fade-in-animation 300ms ease-out;animation:fade-in-animation 300ms ease-out;display:none;top:100%;left:0;min-width:100%;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container .share-container--opened .share-wrapper{display:block;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container button{min-width:200
38px;}@media (max-width: 550px){#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .featured-video__content .buttons-container .share-container{margin:10px 0 0 0;}}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .lp-socials{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;min-width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin:0;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .lp-socials li{padding:0 5px;margin:0;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .lp-socials>li{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;}#section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c .lp-socials a{margin:0;padding:0;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b{color:#002349;--fontColor:#002349;--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;--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#fff;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .lp-title-group,#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .boxed-text__description{margin-bottom:0!important;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b h2{margin-bottom:0!important;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b{overflow:hidden!important;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .boxed-text__description{margin-bottom:30px;}}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .lp-title-group .lp-h2{margin-top:0;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container .lp-btn{margin-right:20px;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b .redesign p{margin-bottom:1.666rem;}#section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b>div:last-child{padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1{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(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section{padding:140px 0;text-align:center;}@media(max-width: 768px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section{padding:40px 0;}}@media(min-width:769px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section{padding:82px 0;}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section header{max-width:700px;margin:0 auto 50px;}@media(max-width: 768px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section header{margin-bottom:40px;}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section header h2{margin:0 0 25px;}@media(max-width: 768px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section header h2{margin-bottom:20px;}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press-section header p{margin:0;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press__details{list-style-type:none;display:block;margin:0 0 9px;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press__details >li{display:inline-block;position:relative;font-size:14px;font-weight:700;line-height:1;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 .featured-press__details >li+li{margin-left:6px;padding-left:10px;border-left:2px solid;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press{margin:auto;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;
38-webkit-justify-content:space-evenly;justify-content:space-evenly;text-align:left;list-style:none;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:1130px;}@media(max-width: 1100px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press{margin-left:-10px;margin-right:-10px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}@media(max-width: 769px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press{margin:0 auto 50px;max-width:100%;}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press >li{max-width:unset;width:calc(45% - 20px);margin:0 10px 40px;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press >li:hover figure:before{opacity:1;}@media(max-width: 769px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press >li{max-width:100%;width:100%;margin-left:40px;margin-right:40px;margin-bottom:0;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press >li+li{margin-top:65px;}}@media(min-width: 770px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press.three-columns >li{width:calc(33% - 20px);}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press figure{height:300px;position:relative;margin-bottom:25px;background-color:gray;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press figure:before{content:'';position:absolute;top:0;bottom:0;right:0;left:0;background:rgba(0, 0, 0, .4);-webkit-transition:.3s linear;transition:.3s linear;opacity:0;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press img{vertical-align:top;height:100%;width:100%;object-fit:cover;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press .label{position:absolute;top:0;left:0;max-width:100%;background-color:#fff;color:#000;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press h4{margin:0 0 10px;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press h4 .link{white-space:normal;-webkit-text-decoration:underline;text-decoration:underline;font-weight:400;text-underline-offset:5px;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press h4 .link:before,#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press h4 .link:after{content:none;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press p{margin:0 0 20px;white-space:normal;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press strong{display:inline-block;vertical-align:top;font-weight:700;font-size:14px;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press time{position:relative;display:inline;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.featured-press time:before{content:"";display:inline-block;height:11px;background-color:#c6c6c6;width:1px;margin:8px 15px 0 12px;vertical-align:top;}@media (min-width: 769px){#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.one-item >li{max-width:610px;width:100%;}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1 ul.one-item figure{height:250px;}}#section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e{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(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(2 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection{margin:0;padding:0;list-style:none;}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection li{padding:32px 110px;border-bottom:solid 1px #d2d2d2;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:20px;margin-bottom:0;}@media(max-width: 768px){#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection li{display:block;padding-left:0;padding-right:0;}}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection .lp-h4{width:300px;min-width:300px;max-width:300px;margin-right:30px;margin:0;}@media(max-width: 768px){#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection .lp-h4{margin-bottom:16px;}}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e .collection p{margin:0;}#section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(2 / 4 * var(--global-section-padding))!important;}
38#section-310ca97e-e489-4bc6-841e-7fc57568466a{color:#fff;--fontColor:#fff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(241, 241, 241, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:95%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:rgba(241, 241, 241, 1);--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.6));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/3407aca6-38de-44f5-9a73-99ce91249099');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}@media screen and (min-device-width: 1440px) and (max-device-width: 1600px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup .lp-title-group{max-width:900px!important;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .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-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup{min-height:80vh;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup .lp-container-custom{padding:0 25px;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form{margin:0;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form.success .newsletter-signup__form-container{display:none;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .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-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__inputs-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-container{position:relative;z-index:1;}@media (max-width: 768px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-container .lp-h2{margin-bottom:32px;}}@media (max-width: 768px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-container .lp-text--subtitle{margin-bottom:32px;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:16px;}@media (max-width: 768px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:0px;margin-top:32px;}}@media (min-width: 769px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-item.lp-input{padding-top:0;padding-bottom:0;width:250px;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-item.lp-btn{text-transform:uppercase;font-weight:700;}@media (min-width: 769px){#section-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup__form-item.lp-btn{width:200px;}}#section-310ca97e-e489-4bc6-841e-7fc57568466a .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-310ca97e-e489-4bc6-841e-7fc57568466a .newsletter-signup .success-block.hide{display:none;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}
38#section-310ca97e-e489-4bc6-841e-7fc57568466a .lp-h-pot{max-width:1px;}#section-310ca97e-e489-4bc6-841e-7fc57568466a .lp-title-group{max-width:unset;padding:0 20px;}#section-310ca97e-e489-4bc6-841e-7fc57568466a input:-webkit-autofill,#section-310ca97e-e489-4bc6-841e-7fc57568466a input:-webkit-autofill:hover,#section-310ca97e-e489-4bc6-841e-7fc57568466a input:-webkit-autofill:focus,#section-310ca97e-e489-4bc6-841e-7fc57568466a 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-310ca97e-e489-4bc6-841e-7fc57568466a .lp-disclaimer{max-width:730px;margin:20px auto 0 auto;}@media (min-width: 960px) and (orientation: landscape){#section-310ca97e-e489-4bc6-841e-7fc57568466a{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/3407aca6-38de-44f5-9a73-99ce91249099');}}@media (min-width: 1280px) and (orientation: landscape){#section-310ca97e-e489-4bc6-841e-7fc57568466a{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/3407aca6-38de-44f5-9a73-99ce91249099');}}@media (min-width: 1920px) and (orientation: landscape){#section-310ca97e-e489-4bc6-841e-7fc57568466a{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/3407aca6-38de-44f5-9a73-99ce91249099');}}@media (min-width: 2560px) and (orientation: landscape){#section-310ca97e-e489-4bc6-841e-7fc57568466a{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=3456/https://media-production.lp-cdn.com/media/3407aca6-38de-44f5-9a73-99ce91249099');}}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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(255, 255, 255, 0.2));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/30d8e477-5792-4c1d-a3e5-01513787738f');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}@media only screen and (min-width: 1024px){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 div.work-with-us .container .btn-container{display:block!important;}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 div.work-with-us .container .btn-container:after{top:50px;position:relative;content:url(https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/69d9e462-5b68-4ecc-bc61-2f643f848df8);}}@media only screen and (max-width: 768px){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 div.work-with-us .container .btn-container{display:block!important;}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 div.work-with-us .container .btn-container:after{top:50px;position:relative;content:url(https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=300/https://media-production.lp-cdn.com/media/69d9e462-5b68-4ecc-bc61-2f643f848df8);}}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8.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-8af56bc0-2962-4e51-8713-120a3eaecaf8.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8.parallax-enabled .work-with-us:before{display:block;content:'';left:0;top:0;width:100%;
38background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .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-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us h2{padding-bottom:40px;}}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .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-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us .description{margin:0 0 30px;}@media(max-width: 768px){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .redesign.work-with-us .description{margin-bottom:40px;}}#section-8af56bc0-2962-4e51-8713-120a3eaecaf8 .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-8af56bc0-2962-4e51-8713-120a3eaecaf8 .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-8af56bc0-2962-4e51-8713-120a3eaecaf8{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/30d8e477-5792-4c1d-a3e5-01513787738f');}}@media (min-width: 1280px) and (orientation: landscape){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8{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/30d8e477-5792-4c1d-a3e5-01513787738f');}}@media (min-width: 1920px) and (orientation: landscape){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8{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/30d8e477-5792-4c1d-a3e5-01513787738f');}}@media (min-width: 2560px) and (orientation: landscape){#section-8af56bc0-2962-4e51-8713-120a3eaecaf8{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/30d8e477-5792-4c1d-a3e5-01513787738f');}}#section-13456535-2123-46dd-b423-b2094dd494aa{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(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#002349;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;
38-webkit-justify-content:space-between;justify-content:space-between;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;gap:15px;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_container .custom-text_container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;color:var(--white);text-transform:uppercase;font-weight:400;line-height:0;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_container .custom-text_container .custom_pretitle{font-size:12px;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_container .custom-text_container .custom_title{font-size:24px;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_icon{width:auto;height:24px;-webkit-filter:invert(1);filter:invert(1);}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link .custom_arrow{width:auto;height:24px;-webkit-filter:invert(1);filter:invert(1);}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link:after{background-color:#999;}#section-13456535-2123-46dd-b423-b2094dd494aa .custom_link:hover:after{background-color:var(--white)!important;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__item,#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene{height:unset!important;min-height:unset!important;}#section-13456535-2123-46dd-b423-b2094dd494aa .button-wrapper{display:none!important;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid{padding-top:96px;padding-bottom:96px;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid{padding-top:64px;padding-bottom:64px;}}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .lp-h2{text-align:center;margin-bottom:70px;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .lp-h2{margin-bottom:46px;}}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scenes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;list-style:none;margin:0;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene{min-height:272px;margin:0;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__content{position:relative;z-index:2;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__item{height:calc(1px + 100%);width:calc(1px + 100%);padding:32px 27px;border:none;position:relative;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__item{padding:32px 27px;}}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__item .border{display:none;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene__item--with-border .border{display:block;border:1px solid currentColor;position:absolute;z-index:1;opacity:0.1;top:0;left:0;right:0;bottom:0;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-1{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:1076px;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-1 .scene__item{padding:64px 110px;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-1 .scene__item{padding:32px 27px;}}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-2{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-3{-webkit-flex-basis:33.3%;-ms-flex-preferred-size:33.3%;flex-basis:33.3%;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene--columns-4{-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .scene ul{list-style:revert;}#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .button-wrapper{padding-top:90px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
38-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){#section-13456535-2123-46dd-b423-b2094dd494aa .text-grid .button-wrapper{padding-top:42px;}}#section-13456535-2123-46dd-b423-b2094dd494aa .redesign p{margin-bottom:1.666rem;}#section-13456535-2123-46dd-b423-b2094dd494aa>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-865e8019-f87e-4788-905e-08ea887d0c12{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-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed{padding:80px 0;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .title{margin:0 20px 0 0;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-865e8019-f87e-4788-905e-08ea887d0c12 .instagram-link .instagram-name{display:inline;margin:0;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .title+.instagram-link{margin-top:5px;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-wrapper{margin-bottom:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .follow-button{margin:20px 0 0 0;display:block;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-nav-prev{margin-left:30px;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-nav-next{margin-left:10px;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .hidden-control{display:none;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single,#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single:first-child,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi:first-child{margin-left:auto;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single:last-child,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi:last-child{margin-right:auto;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single.type2,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi.type2{width:calc(100% / 5 * 2);}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single.type3,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi.type3{width:calc(100% / 2);}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single.type4,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi.type4{width:calc(100% / 2);}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single.type5,#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-container{padding:0;width:100%;}}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-feed{width:calc(100% + 20px);position:relative;
38left:-10px;overflow:hidden;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:1;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-item:hover .video-icon{opacity:0;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single .ig-feed-item__info{padding:15%;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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-865e8019-f87e-4788-905e-08ea887d0c12 .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .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;
38-webkit-justify-content:center;justify-content:center;width:48px;height:48px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-right,#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .title,#section-865e8019-f87e-4788-905e-08ea887d0c12 .instagram-link{margin-right:0;text-align:center;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-nav-prev,#section-865e8019-f87e-4788-905e-08ea887d0c12 .top-nav-next{display:none;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-865e8019-f87e-4788-905e-08ea887d0c12 .ig-feed{display:none;}#section-865e8019-f87e-4788-905e-08ea887d0c12 .has-data .ig-feed{display:block;}#section-865e8019-f87e-4788-905e-08ea887d0c12.has-data .ig-feed,#section-865e8019-f87e-4788-905e-08ea887d0c12#section-temp .ig-feed{display:block;}#modal-global-contact-us .close{z-index:11;}#modal-global-contact-us .description{margin-bottom:15px;}#modal-global-contact-us .close:focus{outline:0;}#modal-global-contact-us .contact-form{padding:70px 0;width:100%;min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;color:var(--colorTxt, #ffffff);-webkit-background-size:cover;background-size:cover;}#modal-global-contact-us .contact-form:after{content:'';position:absolute;display:block;background-color:rgba(2, 5, 7, 0.85);height:100%;width:100%;z-index:0;}#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}
38@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;
38left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}
38nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;
38-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}body>div.sidemenu{background-color:rgba(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;}body>div.sidemenu{width:auto!important;left:auto!important;right:-100%;top:0;background-color:transparent;-webkit-transition:right .3s;transition:right .3s;display:block;}body>div.sidemenu:not(.visible){pointer-events:none;visibility:hidden;}body>div.sidemenu.visible{right:0;}body>div.sidemenu .sidebar{position:relative;width:400px;height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:40px;padding-bottom:100px;background-color:var(--bgColor, #fff);color:var(--fontColor, #000);font-family:var(--global-primary-font-family);font-size:21px;line-height:1.333333;letter-spacing:.5px;-webkit-transition:all .3s ease-in;transition:all .3s ease-in;}@media (max-width: 767px){body>div.sidemenu .sidebar{width:270px;font-size:18px;}}body>div.sidemenu .sidebar__content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%;padding-left:40px;padding-right:40px;text-align:center;overflow-y:auto;}@media (max-width: 767px){body>div.sidemenu .sidebar__content{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding-left:20px;padding-right:20px;}}body>div.sidemenu .sidebar__close{position:absolute;right:30px;top:30px;display:inline-block;width:38px;height:38px;padding:10px;border:none;border-radius:0;background:transparent;color:inherit;z-index:1;cursor:pointer;}body>div.sidemenu .sidebar__close:before,body>div.sidemenu .sidebar__close:after{content:'';display:block;width:22px;height:2px;background-color:currentColor;position:absolute;left:50%;top:50%;}body>div.sidemenu .sidebar__close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidebar__close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}@media (max-width: 767px){body>div.sidemenu .sidebar__close{right:10px;top:10px;}}body>div.sidemenu .sidebar__close:focus{outline:none;}body>div.sidemenu .sidebar__nav{list-style:none;padding:0;margin:auto 0;}body>div.sidemenu .sidebar__nav-item{margin:0;padding-top:4px;padding-bottom:4px;border-bottom:1px solid hsla( 39 var(--bgColor_H, 0), 40 var(--bgColor_S, 0%), 41 calc(50% + (var(--bgColor_L, 100%) - 50%) * 0.9), 42 var(--bgColor_A, 1) 43 );}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( 44var(--fontColor_H), 45var(--fontColor_S), 46calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 47var(--fontColor_A));}footer .redesign .inp--dark-bg input{color:var(--fontColor);border-color:hsla( 48 var(--fontColor_H), 49 var(--fontColor_S), 50 calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 51 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;
51-webkit-justify-content:flex-end;justify-content:flex-end;}footer .redesign .socials--grey .socials__link{background-color:hsla( 52 var(--bgColor_H), 53 var(--bgColor_S), 54 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.15), 55 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( 56 var(--bgColor_H), 57 var(--bgColor_S), 58 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.4), 59 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;
59left: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( 60 var(--bgColor_H), 61 var(--bgColor_S), 62 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 63 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( 64 var(--bgColor_H), 65 var(--bgColor_S), 66 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 67 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;
67-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
67ox='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
67699 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
6771 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;
67-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;
67height: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);}} 68 </style> 69 <style id="custom-style-css">.pagination-style-1 li a{color:#002349!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-1 li a:hover{color:rgba(255, 255, 255, 1)!important;background-color:#002349!important;border-color:#002349!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:#002349!important;border-color:#002349!important;}.social_icons-style-1 a{border-color:#002349!important;background-color:rgba(0, 0, 0, 0)!important;color:#002349!important;}.social_icons-style-1 a:hover{border-color:#002349!important;background-color:#002349!important;color:rgba(255,255,255,1)!important;}.social_icons-style-1 a i{color:inherit!important;}
69.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.button-style-1{color:#002349!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#002349!important;}.button-style-1:hover{color:rgba(255,255,255,1)!important;background-color:#002349!important;border-color:#002349!important;}.hyperlink-style-1{color:#002349!important;}.hyperlink-style-1:hover{color:#999999!important;}.button-style-2{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-2:hover{color:#002349!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(0, 0, 0, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}
69.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:#CCCCCC!important;}.pagination-style-2 li a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-2 li a:hover{color:#002349!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.pagination-style-2 li.active a{color:#002349!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.button-style-3{color:#FFFFFF!important;background-color:#002349!important;border-color:#002349!important;}.button-style-3:hover{color:#002349!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#002349!important;}.button-style-4{color:rgba(192, 192, 192, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(192, 192, 192, 1)!important;}.button-style-4:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(192, 192, 192, 1)!important;border-color:rgba(192, 192, 192, 1)!important;}.button-style-5{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 35, 73, 1)!important;border-color:rgba(0, 35, 73, 1)!important;}.button-style-5:hover{color:rgba(0, 35, 73, 1)!important;background-color:rgba(0, 0, 0, 0.01)!important;border-color:rgba(0, 35, 73, 1)!important;}.button-style-6{color:#000000!important;background-color:#FFFFFF!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-6:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.button-style-7{color:rgba(255, 255, 255, 1)!important;background-color:rgba(233, 22, 29, 1)!important;border-color:rgba(233, 22, 29, 1)!important;}.button-style-7:hover{color:rgba(233, 22, 29, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(233, 22, 29, 1)!important;}</style> 70 <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode 71 defaults, and dynamically loads the locale + main (and banner if needed). --> 72
72<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="52ee6f11-4e7f-4972-85fe-8e9497b3e0a1"></script>
72 73 74 75 <!-- Follow Up Boss Tracker Code --> 76
76<script type="text/plain" data-consent-category="analytics"> 77 (function(w,i,d,g,e,t){w["WidgetTrackerObject"]=g;(w[g]=w[g]||function() 78 {(w[g].q=w[g].q||[]).push(arguments);}),(w[g].ds=1*new Date());(e="script"), 79 (t=d.createElement(e)),(e=d.getElementsByTagName(e)[0]);t.async=1;t.src=i; 80 e.parentNode.insertBefore(t,e);}) 81 (window,"https://widgetbe.com/agent",document,"widgetTracker"); 82 window.widgetTracker("create", "WT-IYGKQBFU"); 83 </script>
83 84 <!-- End Follow Up Boss Tracker Code --> 85
85<script> 86 (function utmParse() { 87 const url = new URL(window.location.href); 88 if (url.search) { 89 const utm = url.search.split(/\?|&/g).reduce((acc, current) => { 90 const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g); 91 if (matched) { 92 acc[matched[0]] = current.replace(`${matched[0]}=`, ''); 93 } 94 return acc; 95 }, {}); 96 if (Object.keys(utm).length) { 97 window.localStorage.setItem('utm_vars', JSON.stringify(utm)); 98 } else { 99 // Remove old utm vars 100 window.localStorage.removeItem('utm_vars'); 101 } 102 } 103 // Set referrer in local storage 104 // This is meant to be stored once to avoid self-referrals and to have the first referrer only. 105 if (!window.localStorage.getItem('referrer')) { 106 // Capture the Referrer URL 107 const referrer = document.referrer; 108 if (referrer) { 109 // Only store the referrer if it comes from outside the current domain (to avoid self-referrals) 110 const currentDomain = window.location.hostname; 111 const referrerDomain = new URL(referrer).hostname; 112 113 if (referrerDomain !== currentDomain) { 114 // Store it in localStorage 115 localStorage.setItem('referrer', referrer); 116 } 117 } 118 } 119 })(); 120 </script>
120 121 <!-- Bing Webmaster Tools Verification -->
122<script> 123 // Check if on the homepage before the body loads 124 if (window.location.pathname === '/' || window.location.pathname === '/index.html') { 125 document.write('<meta name="msvalidate.01" content="9444E455BC3D007F3F70BCA3F6F54DD2" />'); 126 } 127</script>
127 128 129<meta name="facebook-domain-verification" content="klo2zqufwjis158xvtus26zi3cmno9" /> 130 <!-- GOOGLE TRANSLATE STYLES are moved to external CSS --> 131</head> 132<body> 133 <div id="google_translate_element" style="display: none"></div> 134 135 <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b"> 136 <div class="redesign"> 137 <div class="content-container header"> 138 <div class="container header__container"> 139 <div class="navbar"> 140 <div class="logo"> 141 <a href="/" class="logo__link"> 142 <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/15ba4738-aa69-4d9b-a1b5-8a936f340cd9" 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/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 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/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 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/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/15ba4738-aa69-4d9b-a1b5-8a936f340cd9 3456w" class="logo__img light" alt=""> 143 <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/438db0ac-9518-467c-8fdd-c853dc1daea9" 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/438db0ac-9518-467c-8fdd-c853dc1daea9 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/438db0ac-9518-467c-8fdd-c853dc1daea9 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/438db0ac-9518-467c-8fdd-c853dc1daea9 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/438db0ac-9518-467c-8fdd-c853dc1daea9 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/438db0ac-9518-467c-8fdd-c853dc1daea9 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/438db0ac-9518-467c-8fdd-c853dc1daea9 3456w" class="logo__img dark" alt=""> 144 </a> 145 </div> 146 <div class="navigation"> 147 <ul> 148 <li class="navigation__item sub-nav-container"> 149 <a href="#" class="navigation__link wow fadeInUp">Search Homes</a> 150 <div class="sub-nav"> 151 <ul> 152 <li class="sub-nav__item"><a href="/neighborhoods/town-and-country" class="nav-link sub-nav__link feature"><span>Homes For Sale | Town and Country</span></a></li> 153 <li class="sub-nav__item"><a href="/neighborhoods/frontenac" class="nav-link sub-nav__link feature"><span>Homes For Sale | Frontenac</span></a></li> 154 <li class="sub-nav__item"><a href="/neighborhoods/ladue" class="nav-link sub-nav__link feature"><span>Homes For Sale | Ladue</span></a></li> 155 <li class="sub-nav__item"><a href="/neighborhoods/huntleigh" class="nav-link sub-nav__link feature"><span>Homes For Sale | Huntleigh</span></a></li> 156 <li class="sub-nav__item"><a href="/neighborhoods/des-peres" class="nav-link sub-nav__link feature"><span>Homes For Sale | Des Peres</span></a></li> 157 <li class="sub-nav__item"><a href="/neighborhoods/creve-coeur" class="nav-link sub-nav__link feature"><span>Homes For Sale | Creve Coeur</span></a></li> 158 <li class="sub-nav__item"><a href="/neighborhoods/chesterfield" class="nav-link sub-nav__link feature"><span>Homes For Sale | Chesterfield</span></a></li> 159 <li class="sub-nav__item"><a href="/neighborhoods/kirkwood" class="nav-link sub-nav__link feature"><span>Homes For Sale | Kirkwood</span></a></li> 160 <li class="sub-nav__item"><a href="/neighborhoods/clayton" class="nav-link sub-nav__link feature"><span>Homes For Sale | Clayton</span></a></li> 161 <li class="sub-nav__item">
161<a href="/neighborhoods/olivette" class="nav-link sub-nav__link feature"><span>Homes For Sale | Olivette</span></a></li> 162 </ul> 163 </div> 164 </li> 165 <li class="navigation__item"> 166 <a href="https://consumer.hifello.com/lp/69b2eefe4682ff0ca5ca27c1" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Home Valuation</span></a> 167 </li> 168 <li class="navigation__item"> 169 <a href="/neighborhoods" class="navigation__link wow fadeInUp" data-wow-delay="2.2"><span>Neighborhoods</span></a> 170 </li> 171 <li class="navigation__item"> 172 <a href="/global-destination-properties" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Global Destination Properties</span></a> 173 </li> 174 <li class="navigation__item"> 175 <a href="/blog" class="navigation__link wow fadeInUp" data-wow-delay="2.4"><span>Blog</span></a> 176 </li> 177 <li class="navigation__item"> 178 <a data-type="CONTACT_US" class="navigation__link wow fadeInUp"><span>Let's Connect</span></a> 179 </li> 180 <li class="navigation__item"> 181 <a href="tel:3144649222" class="navigation__link wow fadeInUp" data-wow-delay="2.6"><span>(314) 464-9222</span></a> 182 </li> 183 </ul> 184 </div> 185 <div class="buttons-wrapper"> 186 <button type="button" class="hamburger-component hamburger"> 187 <span class="hamburger__bars"></span> 188 </button> 189 </div> 190 </div> 191 </div> 192 </div> 193</div> 194 195 </nav> 196 <div id="global-sidemenu" class="sidemenu" data-el-id="11fa925d-d2dd-4213-a0fa-d46f769e2c18"> 197 <div class="sidebar"> 198 199 <button class="toggle sidebar__close close"></button> 200 <div class="sidebar__content"> 201 202 <ul class="sidebar__nav"> 203 <li class="sidebar__nav-item"> 204 <a href="/" class="sidebar__nav-link">Home</a> 205 </li> 206 <li class="sidebar__nav-item"> 207 <a href="/about" class="sidebar__nav-link">About Nika</a> 208 </li> 209 <li class="sidebar__nav-item"> 210 <a href="/properties" class="sidebar__nav-link">Featured Properties</a> 211 </li> 212 <li class="sidebar__nav-item"> 213 <a href="/new-listings" class="sidebar__nav-link">New Listings</a> 214 </li> 215 <li class="sidebar__nav-item"> 216 <a href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&encodedMultiPolygon=%5B%22urtyhAxwmykDncBuj%7DRv%60tJ_bOfmHncpSos%60KytA%22%5D&center=%7B%22lat%22%3A38.58002435647437%2C%22lng%22%3A-90.43324383085935%7D&boundary=%5B%5B%5B38.7944139859576%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.82737835234373%5D%5D%5D" class="sidebar__nav-link">Home Search</a> 217 </li> 218 <li class="sidebar__nav-item"> 219 <a href="https://consumer.hifello.com/lp/69b2d50c1b0864cd53fe75a4" class="sidebar__nav-link">Home Valuation</a> 220 </li> 221 <li class="sidebar__nav-item"> 222 <a href="/neighborhoods" class="sidebar__nav-link">Neighborhoods</a> 223 </li> 224 <li class="sidebar__nav-item"> 225 <a href="/testimonials" class="sidebar__nav-link">Testimonials</a> 226 </li> 227 <li class="sidebar__nav-item"> 228 <a href="/about-sir" class="sidebar__nav-link">About the Brand</a> 229 </li> 230 <li class="sidebar__nav-item"> 231 <a href="/auction" class="sidebar__nav-link">Sotheby's Auction House</a> 232 </li> 233 <li class="sidebar__nav-item"> 234 <a href="/global-lifestyle-properties" class="sidebar__nav-link">Global & Lifestyle Properties</a> 235 </li> 236 <li class="sidebar__nav-item sub-nav-container"> 237 <div class="sub-nav"> 238 <ul class="sidebar__subnav"> 239 <li class="sidebar__subnav-item"><a href="/buyers" class="sidebar__subnav-link">Buyer's Guide</a></li> 240 <li class="sidebar__subnav-item"><a href="/sellers" class="sidebar__subnav-link">Seller'
240s Guide</a></li> 241 </ul> 242 </div> 243 <a href="#" class="sidebar__nav-link link main-nav">Resources</a> 244 </li> 245 <li class="sidebar__nav-item"> 246 <a href="/blog" class="sidebar__nav-link">Blog</a> 247 </li> 248 <li class="sidebar__nav-item"> 249 <a href="/contact" class="sidebar__nav-link">Let's Connect</a> 250 </li> 251 <li class="sidebar__nav-item"> 252 <a href="/home-search/account" class="sidebar__nav-link">My Search Portal</a> 253 </li> 254 </ul> 255 </div> 256</div> 257 </div> 258 <div id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51"> 259 <div class="btn-holder" 260style=" 261--backgroundColor: rgba(255, 255, 255, 1); 262--textColor: rgba(0, 35, 73, 1); 263--pillTextColor: rgba(255, 255, 255, 1); 264--pillBackgroundColor: rgba(0, 35, 73, 1);"> 265 266 <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Let's Connect</button> 267</div> 268 269 270<div class="pop-up" style="--backgroundColor: rgba(255, 255, 255, 1); --textColor: rgba(0, 35, 73, 1);"> 271 <div class="lp-container"> 272 <form data-type="contact-form" class="contact-form"> 273 <div class="contact-form__container"> 274 <h3 class="lp-h3">Leave a Message</h3> 275 276 <div class="contact-form__content"> 277 <div class="contact-form__inputs-container"> 278 <div class="contact-form__item"> 279 <input 280 id="__FullName" 281 type="text" name="name" 282 class="lp-input lp-input--light" 283 required 284 placeholder="Full Name"> 285 </div> 286 <div class="contact-form__item"> 287 <input 288 id="__Email" 289 type="email" name="email" 290 class="lp-input js-email-input lp-input--light" 291 required 292 placeholder="Email"> 293 </div> 294 <div class="contact-form__item"> 295 <input 296 class="lp-input lp-input--light" 297 type="tel" 298 placeholder="Phone" 299 id="__Phone" 300 name="phone" 301 required> 302 </div> 303 304 <div class="contact-form__item input-group-select"> 305 <select name="interest" id="-field-interest" placeholder="Interest" 306 class="lp-input dropdown-select js-select js-form-element lp-input--light" required> 307 <option value="" disabled selected data-label="Interest">Interested in...</option> 308 <option value="Selling & Buying">Selling & Buying</option> 309 <option value="Selling">Selling</option> 310 <option value="Buying">Buying</option> 311 <option value="Renting">Renting</option> 312 <option value="Other">Other</option> 313 </select> 314 <label for="-field-interest" class="lp-label sr-only">Interest</label> 315 </div> 316 317 <div class="contact-form__item"> 318 <textarea 319 name="message" 320 rows="4" 321 id="__Message" 322 class="lp-input lp-input--light" 323 placeholder="Message" 324 required></textarea> 325 </div> 326 <div class="lp-disclaimer"> <div class='lp-tcr-content' style='margin-bottom: 1em;'> 327 <span class='lp-tcr-message'> 328 By providing your contact information to Nika Leoni, your personal 329 information will be processed in accordance with Nika Leoni's 330 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. By 331 checking the box(es) below, you consent to receive communications 332 regarding your real estate inquiries and related marketing and promotional 333 updates in the manner selected by you. For SMS text messages, message 334 frequency varies. Message and data rates may apply. You may opt out of 335 receiving further communications from Nika Leoni at any time. To opt 336 out of receiving SMS text messages, reply STOP to unsubscribe. 337 </span> 338 </div> 339 <label style='display: none;' for='-termsAccepted'>Opt 340 in/Disclaimer Consent:</label> 341 <label class='lp-tcr-content' style='margin-bottom: 1em;'> 342 <span class='lp-tcr-checkbox'> 343 <input 344 type='checkbox' 345 name='termsAccepted' 346 id='-termsAccepted' 347 oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
348 oninput="this.setCustomValidity('')" 349 required 350 value='Yes, I agree to receive email or phone call communications from Nika Leoni.' 351 /> 352 </span> 353 <span class='lp-tcr-message'> 354 Yes, I agree to receive email or phone call communications from 355 Nika Leoni. 356 </span> 357 </label> 358 <label style='display: none;' for='-customConsent'>Opt 359 in/Disclaimer Consent:</label> 360 <label class='lp-tcr-content' style='margin-bottom: 1em;'> 361 <span class='lp-tcr-checkbox'> 362 <input 363 type='checkbox' 364 name='customConsent' 365 id='-customConsent' 366 value='Yes, I agree to receive SMS text messages from Nika Leoni.' 367 /> 368 </span> 369 <span class='lp-tcr-message'> 370 Yes, I agree to receive SMS text messages from Nika Leoni. 371 </span> 372 </label> 373 374</div> 375 <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit contact-form__item">Submit</button> 376 377 <div class="lp-h-pot"> 378 <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 379 </div> 380 381 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 382 <input type="hidden" name="button_text" value="Let's Connect"> 383 </div> 384 </div> 385 </div> 386 387 388 <div class="success-block"> 389 <h3 class="lp-h3 success-message">Thank you for your message. I will be in touch with you shortly.</h3> 390 391 </div> 392 </form> 393 394 <button type="button" class="close-btn lp-ico lp-ico-close"></button> 395 396 397 </div> 398</div> 399 400 401 </div> 402 <section id="section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8" class="video-section is-font-color-light is-background-color-light" data-el-id="8ec37bf8-cdc6-4e6c-bec9-381ff2117972"> 403 <div class="video-wrapper"> 404 <div class="full-screen-video-component"> 405 <div class="video-wrapper hidable"> 406 <video class="lazy" 407 poster="https://res.cloudinary.com/luxuryp/videos/f_auto,q_auto/so_0,eo_0/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg" 408 style="height:100%;" 409 loop 410 muted 411 autoplay 412 playsinline> 413 <source data-src="https://res.cloudinary.com/luxuryp/videos/f_webm,vc_vp9,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.webm" type="video/webm;codecs=vp9"> 414<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h265,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.mp4" type="video/mp4;codecs=hvc1"> 415<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h264,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.mp4" type="video/mp4"> 416 </video> 417 </div> 418 <div class="poster" style="background-image: url('https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg')"></div> 419 </div> 420 </div> 421 <div class="overlay-component"style="--section-overlay: rgba(0, 0, 0, 0.30);"></div> 422<div class="redesign"> 423 <div class="lp-container lp-container--l"> 424 <div class="collection"> 425 <div class="item"> 426 <div class="lp-title-group"> 427 428 <h1 class="lp-h1 animation"><p><img style="display: block; margin-left: auto; margin-right: auto;" src="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/413f097d-e1a4-4ca7-bb87-2ea1127790c6" alt="" width="800px" height="auto"></p></h1> 429 <div class="lp-text--subtitle lp-pre-line"><h3 class="MsoNormal"> </h3> 430<h3 class="MsoNormal">Global Real Estate Advisor | St. Louis County Luxury Residential</h3> 431<p> </p> 432<p><a class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width button-style-2" href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&center=%7B%22lat%22%3A38.58469918327547%2C%22lng%22%3A-90.45603075800527%7D&zoom=12&boundary=%5B%5B%5B38.67977365036392%2C-90.63455859003652%5D%2C%5B38.67977365036392%2C-90.27750292597402%5D%2C%5B38.48949867776312%2C-90.27750292597402%5D%2C%5B38.48949867776312%2C-90.63455859003652%5D%2C%5B38.67977365036392%2C-90.63455859003652%5D%5D%5D"> Find Your Home </a> <a class="lp-btn lp-btn--light lp-btn--filled lp-btn--mob-full-width button-style-2" href="https://consumer.hifello.com/lp/69b2ee6b23f26f58e961160b" target="_blank" rel="noopener"> Sell Your Home </a></p> 433<p> </p> 434<p> </p></div> 435 </div> 436 <div class="btn-container"> 437 </div> 438 </div> 439 440 </div> 441 </div> 442</div> 443</section> 444<section id="section-347995a3-87e3-4850-b0dc-6bb0b48c0f26" class="video-section is-font-color-light is-background-color-light" data-el-id="8ec37bf8-cdc6-4e6c-bec9-381ff2117972"> 445 <div class="video-wrapper"> 446 <div class="full-screen-video-component"> 447 <div class="video-wrapper hidable"> 448 <video class="lazy" 449 poster="https://res.cloudinary.com/luxuryp/videos/f_auto,q_auto/so_0,eo_0/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg" 450 style="height:100%;" 451 loop 452 muted 453 autoplay 454 playsinline> 455 <source data-src="https://res.cloudinary.com/luxuryp/videos/f_webm,vc_vp9,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.webm" type="video/webm;codecs=vp9"> 456<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h265,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.mp4" type="video/mp4;codecs=hvc1"> 457<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h264,q_auto:best,w_1920,c_limit/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.mp4" type="video/mp4"> 458 </video> 459 </div> 460 <div class="poster" style="background-image: url('https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/jrkzgtq4yinveopj3syw/nika-leoni-homepage-opening-video.jpg')"></div> 461 </div> 462 </div> 463 <div class="overlay-component"style="--section-overlay: rgba(0, 0, 0, 0.30);"></div> 464<div class="redesign"> 465 <div class="lp-container lp-container--l"> 466 <div class="collection"> 467 <div class="item"> 468 <div class="lp-title-group"> 469 470 <h1 class="lp-h1 animation"><p><img style="display: block; margin-left: auto; margin-right: auto;" src="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/413f097d-e1a4-4ca7-bb87-2ea1127790c6" alt="" width="800px" height="auto"></p></h1> 471 <div class="lp-text--subtitle lp-pre-line"><h5 class="MsoNormal"> </h5> 472<h4 class="MsoNormal">"Your best life begins with a home that inspires you." - <em>Joanna Gaines</em></h4></div> 473 </div> 474 <div class="btn-container"> 475 <a 476 href="/home-search/listings" 477 478 class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width button-style-2" 479 480 481 482 483 484 > 485 Find Your Home 486 </a> 487 <a 488 href="/home-valuation" 489 490 class="lp-btn lp-btn--light lp-btn--filled lp-btn--mob-full-width button-style-2" 491 492 493 494 495 496 > 497 Sell Your Home 498 </a> 499 </div> 500 </div> 501 502 </div> 503 </div> 504</div> 505</section> 506<section id="section-91775ee2-529d-4065-96cf-a8a6b6c74816" class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 507 508<div class="boxed-text lp-vertical-paddings redesign"> 509 <div class="lp-container"> 510 511 <div class="boxed-text__description"><h1>Nika Leoni</h1> 512<h5>Luxury Real Estate in St. Louis County | Global Destination Properties</h5> 513<p class="MsoNormal">Nika Leoni is a Global Real Estate Advisor with Dielmann Sotheby's International Realty, advising buyers and sellers in St. Louis County's luxury residential market while helping clients explore exceptional lifestyle, second-home, and investment opportunities in select destinations throughout the United States and abroad.</p> 514<p class="MsoNormal">Drawing on her background as a classical performer and entrepreneur, Nika brings a strong work ethic, attention to detail,</p> 515<p class="MsoNormal">
515and a thoughtful approach to serving her clients.</p></div> 516 </div> 517</div> 518</section> 519<section id="section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe" class="solid-section is-font-color-dark is-background-color-light" data-el-id="180c7cad-6b57-4fe8-a354-10f2ed208479"> 520<div class="agent-bio redesign" style="--barTextColor: #FFFFFF"> 521 <div class="top-container"> 522 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/11d3812c-f816-4f9d-ab95-1ddc0dacf415" 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/11d3812c-f816-4f9d-ab95-1ddc0dacf415 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/11d3812c-f816-4f9d-ab95-1ddc0dacf415 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/11d3812c-f816-4f9d-ab95-1ddc0dacf415 1206w" alt="agent photo" class="avatar portrait" loading="lazy"> 523 <div class="lp-a lp-text--subtitle"> 524<h2 class="font-size: 43px;">Every Transaction Deserves a Standing Ovation</h2> 525<p class="MsoNormal">Nika Leoni serves buyers and sellers across St. Louis County, with a focus on fine homes and estates. She is known for a thoughtful, highly personal approach that reflects the level of service and market insight associated with Dielmann Sotheby’s International Realty.</p> 526<p class="MsoNormal"> </p> 527<p class="MsoNormal">Nika brings a distinctive background to her real estate practice. An international career in classical music as an award-winning singer and critically acclaimed composer, combined with years of building and operating her own businesses across the arts, e-commerce, and manufacturing, shaped a disciplined, highly prepared approach to client representation. The discipline and composure developed through performance, alongside real-world experience in negotiation and financial decision-making from running her own businesses, translate directly into the standard of representation her clients expect.</p> 528<p class="MsoNormal"> </p> 529<p class="MsoNormal">That foundation shows up in every step of the process. She listens closely, prepares thoroughly, and communicates with precision, recognizing that successful outcomes depend on far more than surface-level marketing. She approaches real estate as both a financial asset and a lived experience, working with clients who care not only about numbers, but also about quality, timing, and long-term fit.</p> 530<p class="MsoNormal"> </p> 531<p class="MsoNormal">Having called St. Louis home for over a decade, Nika has built strong ties to the community, including founding Make Music St. Louis, a citywide festival supporting local musicians, and In Her Sound, an organization dedicated to promoting women musicians and composers through live performance.</p> 532<p class="MsoNormal"> </p> 533<p class="MsoNormal">Beyond St. Louis, Nika provides advisory support to clients considering property purchases in Europe and the Caribbean. As a Certified International Property Specialist (CIPS) and Resort and Second-Home Property Specialist (RSPS), she draws on her European background, cross-cultural fluency, and Sotheby’s International Realty’s global network to guide clients exploring global opportunities, resort lifestyles, and second-home or investment properties.</p> 534<p class="MsoNormal">Nika’s approach is strategic, thorough, and grounded, suited to clients who value substance over salesmanship and want clear insight to guide important decisions.</p> 535<p class="MsoNormal"> </p> 536</div> 537 </div> 538</div> 539</section> 540<section id="section-715ee9c1-a663-4832-8859-7d281d403b7e" class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 541 542<div class="boxed-text lp-vertical-paddings redesign"> 543 <div class="lp-container"> 544 545 <div class="boxed-text__description"><div> </div></div> 546 <div class="button-container"> 547 <a 548 href="/about" 549 550 class="lp-btn lp-btn--dark lp-btn--outline button-style-1" 551 552 553 554 555 556 > 557 More About Nika 558 </a> 559 <a 560 href="/portfolio" 561 562 class="lp-btn lp-btn--dark lp-btn--outline button-style-1" 563 564 565 566 567 568 > 569 Nika's Portfolio 570 </a> 571 </div> 572 </div> 573</div> 574</section> 575<section id="section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c" class="solid-section is-font-color-dark is-background-color-light" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6">
576 <div class="hoverable-section lp-vertical-paddings redesign"> 577 <div class="lp-container"> 578 579 <div class="hoverable-image hoverable-image--straight"> 580 581 <div class="hoverable-image__img-col"> 582 <div class=""> 583 <div class=""> 584 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631" 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/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 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/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 1206w" sizes="(max-width: 992px) 100vw, 50vw" alt="main" class="main-image portrait" loading="lazy"> 585 586 </div> 587 </div> 588 </div> 589 590 <div class="hoverable-image__text-col"> 591 592 <div class="hoverable-image__text-wrap"> 593 <h2 class="lp-h2">Every Transaction Deserves a Standing Ovation</h2> 594 <div class="lp-a lp-text--subtitle"> 595 <p class="MsoNormal">Nika Leoni serves buyers and sellers across St. Louis County, with a focus on fine homes and estates. She is known for a thoughtful, highly personal approach that reflects the level of service and market insight associated with Dielmann Sotheby’s International Realty.</p> 596<p class="MsoNormal">Nika brings a distinctive background to her real estate practice. An international career in classical music as an award-winning singer and critically acclaimed composer, combined with years of building and operating her own businesses across the arts, e-commerce, and manufacturing, shaped a disciplined, highly prepared approach to client representation. The discipline and composure developed through performance, alongside real-world experience in negotiation and financial decision-making from running her own businesses, translate directly into the standard of representation her clients expect.</p> 597<p class="MsoNormal">That foundation shows up in every step of the process. She listens closely, prepares thoroughly, and communicates with precision, recognizing that successful outcomes depend on far more than surface-level marketing. She approaches real estate as both a financial asset and a lived experience, working with clients who care not only about numbers, but also about quality, timing, and long-term fit.</p> 598 </div> 599 <div class="buttons-wrapper"> 600 <a 601 href="/about" 602 603 class="lp-btn lp-btn--dark lp-btn--outline lp-btn--big lp-btn--mob-full-width button-style-1" 604 605 606 607 608 609 > 610 More About Nika 611 </a> 612 <a 613 href="/portfolio" 614 target="_blank" 615 class="lp-btn lp-btn--dark lp-btn--filled lp-btn--big lp-btn--mob-full-width" 616 617 618 619 620 621 > 622 Nika's Portfolio 623 </a> 624 </div> 625 </div> 626 627 628 </div> 629 </div> 630 </div> 631</div> 632</section> 633<section id="section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc" class="solid-section is-font-color-dark is-background-color-light" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6"> 634 <div class="hoverable-section lp-vertical-paddings redesign"> 635 <div class="lp-container"> 636 637 <div class="hoverable-image hoverable-image--straight"> 638 639 <div class="hoverable-image__img-col"> 640 <div class=""> 641 <div class=""> 642 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631" 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/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 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/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/06c4e5e3-19b5-4ca0-8db0-3268f9a0a631 1206w" sizes="(max-width: 992px) 100vw, 50vw" alt="main" class="main-image portrait" loading="lazy"> 643 644 </div> 645 </div> 646 </div> 647 648 <div class="hoverable-image__text-col"> 649 650 <div class="hoverable-image__text-wrap"> 651 <h2 class="lp-h2">Every Transaction Deserves a Standing Ovation</h2> 652 <div class="lp-a lp-text--subtitle"> 653 <p class="MsoNormal">Nika Leoni serves buyers and sellers across St. Louis County, with a focus on fine homes and estates. She is known for a thoughtful, highly personal approach that reflects the level of service and market insight associated with Dielmann Sotheby’s International Realty.</p> 654<p class="MsoNormal">Nika brings a distinctive background to her real estate practice. An international career in classical music as an award-winning singer and critically acclaimed composer, combined with years of building and operating her own businesses across the arts, e-commerce, and manufacturing, shaped a disciplined, highly prepared approach to client representation. The discipline and composure developed through performance, alongside real-world experience in negotiation and financial decision-making from running her own businesses, translate directly into the standard of representation her
654clients expect.</p> 655<p class="MsoNormal">That foundation shows up in every step of the process. She listens closely, prepares thoroughly, and communicates with precision, recognizing that successful outcomes depend on far more than surface-level marketing. She approaches real estate as both a financial asset and a lived experience, working with clients who care not only about numbers, but also about quality, timing, and long-term fit.</p> 656<p class="MsoNormal">Having called St. Louis home for over a decade, Nika has built strong ties to the community, including founding Make Music St. Louis, a citywide festival supporting local musicians, and In Her Sound, an organization dedicated to promoting women musicians and composers through live performance.</p> 657<p class="MsoNormal">Beyond St. Louis, Nika provides advisory support to clients considering property purchases in Europe and the Caribbean. As a Certified International Property Specialist (CIPS) and Resort and Second-Home Property Specialist (RSPS), she draws on her European background, cross-cultural fluency, and Sotheby’s International Realty’s global network to guide clients exploring global opportunities, resort lifestyles, and second-home or investment properties.</p> 658<p class="MsoNormal">Nika’s approach is strategic, thorough, and grounded, suited to clients who value substance over salesmanship and want clear insight to guide important decisions.</p> 659 </div> 660 <div class="buttons-wrapper"> 661 <a 662 href="/about" 663 664 class="lp-btn lp-btn--dark lp-btn--outline lp-btn--big lp-btn--mob-full-width button-style-1" 665 666 667 668 669 670 > 671 More About Nika 672 </a> 673 <a 674 href="/portfolio" 675 target="_blank" 676 class="lp-btn lp-btn--dark lp-btn--filled lp-btn--big lp-btn--mob-full-width" 677 678 679 680 681 682 > 683 Nika's Portfolio 684 </a> 685 </div> 686 </div> 687 688 689 </div> 690 </div> 691 </div> 692</div> 693</section> 694<section id="section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297" class="solid-section is-font-color-dark is-background-color-light" data-el-id="3194d39b-ac2d-42a7-9973-4b279eaa51e6"> 695
695<script> 696 (function(){ 697 const sectionId = 'section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297' 698 const section = document.querySelector(`#${sectionId}`); 699 var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image'); 700 701 if('false' === 'true') { 702 section.classList.add('parallax-enabled'); 703 section.style.setProperty('--sectionBackground', sectionBg); 704 section.style.setProperty('background', 'none'); 705 } 706 })() 707</script>
707 708<div class="redesign featured-testimonials "> 709 <div class="container"> 710 <div class="featured-testimonials__left"> 711 <h2 class="serif">Success Stories</h2> 712 713 <ul class="slick-links-nav"> 714 <li><span class="link feature prev hyperlink-style-2">previous</span></li> 715 <li><span class="separator hyperlink-style-2"></span></li> 716 <li><span class="link feature next hyperlink-style-2">next</span></li> 717 </ul> 718 </div> 719 <div class="featured-testimonials__right"> 720 <ul class="featured-testimonials__slider js-slider" data-autoscroll=false data-autoscroll-interval=6> 721 <li> 722 <blockquote>Nika is a consummate real estate professional. She is courteous, diligent, and goes above and beyond to make sure everything in the home is fixed and up to code. This was a really difficult sale, but Nika made the entire process much easier. I would recommend her to anyone looking for an excellent agent.</blockquote> 723 â <cite>Drew B.</cite> 724 </li> 725 <li> 726 <blockquote>Nika was very helpful and courteous. She was always prompt in responding to my phone calls and emails. She found some good solutions for me. I highly recommend her.</blockquote> 727 â <cite>Natalie I.</cite> 728 </li> 729 <li> 730 <blockquote>Nika was extremely helpful in guiding me through the process of buying. Her knowledge of the local market, as well as the national and international market, made her an invaluable resource. She was quick and responsive to all of my inquiries and always geared her responses towards my specific needs while keeping things in perspective. She is someone whose insights I trust and I would turn to again.</blockquote> 731 â <cite>Bryan D.</cite> 732 </li> 733 <li> 734 <blockquote>Nika was very helpful and courteous. She was diligent and prompt in responding to my phone calls and emails. She found some good solutions for me. I highly recommend her!</blockquote> 735 â <cite>Natalya I.</cite> 736 </li> 737 <li> 738 <blockquote>Nika had great knowledge of the market, pricing, and how it worked. Her insight on beauty and the arts helps set the stage for a fast sale. A great agent to work with. Highly recommended.</blockquote> 739 â <cite>Zulin S.</cite> 740 </li> 741 <li> 742 <blockquote>Excellent experience working with Nika! Her communication was great, and she was on top of every step throughout the process. Her expertise in the real estate market makes her a true asset to anyone who gets to work with her!</blockquote> 743 â <cite>Brian L.</cite> 744 </li> 745 <li> 746 <blockquote>Nika was amazing! She kept us updated, provided us ample options, and was willing to go the extra mile to show us as many houses as we could fit into our schedule. We had a little less than 30 days to find a home, find funding, and move in. Nika was able to crush this goal with flying colors. She found us a beautiful home I could not be happier with. 10/10 and I really cannot say enough amazing things about my experience and Nika's professionalism! </blockquote> 747 â <cite>Mark M.</cite> 748 </li> 749 <li> 750 <blockquote>Nika handled my transaction in a highly professional manner from start to finish. She took care of every detail, negotiated on my behalf, and made sure that my interests were well represented. I highly recommend Nika, and I look forward to working with her again in the future.</blockquote> 751 â <cite>Edward T.</cite> 752 </li> 753 <li> 754 <blockquote>Nika was great. She helped us find a buyer and worked with us to expedite the closure when we needed it to happen.</blockquote> 755 â <cite>Janine C.</cite> 756 </li> 757 <li> 758 <blockquote>Nika is one of the most thoughtful and hardworking realtors I know. She knows the St. Louis real estate market well, and she has a unique global perspective and experience that makes her stand out. What I admire most about Nika as a realtor is how passionate she is about helping people find whatâs right for them. Whether you're buying or selling, Nika is your realtor. You can trust her to guide you through your real estate process. I wouldnât he
758sitate to recommend Nika as a realtor to anyone looking for a great real estate experience.</blockquote> 759 â <cite>Gene F.</cite> 760 </li> 761 <li> 762 <blockquote>I can't say enough good things about working with Nika Leoni in St. Louis County. From the very first meeting, she was professional, knowledgeable, and truly cared about finding the right home for me. Nika knows the local market inside and out, explained each step clearly, and was always available to answer questions. Her negotiation skills and attention to detail made the entire process smooth and stress-free. If you're buying or selling in St. Louis County, I highly recommend Nika --- she goes above and beyond for her clients.</blockquote> 763 â <cite>Amy Phillips</cite> 764 </li> 765 <li> 766 <blockquote>Working with Nika was an outstanding experience! She is incredibly knowledgeable and truly takes the time to understand her clients' needs. Nika went the extra mile to make sure we felt confident and supported throughout the entire process. Her attention to detail, quick communication, and willingness to go above and beyond made all the difference. What stood out the most was how much she genuinely cared not just about the transaction, but about making sure we were happy with the outcome. We can't recommend Nika enough to anyone looking for a realtor who is professional, dedicated, and passionate about helping her clients succeed.</blockquote> 767 â <cite>Andy Harrell</cite> 768 </li> 769 <li> 770 <blockquote>Nika is amazing to work with! She's professional, approachable, and always takes the time to explain things clearly. What I appreciate most is how genuine and caring she is. She really looks out for her clients and makes the whole experience feel comfortable and stress-free. Anyone will be lucky to have Nika as their realtor.</blockquote> 771 â <cite>Maria Shestakova</cite> 772 </li> 773 <li> 774 <blockquote>This is the second property I've bought with Nika, and once again she made the whole process easy and stress-free. She knows the market, listens to what you want, and makes sure you feel confident every step of the way. Nika is always available, quick to communicate, and truly goes above and beyond. I highly recommend her as a realtor.</blockquote> 775 â <cite>Edward Tsimerman</cite> 776 </li> 777 <li> 778 <blockquote>Nika is a true professional---responsive, honest, and a pleasure to work with from start to finish. I highly recommend Nika for your real estate needs!</blockquote> 779 â <cite>Tiffany Lee</cite> 780 </li> 781 <li> 782 <blockquote>I assisted as the loan officer in a transaction with Nika for a shared client. She helped navigate a tough deal that required a lot of additional negotiation after the initial signing. Nika proved instrumental to get everyone to the finish line. I hope to use her again if the situation presents itself.</blockquote> 783 â <cite>Patrick Fagan</cite> 784 </li> 785 <li> 786 <blockquote>I had a phenomenal experience with Nika and would recommend her services to anyone</blockquote> 787 â <cite>Bryan L</cite> 788 </li> 789 <li> 790 <blockquote>Nika was an awesome realtor---she knew her material, showed us around all the luxury properties around Town & Country as well as Frontenac, and handled all our questions with grace. I would recommend her to everyone!</blockquote> 791 â <cite>Tejas Singh</cite> 792 </li> 793 <li> 794 <blockquote>Working with Nika was an outstanding experience from start to finish. She is knowledgeable, responsive, and genuinely had my best interests in mind throughout the entire process. Communication was clear and timely, and she explained every step so I always felt informed and confident. Whether it was pricing strategy, negotiations, or handling unexpected issues, Nika stayed calm, professional, and effective. I couldnât be happier with the outcome and would absolutely recommend Nika to anyone looking to buy or sell a home. A++++</blockquote> 795 â <cite>Bob Bates</cite> 796 </li> 797 </ul> 798 <a 799 href="/testimonials" 800 801 class="btn btn--primary-dark button-style-2" 802 803 804 805 806 807 > 808 VIEW ALL TESTIMONIALS 809 </a> 810 </div> 811 </div> 812</div> 813 814</section> 815<section id="section-130f6a02-234e-41ce-b774-aa08832c94ee" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1"> 816 <div class="gallery-component redesign"> 817 <div class="lp-container gallery-component__container"> 818 <div class="row gallery-component__row cols-3"> 819 820 <div class="gallery-component__col"> 821 <a class="gallery-card" 822 href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&center=%7B%22lat%22%3A38.591005623688986%2C%22lng%22%3A-90.43234148798574%7D&zoom=12&boundary=%5B%5B%5B38.68607173226187%2C-90.61086932001699%5D%2C%5B38.68607173226187%2C-90.25381365595449%5D%2C%5B38.49581347037601%2C-90.25381365595449%5D%2C%5B38.49581347037601%2C-90.61086932001699%5D%2C%5B38.68607173226187%2C-90.61086932001699%5D%5D%5D" > 823 <div class="gallery-card__preview"> 824 <img src="https://media-production.lp-cdn.com/media/8eca4308-702a-4d19-b90e-7c8a82871134" alt="" loading="lazy"> 825 </div> 826 <h3 class="lp-h3 gallery-card__title">Home Search</h3> 827 </a> 828 </div> 829 830 831 <div class="gallery-component__col"> 832 <a class="gallery-card" 833 href="https://nikaleoni.com/buyers" > 834 <div class="gallery-card__preview"> 835 <img src="https://media-production.lp-cdn.com/media/677c9409-83ce-4bc8-bdec-291e5df7dfe8" alt="" loading="lazy"> 836 </div> 837 <h3 class="lp-h3 gallery-card__title">The Buying Process</h3> 838 </a> 839 </div> 840 841 842 <div class="gallery-component__col"> 843 <a class="gallery-card" 844 href="https://nikaleoni.com/sellers" > 845 <div class="gallery-card__preview"> 846 <img src="https://media-production.lp-cdn.com/media/9637c5cd-dbda-4b13-a3b3-590421aadd67" alt="" loading="lazy"> 847 </div> 848 <h3 class="lp-h3 gallery-card__title">The Selling Process</h3> 849 </a> 850 </div> 851 852 </div> 853 </div> 854</div> 855 856 857</section> 858<section id="section-953b653b-01de-4732-a5ac-b4fb34b1438a" class="solid-section is-font-color-light is-background-color-dark" data-el-id="d2805fc7-43fb-4c32-a241-181b15870fc7">
859<script type="text/x-handlebars-template" class="gridItem pagination-script"><div class="properties-grid__item"> 860 <a class="lp-listing-card listing-card" href="{{#if fromMLS}}/home-search/listings/{{id}}{{else}}/properties/{{slug}}{{/if}}" target="_self"> 861 862 <div class="listing-card__img-wrap"> 863 {{{mediaImage media.[0] class='listing-card__image' sizes='660px'}}} 864 865 <div class="listing-card__status"> 866 {{#if status}} 867 <div class="listing-card__label"> 868 {{formatPropertyStatus status}} 869 </div> 870 {{/if}} 871 872 873 874 {{#if mlsId}} 875 <div class="listing-card__mls-key"> 876 MLS® {{mlsId}} 877 </div> 878 {{/if}} 879 </div> 880 881 {{#if mlsAttribution}} 882 <div class="listing-card__attribution"> 883 {{mlsAttribution}} 884 </div> 885 {{/if}} 886 </div> 887 888 <div class="listing-card__info"> 889 <h4 class="listing-card__price"> 890 {{formatPropertyPrice this 'short' separator = ' | ' priceClass="listing-card__price--sales" leaseClass="listing-card__price--lease"}} 891 </h4> 892 893 <div class="listing-card__address"> 894 {{#unless privateAddress}}{{fullAddress}}{{else}}Call for Address{{/unless}} 895 </div> 896 897 {{#if (or bedroomCount bathCount livingSpaceSize)}} 898 <div class="listing-card__attributes"> 899 {{#if bedroomCount}}<span>{{bedroomCount}} Bed{{#numCompare bedroomCount '1' '>'}}s{{/numCompare}}</span>{{/if}} 900 901 {{#if bathCount}}<span>{{bathCount}} Bath{{#numCompare bathCount '1' '>'}}s{{/numCompare}}</span>{{/if}} 902 903 {{#if livingSpaceSize}} 904 {{#numCompare livingSpaceSize "0" "!="}} 905 <span>{{lpFormatNumber livingSpaceSize}} {{#numCompare livingSpaceSize 0 ">"}}{{formatAreaUnit livingSpaceUnits}}</span>{{/numCompare}} 906 {{/numCompare}} 907 {{/if}} 908 </div> 909 {{/if}} 910 911 {{#if mlsLogo}} 912 <div class="listing-card__logo"> 913 <img src="{{mlsLogo}}"> 914 </div> 915 {{/if}} 916 </div> 917 </a> 918</div> 919</script>
919 920 921 922<div class="properties-grid lp-vertical-paddings"> 923 <div class="lp-container"> 924 <div class="lp-title-group"> 925 <h2 class="lp-h2">Featured Luxury Listings</h2> 926 </div> 927 928 <div class="properties-grid__container data-container"> 929 <div class="properties-grid__item"> 930 <a class="lp-listing-card listing-card" href="/home-search/listings/4716245304762442037-60-Brighton-Way-Unit-3S" target="_self"> 931 932 <div class="listing-card__img-wrap"> 933 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26031754/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 934 935 <div class="listing-card__status"> 936 <div class="listing-card__label"> 937 For Sale 938 </div> 939 940 941 942 <div class="listing-card__mls-key"> 943 MLS® 26031754 944 </div> 945 </div> 946 947 </div> 948 949 <div class="listing-card__info"> 950 <h4 class="listing-card__price"> 951 <span class="listing-card__price--sales">$1,674,900</span> 952 </h4> 953 954 <div class="listing-card__address"> 955 60 Brighton Way Unit: 3S, Clayton, MO 63105 956 </div> 957 958 <div class="listing-card__attributes"> 959 <span>3 Beds</span> 960 961 <span>3.5 Baths</span> 962 963 <span>3,388 Sq.Ft.</span> 964 </div> 965 966 </div> 967 </a> 968 </div> 969 <div class="properties-grid__item"> 970 <a class="lp-listing-card listing-card" href="/home-search/listings/4716354673604714937-10-Ridgecreek" target="_self"> 971 972 <div class="listing-card__img-wrap"> 973 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26061449/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 974 975 <div class="listing-card__status"> 976 <div class="listing-card__label"> 977 Coming Soon 978 </div> 979 980 981 982 <div class="listing-card__mls-key"> 983 MLS® 26061449 984 </div> 985 </div> 986 987 </div> 988 989 <div class="listing-card__info"> 990 <h4 class="listing-card__price"> 991 <span class="listing-card__price--sales">$3,999,900</span> 992 </h4> 993 994 <div class="listing-card__address"> 995 10 Ridgecreek, Town and Country, MO 63141 996 </div> 997 998 <div class="listing-card__attributes"> 999 <span>6 Beds</span> 1000 1001 <span>5.5 Baths</span> 1002 1003 <span>7,640 Sq.Ft.</span> 1004 </div> 1005 1006 </div> 1007 </a> 1008 </div> 1009 <div class="properties-grid__item"> 1010 <a class="lp-listing-card listing-card" href="/home-search/listings/1815868428668747711-12531-Ridgefield-Drive" target="_self"> 1011 1012 <div class="listing-card__img-wrap"> 1013 <img src="https://openapi.images.anywhere.re/7BCFA47A-4CB5-45D9-BD65-3568B9E38A96" class="listing-card__image" alt="" loading="lazy"> 1014 1015 <div class="listing-card__status"> 1016 <div class="listing-card__label"> 1017 For Sale 1018 </div> 1019 1020 1021 1022 <div class="listing-card__mls-key"> 1023 MLS® MIS26060042 1024 </div> 1025 </div> 1026 1027 </div> 1028 1029 <div class="listing-card__info"> 1030 <h4 class="listing-card__price"> 1031 <span class="listing-card__price--sales">$1,450,000</span> 1032 </h4> 1033 1034 <div class="listing-card__address"> 1035 12531 Ridgefield Drive , Des Peres, MO 63131 1036 </div> 1037 1038 <div class="listing-card__attributes"> 1039 <span>4 Beds</span> 1040 1041 <span>3.5 Baths</span> 1042 1043 <span>3,698 Sq.Ft.</span> 1044 </div> 1045 1046 </div> 1047 </a> 1048 </div> 1049 <div class="properties-grid__item"> 1050 <a class="lp-listing-card listing-card" href="/home-search/listings/4716943087892403120-9-Bon-Price-Lane" target="_self"> 1051 1052 <div class="listing-card__img-wrap"> 1053 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26044270/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1054 1055 <div class="listing-card__status"> 1056 <div class="listing-card__label"> 1057 Coming Soon 1058 </div> 1059 1060 1061 1062 <div class="listing-card__mls-key"> 1063 MLS® 26044270 1064 </div> 1065 </div> 1066 1067 </div> 1068 1069 <div class="listing-card__info"> 1070 <h4 class="listing-card__price">
1071 <span class="listing-card__price--sales">$1,999,000</span> 1072 </h4> 1073 1074 <div class="listing-card__address"> 1075 9 Bon Price Lane, Olivette, MO 63132 1076 </div> 1077 1078 <div class="listing-card__attributes"> 1079 <span>5 Beds</span> 1080 1081 <span>4.5 Baths</span> 1082 1083 <span>5,940 Sq.Ft.</span> 1084 </div> 1085 1086 </div> 1087 </a> 1088 </div> 1089 <div class="properties-grid__item"> 1090 <a class="lp-listing-card listing-card" href="/home-search/listings/4716129070769204471-1081-Cabin-Club-Drive" target="_self"> 1091 1092 <div class="listing-card__img-wrap"> 1093 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26052615/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1094 1095 <div class="listing-card__status"> 1096 <div class="listing-card__label"> 1097 For Sale 1098 </div> 1099 1100 1101 1102 <div class="listing-card__mls-key"> 1103 MLS® 26052615 1104 </div> 1105 </div> 1106 1107 </div> 1108 1109 <div class="listing-card__info"> 1110 <h4 class="listing-card__price"> 1111 <span class="listing-card__price--sales">$3,499,000</span> 1112 </h4> 1113 1114 <div class="listing-card__address"> 1115 1081 Cabin Club Drive, Ladue, MO 63124 1116 </div> 1117 1118 <div class="listing-card__attributes"> 1119 <span>8 Beds</span> 1120 1121 <span>8.5 Baths</span> 1122 1123 <span>8,515 Sq.Ft.</span> 1124 </div> 1125 1126 </div> 1127 </a> 1128 </div> 1129 <div class="properties-grid__item"> 1130 <a class="lp-listing-card listing-card" href="/home-search/listings/4716460937015084420-195-Kendall-Bluff-Court" target="_self"> 1131 1132 <div class="listing-card__img-wrap"> 1133 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26053285/ac3229ae-6af4-49be-ba79-401ba5d880aa.jpeg" class="listing-card__image" alt="" loading="lazy"> 1134 1135 <div class="listing-card__status"> 1136 <div class="listing-card__label"> 1137 For Sale 1138 </div> 1139 1140 1141 1142 <div class="listing-card__mls-key"> 1143 MLS® 26053285 1144 </div> 1145 </div> 1146 1147 </div> 1148 1149 <div class="listing-card__info"> 1150 <h4 class="listing-card__price"> 1151 <span class="listing-card__price--sales">$1,075,000</span> 1152 </h4> 1153 1154 <div class="listing-card__address"> 1155 195 Kendall Bluff Court, Chesterfield, MO 63017 1156 </div> 1157 1158 <div class="listing-card__attributes"> 1159 <span>3 Beds</span> 1160 1161 <span>3 Baths</span> 1162 1163 <span>3,784 Sq.Ft.</span> 1164 </div> 1165 1166 </div> 1167 </a> 1168 </div> 1169 </div> 1170 <div class="pagination-container"></div> 1171 1172 <div class="properties-grid__footer"> 1173 <a 1174 href="/properties" 1175 1176 class="lp-btn lp-btn--light lp-btn--filled button-style-1" 1177 1178 1179 1180 1181 1182 > 1183 SEARCH LUXURY LISTINGS 1184 </a> 1185 </div> 1186 </div> 1187</div> 1188</section> 1189<section id="section-35071a9e-f11c-493c-aabd-0cee2d363cf0" class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 1190 1191<div class="boxed-text lp-vertical-paddings redesign"> 1192 <div class="lp-container"> 1193 1194 <div class="boxed-text__description"><p style="margin-bottom: 0; text-transform: uppercase;">Your Lifestyle, Your Choice</p> 1195<h2>Search By Lifestyle</h2></div> 1196 </div> 1197</div> 1198</section> 1199<section id="section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1"> 1200 <div class="gallery-component redesign"> 1201 <div class="lp-container gallery-component__container"> 1202 <div class="row gallery-component__row cols-4"> 1203 1204 <div class="gallery-component__col"> 1205 <a class="gallery-card" 1206 href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&encodedMultiPolygon=%5B%22urtyhAxwmykDncBuj%7DRv%60tJ_bOfmHncpSos%60KytA%22%5D&center=%7B%22lat%22%3A38.58002435647437%2C%22lng%22%3A-90.43324383085935%7D&boundary=%5B%5B%5B38.7944139859576%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.82737835234373%5D%5D%5D&priceMin=3000000" > 1207 <div class="gallery-card__preview"> 1208 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/69e51b1f-14b5-419f-81f9-5b29b92f8170" 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/69e51b1f-14b5-419f-81f9-5b29b92f8170 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/69e51b1f-14b5-419f-81f9-5b29b92f8170 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/69e51b1f-14b5-419f-81f9-5b29b92f8170 1024w" class="portrait" alt="" loading="lazy"> 1209 </div> 1210 <h3 class="lp-h3 gallery-card__title">Luxury Living</h3> 1211 </a> 1212 </div> 1213 1214 1215 <div class="gallery-component__col"> 1216 <a class="gallery-card" 1217 href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&encodedMultiPolygon=%5B%22urtyhAxwmykDncBuj%7DRv%60tJ_bOfmHncpSos%60KytA%22%5D&center=%7B%22lat%22%3A38.58002435647437%2C%22lng%22%3A-90.43324383085935%7D&boundary=%5B%5B%5B38.7944139859576%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.82737835234373%5D%5D%5D&hasPool=true&propertyFeatures=%5B%22lp_has_private_pool%22%5D" > 1218 <div class="gallery-card__preview"> 1219 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9e956415-a892-4268-bf2d-d8877761e6bd" 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/9e956415-a892-4268-bf2d-d8877761e6bd 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/9e956415-a892-4268-bf2d-d8877761e6bd 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9e956415-a892-4268-bf2d-d8877761e6bd 1024w" class="portrait" alt="" loading="lazy"> 1220 </div> 1221 <h3 class="lp-h3 gallery-card__title">Homes with Pools</h3> 1222 </a> 1223 </div> 1224 1225 1226 <div class="gallery-component__col"> 1227 <a class="gallery-card" 1228 href="https://nikaleoni.com/home-search/listings?propertyType=
1228%5B%22CONDO%22%5D&listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&encodedMultiPolygon=%5B%22urtyhAxwmykDncBuj%7DRv%60tJ_bOfmHncpSos%60KytA%22%5D&center=%7B%22lat%22%3A38.58002435647437%2C%22lng%22%3A-90.43324383085935%7D&boundary=%5B%5B%5B38.7944139859576%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.82737835234373%5D%5D%5D" > 1229 <div class="gallery-card__preview"> 1230 <img src="https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=1280" srcset="https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=200 320w, https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=960 960w, https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=1280 1280w, https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=1920 1920w, https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=2560 2560w, https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?ixid=M3w0MTQ1MnwwfDF8c2VhcmNofDN8fFJlYWwlMjBlc3RhdGV8ZW58MHx8fHwxNzUwOTE2ODk4fDA&ixlib=rb-4.1.0&q=80&w=3456 3456w" alt="" loading="lazy"> 1231 </div> 1232 <h3 class="lp-h3 gallery-card__title">Condos/ Townhomes/ Villas</h3> 1233 </a> 1234 </div> 1235 1236 1237 <div class="gallery-component__col"> 1238 <a class="gallery-card" 1239 href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&encodedMultiPolygon=%5B%22urtyhAxwmykDncBuj%7DRv%60tJ_bOfmHncpSos%60KytA%22%5D&center=%7B%22lat%22%3A38.58002435647437%2C%22lng%22%3A-90.43324383085935%7D&boundary=%5B%5B%5B38.7944139859576%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.03910930937498%5D%2C%5B38.36499287849297%2C-90.82737835234373%5D%2C%5B38.7944139859576%2C-90.82737835234373%5D%5D%5D&yearBuildMin=2025" > 1240 <div class="gallery-card__preview"> 1241 <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/d3afdf68-a6ae-46c2-bd59-290e7a052200" 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/d3afdf68-a6ae-46c2-bd59-290e7a052200 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/d3afdf68-a6ae-46c2-bd59-290e7a052200 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/d3afdf68-a6ae-46c2-bd59-290e7a052200 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/d3afdf68-a6ae-46c2-bd59-290e7a052200 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d3afdf68-a6ae-46c2-bd59-290e7a052200 2528w" alt="" loading="lazy"> 1242 </div> 1243 <h3 class="lp-h3 gallery-card__title">New Construction & Custom Homes</h3> 1244 </a> 1245 </div> 1246 1247 1248 <div class="gallery-component__col"> 1249 <a class="gallery-card" 1250 href="https://nikaleoni.com/home-search/listings?propertyType=%5B%22RESIDENTIAL%22%5D&listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&regions=%5B%7B%22regionId%22%3A%22dbac7391-0c47-4f6e-81d8-5aa53d307974%22%2C%22address%22%3A%2263124%22%7D%2C%7B%22regionId%22%3A%223756ebc0-9920-4658
1250-8c75-0c43484e529e%22%2C%22address%22%3A%2263017%22%7D%2C%7B%22regionId%22%3A%222a3c3ce3-9867-4de9-bf04-b8a73834694e%22%2C%22address%22%3A%2263141%22%7D%2C%7B%22regionId%22%3A%220925d9ae-019e-4dc1-a5b7-7a6f0d5fe5e9%22%2C%22address%22%3A%2263005%22%7D%2C%7B%22regionId%22%3A%220d8bba94-6099-44a8-aaaa-307d514d2cff%22%2C%22address%22%3A%2263011%22%7D%2C%7B%22regionId%22%3A%22aca808d8-43e1-4546-ac5c-812f5a799446%22%2C%22address%22%3A%2263038%22%7D%2C%7B%22regionId%22%3A%22c0081bd4-2721-4cbf-a3cd-04e9f802ba31%22%2C%22address%22%3A%2263131%22%7D%5D&center=%7B%22lat%22%3A38.61554897207104%2C%22lng%22%3A-90.54384800000001%7D&zoom=11&boundary=%5B%5B%5B38.805489944797515%2C-90.90090366406251%5D%2C%5B38.805489944797515%2C-90.18679233593751%5D%2C%5B38.42510372380601%2C-90.18679233593751%5D%2C%5B38.42510372380601%2C-90.90090366406251%5D%2C%5B38.805489944797515%2C-90.90090366406251%5D%5D%5D&keyword=gated&priceMin=1000000" > 1251 <div class="gallery-card__preview"> 1252 <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/35dd42c0-d890-4d42-8e0c-869fc47dcfbc" 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/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 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/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 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/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/35dd42c0-d890-4d42-8e0c-869fc47dcfbc 3456w" alt="" loading="lazy"> 1253 </div> 1254 <h3 class="lp-h3 gallery-card__title">Gated Communities</h3> 1255 </a> 1256 </div> 1257 1258 1259 <div class="gallery-component__col"> 1260 <a class="gallery-card" 1261 href="/global-lifestyle-properties" > 1262 <div class="gallery-card__preview"> 1263 <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/01c537a3-d559-496f-941f-89750b0323d6" 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/01c537a3-d559-496f-941f-89750b0323d6 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/01c537a3-d559-496f-941f-89750b0323d6 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/01c537a3-d559-496f-941f-89750b0323d6 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/01c537a3-d559-496f-941f-89750b0323d6 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/01c537a3-d559-496f-941f-89750b0323d6 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/01c537a3-d559-496f-941f-89750b0323d6 3456w" class="portrait" alt="" loading="lazy"> 1264 </div> 1265 <h3 class="lp-h3 gallery-card__title">Global & Lifestyle Properties</h3> 1266 </a> 1267 </div> 1268 1269 </div> 1270 </div> 1271</div> 1272 1273 1274</section> 1275<section id="section-2a02831c-91bd-4ee3-96b9-b42d510fff91" class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 1276 1277<div class="boxed-text lp-vertical-paddings redesign"> 1278 <div class="lp-container"> 1279 1280 <div class="boxed-text__description"><p style="margin-bottom: 0; text-transform: uppercase;">nEIGHBORHOOD gUIDES</p> 1281<h2>Explore Neighborhoods</h2></div> 1282 </div> 1283</div> 1284</section> 1285<section id="section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c" class="solid-section is-font-color-light is-background-color-dark" data-el-id="297c1d10-9f4c-4d85-a3a2-3b13d779cce7"> 1286 <div class="redesign featured-neighborhoods-section"> 1287 <div class="container"> 1288 <div class="featured-team-header"> 1289 <h2 class="serif"></h2> 1290 1291 <ul class="slick-links-nav"> 1292 <li><span class="link link--white feature prev hyperlink-style-2">previous</span></li> 1293 <li><span class="link link--white feature next hyperlink-style-2">next</span><span class="spacer hyperlink-style-2"></span></li> 1294 </ul> 1295 </div> 1296 <div class="featured-neighborhoods carousel-container"> 1297 <div class="featured-neighborhoods__slide"> 1298 <a href="/neighborhoods/town-and-country"> 1299 <figure> 1300 <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/f7326476-bc02-41ae-bd6b-f618c672332c" 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/f7326476-bc02-41ae-bd6b-f618c672332c 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/f7326476-bc02-41ae-bd6b-f618c672332c 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f7326476-bc02-41ae-bd6b-f618c672332c 1920w" alt="Search Homes for Sale in Town & Country, MO" loading="lazy">
1301 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1302 </figure> 1303 <p class="featured-neighborhoods__title"> 1304 Search Homes for Sale in Town & Country, MO 1305 </p> 1306 </a> 1307 </div> 1308 <div class="featured-neighborhoods__slide"> 1309 <a href="/neighborhoods/frontenac"> 1310 <figure> 1311 <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/81cce7ed-88c9-427c-8c97-42841cd41e53" 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/81cce7ed-88c9-427c-8c97-42841cd41e53 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/81cce7ed-88c9-427c-8c97-42841cd41e53 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/81cce7ed-88c9-427c-8c97-42841cd41e53 1920w" alt="Search Homes for Sale in Frontenac, MO" loading="lazy"> 1312 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1313 </figure> 1314 <p class="featured-neighborhoods__title"> 1315 Search Homes for Sale in Frontenac, MO 1316 </p> 1317 </a> 1318 </div> 1319 <div class="featured-neighborhoods__slide"> 1320 <a href="/neighborhoods/ladue"> 1321 <figure> 1322 <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/258e1b32-44fa-4ae6-abc4-677734bb5493" 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/258e1b32-44fa-4ae6-abc4-677734bb5493 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/258e1b32-44fa-4ae6-abc4-677734bb5493 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/258e1b32-44fa-4ae6-abc4-677734bb5493 1920w" alt="Search Homes for Sale in Ladue, MO" loading="lazy"> 1323 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1324 </figure> 1325 <p class="featured-neighborhoods__title"> 1326 Search Homes for Sale in Ladue, MO 1327 </p> 1328 </a> 1329 </div> 1330 <div class="featured-neighborhoods__slide"> 1331 <a href="/neighborhoods/clayton"> 1332 <figure> 1333 <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/4607bf7a-9e91-4acb-9dbe-362720a0f867" 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/4607bf7a-9e91-4acb-9dbe-362720a0f867 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/4607bf7a-9e91-4acb-9dbe-362720a0f867 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/4607bf7a-9e91-4acb-9dbe-362720a0f867 1920w" alt="Search Homes for Sale in Clayton, MO" loading="lazy"> 1334 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1335 </figure> 1336 <p class="featured-neighborhoods__title"> 1337 Search Homes for Sale in Clayton, MO 1338 </p> 1339 </a> 1340 </div> 1341 <div class="featured-neighborhoods__slide"> 1342 <a href="/neighborhoods/des-peres"> 1343 <figure> 1344 <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/5afb126a-8048-408f-b153-a4fba7c16e93" 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/5afb126a-8048-408f-b153-a4fba7c16e93 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/5afb126a-8048-408f-b153-a4fba7c16e93 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/5afb126a-8048-408f-b153-a4fba7c16e93 1920w" alt="Search Homes for Sale in Des Peres, MO" loading="lazy">
1345 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1346 </figure> 1347 <p class="featured-neighborhoods__title"> 1348 Search Homes for Sale in Des Peres, MO 1349 </p> 1350 </a> 1351 </div> 1352 <div class="featured-neighborhoods__slide"> 1353 <a href="/neighborhoods/chesterfield"> 1354 <figure> 1355 <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/14e5078c-9200-418e-ad24-17524107b0a0" 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/14e5078c-9200-418e-ad24-17524107b0a0 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/14e5078c-9200-418e-ad24-17524107b0a0 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/14e5078c-9200-418e-ad24-17524107b0a0 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/14e5078c-9200-418e-ad24-17524107b0a0 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/14e5078c-9200-418e-ad24-17524107b0a0 3456w" alt="Search Homes for Sale in Chesterfield, MO" loading="lazy"> 1356 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1357 </figure> 1358 <p class="featured-neighborhoods__title"> 1359 Search Homes for Sale in Chesterfield, MO 1360 </p> 1361 </a> 1362 </div> 1363 <div class="featured-neighborhoods__slide"> 1364 <a href="/neighborhoods/olivette"> 1365 <figure> 1366 <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/247151ee-6463-4034-8a11-7e0b73233407" 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/247151ee-6463-4034-8a11-7e0b73233407 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/247151ee-6463-4034-8a11-7e0b73233407 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/247151ee-6463-4034-8a11-7e0b73233407 1920w" alt="Search Homes for Sale in Olivette, MO" loading="lazy"> 1367 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1368 </figure> 1369 <p class="featured-neighborhoods__title"> 1370 Search Homes for Sale in Olivette, MO 1371 </p> 1372 </a> 1373 </div> 1374 <div class="featured-neighborhoods__slide"> 1375 <a href="/neighborhoods/kirkwood"> 1376 <figure> 1377 <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/b0dba851-637a-4d7d-a3b6-28f588f1b2cf" 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/b0dba851-637a-4d7d-a3b6-28f588f1b2cf 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/b0dba851-637a-4d7d-a3b6-28f588f1b2cf 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b0dba851-637a-4d7d-a3b6-28f588f1b2cf 1920w" alt="Search Homes for Sale in Kirkwood, MO" loading="lazy"> 1378 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1379 </figure> 1380 <p class="featured-neighborhoods__title"> 1381 Search Homes for Sale in Kirkwood, MO 1382 </p> 1383 </a> 1384 </div> 1385 <div class="featured-neighborhoods__slide"> 1386 <a href="/neighborhoods/creve-coeur"> 1387 <figure> 1388 <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/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e" 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/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e 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/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/0d2be5b4-5759-4299-a0d9-5dc98ccaa36e 3456w" alt="Search Homes for Sale in Creve Coeur, MO" loading="lazy">
1389 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1390 </figure> 1391 <p class="featured-neighborhoods__title"> 1392 Search Homes for Sale in Creve Coeur, MO 1393 </p> 1394 </a> 1395 </div> 1396 <div class="featured-neighborhoods__slide"> 1397 <a href="/neighborhoods/huntleigh"> 1398 <figure> 1399 <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/4a78aacb-884d-4a8d-bdc6-243e091871fa" 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/4a78aacb-884d-4a8d-bdc6-243e091871fa 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/4a78aacb-884d-4a8d-bdc6-243e091871fa 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/4a78aacb-884d-4a8d-bdc6-243e091871fa 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/4a78aacb-884d-4a8d-bdc6-243e091871fa 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/4a78aacb-884d-4a8d-bdc6-243e091871fa 3456w" alt="Search Homes for Sale in Huntleigh, MO" loading="lazy"> 1400 <span class="btn btn--primary-dark button-style-1">EXPLORE</span> 1401 </figure> 1402 <p class="featured-neighborhoods__title"> 1403 Search Homes for Sale in Huntleigh, MO 1404 </p> 1405 </a> 1406 </div> 1407 1408 </div> 1409 <a 1410 href="/neighborhoods" 1411 1412 class="btn btn--primary-light button-style-2" 1413 1414 1415 1416 1417 1418 > 1419 Neighborhood Map Search 1420 </a> 1421 </div> 1422 </div> 1423</section> 1424<section id="section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1"> 1425 <div class="gallery-component redesign"> 1426 <div class="lp-container gallery-component__container"> 1427 <div class="row gallery-component__row cols-2"> 1428 1429 <div class="gallery-component__col"> 1430 <a class="gallery-card" 1431 href="/home-search/listings?listingStatus=%5B"ACTIVE"%2C"COMING_SOON"%5D&center=%7B"lat"%3A38.6529817%2C"lng"%3A-90.34599315%7D&boundary=%5B%5B%5B38.755596348874505%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.54306041074219%5D%5D%5D&priceMin=1000000" > 1432 <div class="gallery-card__preview"> 1433 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a7425dcd-40b5-4689-b764-36fd7cdd64af" 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/a7425dcd-40b5-4689-b764-36fd7cdd64af 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/a7425dcd-40b5-4689-b764-36fd7cdd64af 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a7425dcd-40b5-4689-b764-36fd7cdd64af 1024w" class="portrait" alt="" loading="lazy"> 1434 </div> 1435 <h3 class="lp-h3 gallery-card__title">Luxury</h3> 1436 </a> 1437 </div> 1438 1439 1440 <div class="gallery-component__col"> 1441 <a class="gallery-card" 1442 href="/home-search/listings?listingStatus=%5B"ACTIVE"%2C"COMING_SOON"%5D&center=%7B"lat"%3A38.6529817%2C"lng"%3A-90.34599315%7D&boundary=%5B%5B%5B38.755596348874505%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.54306041074219%5D%5D%5D&hasWaterfront=true&propertyFeatures=%5B"lp_has_waterfront"%5D" > 1443 <div class="gallery-card__preview"> 1444 <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/0ac8ad17-c9a8-4509-9eaa-e81187c08d72" 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/0ac8ad17-c9a8-4509-9eaa-e81187c08d72 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/0ac8ad17-c9a8-4509-9eaa-e81187c08d72 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/0ac8ad17-c9a8-4509-9eaa-e81187c08d72 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/0ac8ad17-c9a8-4509-9eaa-e81187c08d72 1920w" alt="" loading="lazy"> 1445 </div> 1446 <h3 class="lp-h3 gallery-card__title">Beachfront</h3> 1447 </a> 1448 </div> 1449 1450 1451 <div class="gallery-component__col"> 1452 <a class="gallery-card" 1453 href="/home-search/listings?listingStatus=%5B"ACTIVE"%2C"COMING_SOON"%5D&center=%7B"lat"%3A38.6529817%2C"lng"%3A-90.34599315%7D&boundary=%5B%5B%5B38.755596348874505%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.54306041074219%5D%5D%5D&keyword=golf" > 1454 <div class="gallery-card__preview"> 1455 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/16367e55-8710-4343-b24c-81b43cdb8476" 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/16367e55-8710-4343-b24c-81b43cdb8476 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/16367e55-8710-4343-b24c-81b43cdb8476 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/16367e55-8710-4343-b24c-81b43cdb8476 1024w" class="portrait" alt="" loading="lazy"> 1456 </div> 1457 <h3 class="lp-h3 gallery-card__title">Golf Club Communities</h3> 1458 </a> 1459 </div> 1460 1461 1462 <div class="gallery-component__col"> 1463 <a class="gallery-card" 1464 href="/home-search/listings?listingStatus=%5B"ACTIVE"%2C"COMING_SOON"%5D&center=%7B"lat"%3A38.6529817%2C"lng"%3A-90.34599315%7D&boundary=%5B%5B%5B38.755596348874505%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.14892588925781%5D%2C%5B38.55021985295082%2C-90.54306041074219%5D%2C%5B38.755596348874505%2C-90.54306041074219%5D%5D%5D&yearBuildMin=2024" > 1465 <div class="gallery-card__preview"> 1466 <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/571905b7-f5d9-46ee-8640-0ab3dc1b9778" 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/571905b7-f5d9-46ee-8640-0ab3dc1b9778 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/571905b7-f5d9-46ee-8640-0ab3dc1b9778 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/571905b7-f5d9-46ee-8640-0ab3dc1b9778 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/571905b7-f5d9-46ee-8640-0ab3dc1b9778 1920w" alt="" loading="lazy"> 1467 </div> 1468 <h3 class="lp-h3 gallery-card__title">New Construction</h3> 1469 </a> 1470 </div> 1471 1472 </div> 1473 </div> 1474</div> 1475 1476 1477</section> 1478<section id="section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f" class="solid-section is-font-color-light is-background-color-dark" data-el-id="d2805fc7-43fb-4c32-a241-181b15870fc7">
1479<script type="text/x-handlebars-template" class="gridItem pagination-script"><div class="properties-grid__item"> 1480 <a class="lp-listing-card listing-card" href="{{#if fromMLS}}/home-search/listings/{{id}}{{else}}/properties/{{slug}}{{/if}}" target="_self"> 1481 1482 <div class="listing-card__img-wrap"> 1483 {{{mediaImage media.[0] class='listing-card__image' sizes='660px'}}} 1484 1485 <div class="listing-card__status"> 1486 {{#if status}} 1487 <div class="listing-card__label"> 1488 {{formatPropertyStatus status}} 1489 </div> 1490 {{/if}} 1491 1492 1493 1494 {{#if mlsId}} 1495 <div class="listing-card__mls-key"> 1496 MLS® {{mlsId}} 1497 </div> 1498 {{/if}} 1499 </div> 1500 1501 {{#if mlsAttribution}} 1502 <div class="listing-card__attribution"> 1503 {{mlsAttribution}} 1504 </div> 1505 {{/if}} 1506 </div> 1507 1508 <div class="listing-card__info"> 1509 <h4 class="listing-card__price"> 1510 {{formatPropertyPrice this 'short' separator = ' | ' priceClass="listing-card__price--sales" leaseClass="listing-card__price--lease"}} 1511 </h4> 1512 1513 <div class="listing-card__address"> 1514 {{#unless privateAddress}}{{fullAddress}}{{else}}Call for Address{{/unless}} 1515 </div> 1516 1517 {{#if (or bedroomCount bathCount livingSpaceSize)}} 1518 <div class="listing-card__attributes"> 1519 {{#if bedroomCount}}<span>{{bedroomCount}} Bed{{#numCompare bedroomCount '1' '>'}}s{{/numCompare}}</span>{{/if}} 1520 1521 {{#if bathCount}}<span>{{bathCount}} Bath{{#numCompare bathCount '1' '>'}}s{{/numCompare}}</span>{{/if}} 1522 1523 {{#if livingSpaceSize}} 1524 {{#numCompare livingSpaceSize "0" "!="}} 1525 <span>{{lpFormatNumber livingSpaceSize}} {{#numCompare livingSpaceSize 0 ">"}}{{formatAreaUnit livingSpaceUnits}}</span>{{/numCompare}} 1526 {{/numCompare}} 1527 {{/if}} 1528 </div> 1529 {{/if}} 1530 1531 {{#if mlsLogo}} 1532 <div class="listing-card__logo"> 1533 <img src="{{mlsLogo}}"> 1534 </div> 1535 {{/if}} 1536 </div> 1537 </a> 1538</div> 1539</script>
1539 1540 1541 1542<div class="properties-grid lp-vertical-paddings"> 1543 <div class="lp-container"> 1544 <div class="lp-title-group"> 1545 <h2 class="lp-h2">Featured Properties</h2> 1546 </div> 1547 1548 <div class="properties-grid__container data-container"> 1549 <div class="properties-grid__item"> 1550 <a class="lp-listing-card listing-card" href="/home-search/listings/4716396128187300117-1748-Stifel-Lane-Drive" target="_self"> 1551 1552 <div class="listing-card__img-wrap"> 1553 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26058988/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1554 1555 <div class="listing-card__status"> 1556 <div class="listing-card__label"> 1557 Coming Soon 1558 </div> 1559 1560 1561 1562 <div class="listing-card__mls-key"> 1563 MLS® 26058988 1564 </div> 1565 </div> 1566 1567 </div> 1568 1569 <div class="listing-card__info"> 1570 <h4 class="listing-card__price"> 1571 <span class="listing-card__price--sales">$1,195,000</span> 1572 </h4> 1573 1574 <div class="listing-card__address"> 1575 1748 Stifel Lane Drive, Town and Country, MO 63017 1576 </div> 1577 1578 <div class="listing-card__attributes"> 1579 <span>4 Beds</span> 1580 1581 <span>4.5 Baths</span> 1582 1583 <span>5,171 Sq.Ft.</span> 1584 </div> 1585 1586 </div> 1587 </a> 1588 </div> 1589 <div class="properties-grid__item"> 1590 <a class="lp-listing-card listing-card" href="/home-search/listings/4716514370479724998-17712-Sugarberry-Court" target="_self"> 1591 1592 <div class="listing-card__img-wrap"> 1593 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26061717/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1594 1595 <div class="listing-card__status"> 1596 <div class="listing-card__label"> 1597 Coming Soon 1598 </div> 1599 1600 1601 1602 <div class="listing-card__mls-key"> 1603 MLS® 26061717 1604 </div> 1605 </div> 1606 1607 </div> 1608 1609 <div class="listing-card__info"> 1610 <h4 class="listing-card__price"> 1611 <span class="listing-card__price--sales">$1,650,000</span> 1612 </h4> 1613 1614 <div class="listing-card__address"> 1615 17712 Sugarberry Court, Chesterfield, MO 63005 1616 </div> 1617 1618 <div class="listing-card__attributes"> 1619 <span>4 Beds</span> 1620 1621 <span>5 Baths</span> 1622 1623 <span>8,356 Sq.Ft.</span> 1624 </div> 1625 1626 </div> 1627 </a> 1628 </div> 1629 <div class="properties-grid__item"> 1630 <a class="lp-listing-card listing-card" href="/home-search/listings/4716869829801241377-731-Dougherty-Ferry-Road" target="_self"> 1631 1632 <div class="listing-card__img-wrap"> 1633 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26060979/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1634 1635 <div class="listing-card__status"> 1636 <div class="listing-card__label"> 1637 For Sale 1638 </div> 1639 1640 1641 1642 <div class="listing-card__mls-key"> 1643 MLS® 26060979 1644 </div> 1645 </div> 1646 1647 </div> 1648 1649 <div class="listing-card__info"> 1650 <h4 class="listing-card__price"> 1651 <span class="listing-card__price--sales">$2,499,000</span> 1652 </h4> 1653 1654 <div class="listing-card__address"> 1655 731 Dougherty Ferry Road, Kirkwood, MO 63122 1656 </div> 1657 1658 <div class="listing-card__attributes"> 1659 <span>5 Beds</span> 1660 1661 <span>4.5 Baths</span> 1662 1663 <span>5,510 Sq.Ft.</span> 1664 </div> 1665 1666 </div> 1667 </a> 1668 </div> 1669 <div class="properties-grid__item"> 1670 <a class="lp-listing-card listing-card" href="/home-search/listings/4716354673604714937-10-Ridgecreek" target="_self"> 1671 1672 <div class="listing-card__img-wrap"> 1673 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26061449/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1674 1675 <div class="listing-card__status"> 1676 <div class="listing-card__label"> 1677 Coming Soon 1678 </div> 1679 1680 1681 1682 <div class="listing-card__mls-key"> 1683 MLS® 26061449 1684 </div> 1685 </div> 1686 1687 </div> 1688 1689 <div class="listing-card__info"> 1690 <h4 class="listing-card__price">
1691 <span class="listing-card__price--sales">$3,999,900</span> 1692 </h4> 1693 1694 <div class="listing-card__address"> 1695 10 Ridgecreek, Town and Country, MO 63141 1696 </div> 1697 1698 <div class="listing-card__attributes"> 1699 <span>6 Beds</span> 1700 1701 <span>5.5 Baths</span> 1702 1703 <span>7,640 Sq.Ft.</span> 1704 </div> 1705 1706 </div> 1707 </a> 1708 </div> 1709 <div class="properties-grid__item"> 1710 <a class="lp-listing-card listing-card" href="/home-search/listings/4716865248485239508-1300-Log-Cabin-Lane" target="_self"> 1711 1712 <div class="listing-card__img-wrap"> 1713 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26062123/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1714 1715 <div class="listing-card__status"> 1716 <div class="listing-card__label"> 1717 Coming Soon 1718 </div> 1719 1720 1721 1722 <div class="listing-card__mls-key"> 1723 MLS® 26062123 1724 </div> 1725 </div> 1726 1727 </div> 1728 1729 <div class="listing-card__info"> 1730 <h4 class="listing-card__price"> 1731 <span class="listing-card__price--sales">$4,995,000</span> 1732 </h4> 1733 1734 <div class="listing-card__address"> 1735 1300 Log Cabin Lane, Ladue, MO 63124 1736 </div> 1737 1738 <div class="listing-card__attributes"> 1739 <span>6 Beds</span> 1740 1741 <span>5.5 Baths</span> 1742 1743 <span>7,176 Sq.Ft.</span> 1744 </div> 1745 1746 </div> 1747 </a> 1748 </div> 1749 <div class="properties-grid__item"> 1750 <a class="lp-listing-card listing-card" href="/home-search/listings/4716730372573166760-8-Granada-Way" target="_self"> 1751 1752 <div class="listing-card__img-wrap"> 1753 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26061926/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1754 1755 <div class="listing-card__status"> 1756 <div class="listing-card__label"> 1757 For Sale 1758 </div> 1759 1760 1761 1762 <div class="listing-card__mls-key"> 1763 MLS® 26061926 1764 </div> 1765 </div> 1766 1767 </div> 1768 1769 <div class="listing-card__info"> 1770 <h4 class="listing-card__price"> 1771 <span class="listing-card__price--sales">$1,275,000</span> 1772 </h4> 1773 1774 <div class="listing-card__address"> 1775 8 Granada Way, Ladue, MO 63124 1776 </div> 1777 1778 <div class="listing-card__attributes"> 1779 <span>4 Beds</span> 1780 1781 <span>4.5 Baths</span> 1782 1783 <span>4,144 Sq.Ft.</span> 1784 </div> 1785 1786 </div> 1787 </a> 1788 </div> 1789 <div class="properties-grid__item"> 1790 <a class="lp-listing-card listing-card" href="/home-search/listings/4716115917878938505-1165-Templeton-Place" target="_self"> 1791 1792 <div class="listing-card__img-wrap"> 1793 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26061633/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1794 1795 <div class="listing-card__status"> 1796 <div class="listing-card__label"> 1797 Coming Soon 1798 </div> 1799 1800 1801 1802 <div class="listing-card__mls-key"> 1803 MLS® 26061633 1804 </div> 1805 </div> 1806 1807 </div> 1808 1809 <div class="listing-card__info"> 1810 <h4 class="listing-card__price"> 1811 <span class="listing-card__price--sales">$1,295,000</span> 1812 </h4> 1813 1814 <div class="listing-card__address"> 1815 1165 Templeton Place, Chesterfield, MO 63017 1816 </div> 1817 1818 <div class="listing-card__attributes"> 1819 <span>4 Beds</span> 1820
1821 <span>3.5 Baths</span> 1822 1823 <span>3,708 Sq.Ft.</span> 1824 </div> 1825 1826 </div> 1827 </a> 1828 </div> 1829 <div class="properties-grid__item"> 1830 <a class="lp-listing-card listing-card" href="/home-search/listings/4716649830505003675-7747-Mohawk-Place" target="_self"> 1831 1832 <div class="listing-card__img-wrap"> 1833 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26060946/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1834 1835 <div class="listing-card__status"> 1836 <div class="listing-card__label"> 1837 For Sale 1838 </div> 1839 1840 1841 1842 <div class="listing-card__mls-key"> 1843 MLS® 26060946 1844 </div> 1845 </div> 1846 1847 </div> 1848 1849 <div class="listing-card__info"> 1850 <h4 class="listing-card__price"> 1851 <span class="listing-card__price--sales">$1,099,000</span> 1852 </h4> 1853 1854 <div class="listing-card__address"> 1855 7747 Mohawk Place, Clayton, MO 63105 1856 </div> 1857 1858 <div class="listing-card__attributes"> 1859 <span>4 Beds</span> 1860 1861 <span>3.5 Baths</span> 1862 1863 <span>2,633 Sq.Ft.</span> 1864 </div> 1865 1866 </div> 1867 </a> 1868 </div> 1869 <div class="properties-grid__item"> 1870 <a class="lp-listing-card listing-card" href="/home-search/listings/1815868428668747711-12531-Ridgefield-Drive" target="_self"> 1871 1872 <div class="listing-card__img-wrap"> 1873 <img src="https://openapi.images.anywhere.re/7BCFA47A-4CB5-45D9-BD65-3568B9E38A96" class="listing-card__image" alt="" loading="lazy"> 1874 1875 <div class="listing-card__status"> 1876 <div class="listing-card__label"> 1877 For Sale 1878 </div> 1879 1880 1881 1882 <div class="listing-card__mls-key"> 1883 MLS® MIS26060042 1884 </div> 1885 </div> 1886 1887 </div> 1888 1889 <div class="listing-card__info"> 1890 <h4 class="listing-card__price"> 1891 <span class="listing-card__price--sales">$1,450,000</span> 1892 </h4> 1893 1894 <div class="listing-card__address"> 1895 12531 Ridgefield Drive , Des Peres, MO 63131 1896 </div> 1897 1898 <div class="listing-card__attributes"> 1899 <span>4 Beds</span> 1900 1901 <span>3.5 Baths</span> 1902 1903 <span>3,698 Sq.Ft.</span> 1904 </div> 1905 1906 </div> 1907 </a> 1908 </div> 1909 <div class="properties-grid__item"> 1910 <a class="lp-listing-card listing-card" href="/home-search/listings/4716900910983926014-8025-Maryland-Avenue-Unit-7A" target="_self"> 1911 1912 <div class="listing-card__img-wrap"> 1913 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26055500/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1914 1915 <div class="listing-card__status"> 1916 <div class="listing-card__label"> 1917 For Sale 1918 </div> 1919 1920 1921 1922 <div class="listing-card__mls-key"> 1923 MLS® 26055500 1924 </div> 1925 </div> 1926 1927 </div> 1928 1929 <div class="listing-card__info"> 1930 <h4 class="listing-card__price"> 1931 <span class="listing-card__price--sales">$1,369,000</span> 1932 </h4> 1933 1934 <div class="listing-card__address"> 1935 8025 Maryland Avenue Unit: 7A, Clayton, MO 63105 1936 </div> 1937 1938 <div class="listing-card__attributes"> 1939 <span>3 Beds</span> 1940 1941 <span>2 Baths</span> 1942 1943 <span>1,810 Sq.Ft.</span> 1944 </div> 1945 1946 </div> 1947 </a> 1948 </div> 1949 <div class="properties-grid__item"> 1950 <a class="lp-listing-card listing-card" href="/home-search/listings/4716364368829453127-2457-Town-And-Country-Lane" target="_self"> 1951 1952 <div class="listing-card__img-wrap"> 1953 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26054094/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1954 1955 <div class="listing-card__status"> 1956 <div class="listing-card__label"> 1957 Coming Soon 1958 </div> 1959 1960 1961 1962 <div class="listing-card__mls-key"> 1963 MLS® 26054094 1964 </div> 1965 </div> 1966 1967 </div> 1968 1969 <div class="listing-card__info"> 1970 <h4 class="listing-card__price">
1971 <span class="listing-card__price--sales">$2,600,000</span> 1972 </h4> 1973 1974 <div class="listing-card__address"> 1975 2457 Town And Country Lane, Town and Country, MO 63131 1976 </div> 1977 1978 <div class="listing-card__attributes"> 1979 <span>4 Beds</span> 1980 1981 <span>5.5 Baths</span> 1982 1983 <span>7,564 Sq.Ft.</span> 1984 </div> 1985 1986 </div> 1987 </a> 1988 </div> 1989 <div class="properties-grid__item"> 1990 <a class="lp-listing-card listing-card" href="/home-search/listings/4716943087892403120-9-Bon-Price-Lane" target="_self"> 1991 1992 <div class="listing-card__img-wrap"> 1993 <img src="https://dlajgvw9htjpb.cloudfront.net/mlsgrid/maris/MIS26044270/0.jpeg" class="listing-card__image" alt="" loading="lazy"> 1994 1995 <div class="listing-card__status"> 1996 <div class="listing-card__label"> 1997 Coming Soon 1998 </div> 1999 2000 2001 2002 <div class="listing-card__mls-key"> 2003 MLS® 26044270 2004 </div> 2005 </div> 2006 2007 </div> 2008 2009 <div class="listing-card__info"> 2010 <h4 class="listing-card__price"> 2011 <span class="listing-card__price--sales">$1,999,000</span> 2012 </h4> 2013 2014 <div class="listing-card__address"> 2015 9 Bon Price Lane, Olivette, MO 63132 2016 </div> 2017 2018 <div class="listing-card__attributes"> 2019 <span>5 Beds</span> 2020 2021 <span>4.5 Baths</span> 2022 2023 <span>5,940 Sq.Ft.</span> 2024 </div> 2025 2026 </div> 2027 </a> 2028 </div> 2029 </div> 2030 <div class="pagination-container"></div> 2031 2032 <div class="properties-grid__footer"> 2033 <a 2034 href="/properties" 2035 2036 class="lp-btn lp-btn--light lp-btn--filled button-style-1" 2037 2038 2039 2040 2041 2042 > 2043 SEE MORE 2044 </a> 2045 </div> 2046 </div> 2047</div> 2048</section> 2049<section class="image-section is-font-color-light is-background-color-light" id="section-c2dd9381-8f0d-44cf-9ba2-37c83031e947" data-el-id="e7db0aa2-a33d-4b1c-bd9f-41337c1c9384"> 2050 <div class="lp-vertical-paddings redesign"> 2051 <div class="lp-container cta-block cta-block--Center-aligned"> 2052 <div class="text-block"> 2053 <h2 class="lp-h2"><p class="custom_pre-title" style="margin-bottom: 0; text-transform: uppercase; font-size: 16px; font-weight: 400;">Get an Instant Property Value</p> 2054<h2>What's My Home Worth?</h2></h2> 2055 </div> 2056 2057 <a 2058 href="/home-valuation" 2059 2060 class="lp-btn lp-btn--dark lp-btn--big lp-btn--outline lp-btn--mob-full-width button-style-2" 2061 2062 2063 2064 2065 2066 > 2067 Home Valuation 2068 </a> 2069 </div> 2070</div> 2071</section> 2072<section id="section-71056696-cad2-4a42-8255-6ecef3540f66" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1"> 2073 <div class="gallery-component redesign"> 2074 <div class="lp-container gallery-component__container"> 2075 <div class="row gallery-component__row cols-3"> 2076 2077 <div class="gallery-component__col"> 2078 <a class="gallery-card" 2079 href="/buyers" > 2080 <div class="gallery-card__preview"> 2081 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a6b12954-4daf-4a7b-b172-1a46a39ffd48" 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/a6b12954-4daf-4a7b-b172-1a46a39ffd48 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/a6b12954-4daf-4a7b-b172-1a46a39ffd48 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a6b12954-4daf-4a7b-b172-1a46a39ffd48 1024w" class="portrait" alt="" loading="lazy"> 2082 </div> 2083 <h3 class="lp-h3 gallery-card__title">Buyer's Guide</h3> 2084 </a> 2085 </div> 2086 2087 2088 <div class="gallery-component__col"> 2089 <a class="gallery-card" 2090 href="/sellers" > 2091 <div class="gallery-card__preview"> 2092 <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/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0" 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/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 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/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 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/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/3e85a75d-9438-42b6-bfe4-ca5d51f0d3e0 3456w" class="portrait" alt="" loading="lazy"> 2093 </div> 2094 <h3 class="lp-h3 gallery-card__title">Seller's Guide</h3> 2095 </a> 2096 </div> 2097 2098 2099 <div class="gallery-component__col"> 2100 <a class="gallery-card" 2101 href="https://d1e1jt2fj4r8r.cloudfront.net/5f42fdf3-775e-422d-bb6f-1f7748a181a2/9ce99591-7e9c-42fb-a439-9edee034a50a/2025LuxuryMarketReview%20(2).pdf" target="_blank" > 2102 <div class="gallery-card__preview"> 2103 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/30124cec-91f4-48f6-be40-9c81548fd4d8" 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/30124cec-91f4-48f6-be40-9c81548fd4d8 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/30124cec-91f4-48f6-be40-9c81548fd4d8 466w" alt="" loading="lazy"> 2104 </div> 2105 <h3 class="lp-h3 gallery-card__title">Luxury Market Report</h3> 2106 </a> 2107 </div> 2108 2109 </div> 2110 </div> 2111</div> 2112 2113 2114</section> 2115<section class="image-section is-font-color-light is-background-color-dark" id="section-13773fa6-c310-4ff1-858d-28f1871153b3" data-el-id="f616bd6b-1f52-4d03-9438-e72f0966ad0c"> 2116 2117<div class="featured-video featured-video--height-Three-Quarters "> 2118 <div class="featured-video__poster-image"> 2119 <!--<button class="lp-play featured-video__play" data-type="VIDEO" data-src="https://www.youtube.com/embed/D__8E8bUhfM?&autoplay=1"></button>--> 2120 </div> 2121 <div class="featured-video__content"> 2122 <div class="lp-container"> 2123 <div class="lp-title-group"> 2124 2125 <p class="lp-text--subtitle"><h2>Learn More about<br>Sotheby's International Realty</h2></p> 2126 </div> 2127 2128 <div class="buttons-container"> 2129 <button type="button" class="lp-btn lp-btn--mob-full-width lp-btn--outline lp-btn--light button-style-2" data-type="VIDEO" 2130 data-src="https://www.youtube.com/embed/D__8E8bUhfM?&autoplay=1"> 2131 Play Video 2132 </button> 2133 2134 </div> 2135 </div> 2136 </div> 2137</div> 2138</section> 2139<section id="section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2" class="solid-section is-font-color-dark is-background-color-dark" data-el-id="5e8df1d5-5202-4588-a84d-79916d9b4b08"> 2140<div class="image-section"> 2141 <div class="lp-container"> 2142 <div class="content-wrapper content-wrapper--Left content-wrapper--rounded " style="--cardColor: #ffffff;"> 2143 2144 <div class="image-wrapper"> 2145 <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/a568db98-7b2b-4642-901d-ab20a67a0e30" 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/a568db98-7b2b-4642-901d-ab20a67a0e30 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/a568db98-7b2b-4642-901d-ab20a67a0e30 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/a568db98-7b2b-4642-901d-ab20a67a0e30 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/a568db98-7b2b-4642-901d-ab20a67a0e30 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a568db98-7b2b-4642-901d-ab20a67a0e30 2533w" class="portrait" alt="" loading="lazy"> 2146 </div> 2147 2148 <div class="text-wrapper"> 2149 <h3 class="lp-h3 title">Market Update</h3> 2150 <div class="description lp-pre-line">View the Market Update for St. Louis County</div> 2151 2152 <a 2153 href="https://marketupdates.sothebysrealty.com/marketupdate/dielmann/st_louis_county#communities" 2154 target="_blank" 2155 class="lp-btn lp-btn--filled lp-btn--dark section-button" 2156 2157 2158 2159 2160 2161 > 2162 Market Update 2163 </a> 2164 2165 </div> 2166 </div> 2167 </div> 2168</div> 2169</section> 2170<section class="image-section is-font-color-light is-background-color-dark" id="section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c" data-el-id="f616bd6b-1f52-4d03-9438-e72f0966ad0c"> 2171 2172<div class="featured-video featured-video--height-Three-Quarters "> 2173 <div class="featured-video__poster-image"> 2174 <!--<button class="lp-play featured-video__play" data-type="VIDEO" data-src="https://www.youtube.com/embed/7UgufEOzvYw?si=8mzQlMHxtH3iM2_i&autoplay=1"></button>--> 2175 </div> 2176 <div class="featured-video__content"> 2177 <div class="lp-container"> 2178 <div class="lp-title-group"> 2179 <h2 class="lp-h2">Sotheby's International Realty</h2> 2180 <p class="lp-text--subtitle"><p>Built on centuries of tradition and dedicated to innovating the luxury real estate industry, Sotheby's International Realty offers transformative experiences through a global network of exceptional agents. Beyond the beautiful properties and the personal touch of our agents, only one brand can deliver a lifestyle that caters to you.</p></p> 2181 </div> 2182 2183 <div class="buttons-container"> 2184 <button type="button" class="lp-btn lp-btn--mob-full-width lp-btn--outline lp-btn--light button-style-3" data-type="VIDEO" 2185 data-src="https://www.youtube.com/embed/7UgufEOzvYw?si=8mzQlMHxtH3iM2_i&autoplay=1"> 2186 Play Video 2187 </button> 2188 2189 </div> 2190 </div> 2191 </div> 2192</div> 2193</section> 2194<section id="section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b" class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd"> 2195 2196<div class="boxed-text lp-vertical-paddings redesign"> 2197 <div class="lp-container"> 2198 2199 <div class="boxed-text__description"><p style="margin-bottom: 0; text-transform: uppercase;">rEAL eSTATE bLOG</p> 2200<h2>Recent Articles</h2></div> 2201 </div> 2202</div> 2203</section> 2204<section id="section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1" class="solid-section is-font-color-light is-background-color-dark" data-el-id="cbccba56-02a9-4c0c-90bb-602d2d676658"> 2205 2206 <div class="redesign featured-press-section"> 2207 <div class="container"> 2208 <header> 2209 <h2 class="serif"></h2> 2210 2211 </header> 2212 <ul class="featured-press three-columns"> 2213 <li> 2214 <a href="/blog/how-to-stage-a-ladue-estate"> 2215 <figure> 2216 <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/7d91cf32-e578-4340-bdc8-96afd861cf36" 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/7d91cf32-e578-4340-bdc8-96afd861cf36 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/7d91cf32-e578-4340-bdc8-96afd861cf36 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/7d91cf32-e578-4340-bdc8-96afd861cf36 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/7d91cf32-e578-4340-bdc8-96afd861cf36 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/7d91cf32-e578-4340-bdc8-96afd861cf36 3456w" alt="" loading="lazy">
2217 <span class="label">Real Estate</span> 2218 </figure> 2219 2220 <h4 class="serif "><span class="link hyperlink-style-1">Staging A Ladue Estate For Todayâs Luxury Buyer</span> 2221 </h4> 2222 <p> 2223 From first impressions online to private showings, strategic staging helps showcase the character, scale, and value of a Ladue estate. 2224 </p> 2225 2226 <ul class="featured-press__details"> 2227 2228 2229 </ul> 2230 </a> 2231 </li> 2232 <li> 2233 <a href="/blog/reading-the-ladue-luxury-market-before-you-make-a-move"> 2234 <figure> 2235 <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/f2250bac-1a08-45f0-b0be-a3c4833dd05a" 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/f2250bac-1a08-45f0-b0be-a3c4833dd05a 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/f2250bac-1a08-45f0-b0be-a3c4833dd05a 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/f2250bac-1a08-45f0-b0be-a3c4833dd05a 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/f2250bac-1a08-45f0-b0be-a3c4833dd05a 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/f2250bac-1a08-45f0-b0be-a3c4833dd05a 3456w" alt="" loading="lazy"> 2236 <span class="label">Home Buying</span> 2237 </figure> 2238 2239 <h4 class="serif "><span class="link hyperlink-style-1">Reading The Ladue Luxury Market Before You Make A Move</span> 2240 </h4> 2241 2242 <ul class="featured-press__details"> 2243 2244 2245 </ul> 2246 </a> 2247 </li> 2248 <li> 2249 <a href="/blog/outdoor-living-reframed-the-new-extension-of-the-home"> 2250 <figure> 2251 <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/8a6546df-d468-4e77-8436-a2a1d5fb4fa3" 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/8a6546df-d468-4e77-8436-a2a1d5fb4fa3 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/8a6546df-d468-4e77-8436-a2a1d5fb4fa3 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/8a6546df-d468-4e77-8436-a2a1d5fb4fa3 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/8a6546df-d468-4e77-8436-a2a1d5fb4fa3 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/8a6546df-d468-4e77-8436-a2a1d5fb4fa3 3456w" alt="" loading="lazy"> 2252 <span class="label">Design</span> 2253 </figure> 2254 2255 <h4 class="serif "><span class="link hyperlink-style-1">Outdoor Living, Reframed: The New Extension of the Home</span> 2256 </h4> 2257 <p> 2258 Patios, terraces, and transitional spaces are becoming central, not secondary. 2259 </p> 2260 2261 <ul class="featured-press__details"> 2262 2263 2264 </ul> 2265 </a> 2266 </li> 2267 </ul> 2268 2269 <a 2270 href="/blog" 2271 2272 class="btn btn--primary-dark button-style-1" 2273 2274 2275 2276 2277 2278 > 2279 VIEW ALL 2280 </a> 2281 </div> 2282 </div> 2283</section> 2284<section id="section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e" class="solid-section is-font-color-dark is-background-color-light" data-el-id="709ca027-27b9-42b6-adcd-5b5ab8f76a9c"> 2285<div class="lp-container redesign"> 2286 <ul class="collection"> 2287 <li> 2288 <h4 class="lp-h4">St. Louis County Real Estate Insights</h4> 2289 <div><p>Looking for the <strong><span style="text-decoration: underline;"><a title="Best Places to Live in St. Louis County (2026 Guide)" href="https://nikaleoni.com/blog/best-places-to-live-in-st-louis-county-2026-guide" target="_blank" rel="noopener">best places to live in St. Louis County</a></span></strong>?<br data-start="305" data-end="308">Read my latest guide covering Ladue, Clayton, Frontenac, Town and Country, and more.</p></div> 2290 </li> 2291 </ul> 2292</div> 2293 2294 2295</section> 2296<section class="image-section is-font-color-light is-background-color-light" id="section-310ca97e-e489-4bc6-841e-7f
2296c57568466a" data-el-id="19e4a145-7cee-4338-8873-657ce2636b4c"> 2297 2298<div class="newsletter-signup lp-vertical-paddings redesign"> 2299 <div class="lp-container-custom"> 2300 <form data-type="contact-form" class="newsletter-signup__form"> 2301 <div class="newsletter-signup__form-container"> 2302 <div class="lp-title-group"> 2303 2304 <div class="lp-text--subtitle"><p style="margin-bottom: 0; text-transform: uppercase;">Be the First to Know<br><br></p> 2305<h2>Receive Market Insights and Exclusive Listings in Your Inbox</h2> 2306<p>Stay on top of the market and be eligible to receive exclusive and off market listings.</p></div> 2307 </div> 2308 <div class="newsletter-signup-form"> 2309 <div class="newsletter-signup__inputs-container"> 2310 <input id="section-310ca97e-e489-4bc6-841e-7fc57568466a__newsSignFirstName" type="text" name="name" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Name"> 2311 2312 <input id="section-310ca97e-e489-4bc6-841e-7fc57568466a__newsSignEmail" type="email" name="email" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Email" pattern="[a-zA-Z0-9.!#$%&â*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+"> 2313 2314 <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> 2315 2316 <div class="lp-h-pot"> 2317 <input id="section-310ca97e-e489-4bc6-841e-7fc57568466a__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 2318 </div> 2319 2320 <input style="display: none;" type="text" name="source" value="NEWSLETTER_SIGNUP" /> 2321 </div> 2322 </div> 2323 <div class="lp-disclaimer"> <label style='display: none;' for='section-310ca97e-e489-4bc6-841e-7fc57568466a-termsAccepted'>Opt In/Disclaimer Consent:</label> 2324 <label class='lp-tcr-content'> 2325 <span class='lp-tcr-checkbox'> 2326 <input 2327 type='checkbox' 2328 id='section-310ca97e-e489-4bc6-841e-7fc57568466a-termsAccepted' 2329 name='termsAccepted' 2330 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 2331 oninput="this.setCustomValidity('')" 2332 required 2333 /></span> 2334 <span class='lp-tcr-message'> 2335 2336 I agree to be contacted by 2337 Nika Leoni 2338 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 2339 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 2340 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 2341 </span> 2342 </label> 2343 2344</div> 2345 </div> 2346 <div class="success-block"> 2347 <div class="lp-title-group"> 2348 <h2 class="lp-h2">Thank You</h2> 2349 <div class="lp-text--subtitle"><p>You have successfully been added to Listing Alerts and Market Reports. Stay tuned for the latest updates sent straight to your inbox!</p></div> 2350 </div> 2351 </div> 2352 </form> 2353 2354 </div> 2355</div> 2356</section> 2357<section class="image-section is-font-color-dark is-background-color-light" id="section-8af56bc0-2962-4e51-8713-120a3eaecaf8" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c"> 2358
2358<script> 2359 (function(){ 2360 const sectionId = 'section-8af56bc0-2962-4e51-8713-120a3eaecaf8' 2361 const section = document.querySelector(`#${sectionId}`); 2362 var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image'); 2363 2364 if('true' === 'true') { 2365 section.classList.add('parallax-enabled'); 2366 section.style.setProperty('--sectionBackground', sectionBg); 2367 section.style.setProperty('background', 'none'); 2368 } 2369 })() 2370</script>
2370 2371<div class="redesign work-with-us parallax"> 2372 <div class="container"> 2373 <h2 class="serif">Work With Nika</h2> 2374 <div class="description">Get assistance in determining current property value, crafting a competitive offer, writing and negotiating a contract, and much more. 2375Contact Nika today to discuss all your real estate needs!</div> 2376 <div class="btn-container"> 2377 <a 2378 role="button" 2379 data-type="CONTACT_US" 2380 class="btn btn--primary-light button-style-1" 2381 2382 2383 2384 2385 2386 > 2387 Let's Connect 2388 </a> 2389 </div> 2390 </div> 2391</div> 2392</section> 2393<section id="section-13456535-2123-46dd-b423-b2094dd494aa" class="solid-section is-font-color-dark is-background-color-light" data-el-id="ac6eadbb-9a79-4823-ad06-c25adbbb4479"> 2394 <div class="lp-container text-grid redesign"> 2395 <ul class="scenes "> 2396 <li class="scene scene--columns-3"> 2397 <div class="scene__item "> 2398 <div class="border"></div> 2399 <div class="scene__content"> 2400 <div class="lp-a lp-a--dark"> 2401 <a class="custom_link" href="https://nikaleoni.com/home-search/listings?listingStatus=%5B%22ACTIVE%22%2C%22COMING_SOON%22%5D&center=%7B%22lat%22%3A38.58469918327547%2C%22lng%22%3A-90.45603075800527%7D&zoom=12&boundary=%5B%5B%5B38.67977365036392%2C-90.63455859003652%5D%2C%5B38.67977365036392%2C-90.27750292597402%5D%2C%5B38.48949867776312%2C-90.27750292597402%5D%2C%5B38.48949867776312%2C-90.63455859003652%5D%2C%5B38.67977365036392%2C-90.63455859003652%5D%5D%5D"> 2402<div class="custom_container"><img class="custom_icon" src="https://media-production.lp-cdn.com/media/e02e526b-e7ae-475c-aff8-78c9d7a4190a"> 2403<div class="custom-text_container"> 2404<p class="custom_pretitle">Find Your</p> 2405<p class="custom_title">home</p> 2406</div> 2407</div> 2408<img class="custom_arrow" src="https://media-production.lp-cdn.com/media/87c906e5-57cf-4823-b64c-2dcc2b287e5e"></a> 2409 </div> 2410 </div> 2411 </div> 2412 </li> 2413 <li class="scene scene--columns-3"> 2414 <div class="scene__item "> 2415 <div class="border"></div> 2416 <div class="scene__content"> 2417 <div class="lp-a lp-a--dark"> 2418 <a class="custom_link" href="../home-valuation"> 2419<div class="custom_container"><img class="custom_icon" src="https://media-production.lp-cdn.com/media/cad9b582-b447-489d-a160-f570048a2c3d"> 2420<div class="custom-text_container"> 2421<p class="custom_pretitle">Sell Your</p> 2422<p class="custom_title">home</p> 2423</div> 2424</div> 2425<img class="custom_arrow" src="https://media-production.lp-cdn.com/media/87c906e5-57cf-4823-b64c-2dcc2b287e5e"></a> 2426 </div> 2427 </div> 2428 </div> 2429 </li> 2430 <li class="scene scene--columns-3"> 2431 <div class="scene__item "> 2432 <div class="border"></div> 2433 <div class="scene__content"> 2434 <div class="lp-a lp-a--dark"> 2435 <a class="custom_link" href="../contact"> 2436<div class="custom_container"><img class="custom_icon" src="https://media-production.lp-cdn.com/media/e17d475d-7125-411e-b1fc-69d82b6830f5"> 2437<div class="custom-text_container"> 2438<p class="custom_pretitle">Let's</p> 2439<p class="custom_title">Connect</p> 2440</div> 2441</div> 2442<img class="custom_arrow" src="https://media-production.lp-cdn.com/media/87c906e5-57cf-4823-b64c-2dcc2b287e5e"></a> 2443 </div> 2444 </div> 2445 </div> 2446 </li> 2447 </ul> 2448 <div class="button-wrapper"> 2449 </div> 2450</div> 2451</section> 2452<section id="section-865e8019-f87e-4788-905e-08ea887d0c12" class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284"> 2453
2453<script type="text/x-handlebars-template" class="jsIGItem"> 2454 <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}"> 2455 <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div> 2456 <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div> 2457 {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}} 2458 </a> 2459</script>
2459 2460<div class="ig-feed redesign"> 2461 <div class="ig-feed-top lp-container"> 2462 <div class="top-wrapper"> 2463 <div class="top-left"> 2464 <h3 class="lp-h3 title">Follow Me On Instagram</h3> 2465 <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a> 2466 </div> 2467 <div class="top-right"> 2468 <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 on Instagram</a> 2469 <a class="nav-button top-nav-prev hidden-control button-style-1"> 2470 <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> 2471 </a> 2472 <a class="nav-button top-nav-next hidden-control button-style-1"> 2473 <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> 2474 </a> 2475 </div> 2476 </div> 2477 </div> 2478 <div class="lp-container ig-feed-container "> 2479 <div class="ig-feed-feed" data-limit="33"> 2480 </div> 2481 </div> 2482 <div class="bottom-controls"> 2483 <a class="bottom-nav-button bottom-nav-prev button-style-1"> 2484 <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> 2485 </a> 2486 <a class="bottom-nav-button bottom-nav-next button-style-1"> 2487 <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> 2488 </a> 2489 </div> 2490</div> 2491 2492</section> 2493 2494 <div id="modals" class="modals"></div> 2495 <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="874a9373-949d-4275-b72f-04c2a6ec373b"> 2496 <div class="footer redesign no_newsletter "> 2497 <div class="container"> 2498 <h3>Nika Leoni</h3> 2499 <div class="info-wrap"> 2500 <div class="info-wrap-contact agent_box"> 2501 <div class="info-wrap-contact_zone type_user"> 2502 <h4 class="serif">Get Started</h4> 2503 <div class="info-wrap-contact_cell"> 2504 <i> 2505 <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 2506 <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" /> 2507 </svg> 2508 </i> 2509 <p class="contact_title">Email</p> 2510 <a href="/cdn-cgi/l/email-protection#bfd1d6d4de91d3dad0d1d6ffccd0cbd7daddc6cccddaded3cbc691dcd0d2" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2"><span class="__cf_email__" data-cfemail="2d4344464c0341484243446d5e425945484f545e5f484c415954034e4240">[email protected]</span></a> 2511 </div> 2512 <div class="info-wrap-contact_cell"> 2513 <i><svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 2514 <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
251413 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" /> 2515 </svg></i> 2516 <p class="contact_title">Phone Number</p> 2517 <a href="tel:3144649222" class="lp-link info-wrap-contact_link grey-text hyperlink-style-2">(314) 464-9222</a> 2518 </div> 2519 </div> 2520 <div class="info-wrap-contact_zone"> 2521 <div class="info-wrap-contact_cell"> 2522 <i> 2523 <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 2524 <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" /> 2525 <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" /> 2526 <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" /> 2527 </svg> 2528 </i> 2529 <p class="info-wrap-contact_title">Address</p> 2530 <p class="info-wrap-contact_link grey-text"><p>8301 MARYLAND AVE STE 100<br>SAINT LOUIS MO 63105</p></p> 2531 </div> 2532 </div> 2533 </div> 2534 </div> 2535 <div class="text_footer first_text_footer"> 2536 <div class="images_box"> 2537 <div class="img_size"> 2538 <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/e963b47f-164f-4d00-a89c-052b24bc5112" 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/e963b47f-164f-4d00-a89c-052b24bc5112 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/e963b47f-164f-4d00-a89c-052b24bc5112 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/e963b47f-164f-4d00-a89c-052b24bc5112 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/e963b47f-164f-4d00-a89c-052b24bc5112 1664w" alt="Footer Image" sizes="200px"> 2539 </div> 2540 </div> 2541 <div class="luxury-text"> 2542 <p style="font-size: 12px;">âââââSotheby’s International Realty® and the Sotheby’s International Realty Logo are service marks licensed to Sotheby’s International Realty Affiliates LLC and used with permission. Dielmann Sotheby's International Realty fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. Eac
2542h 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’s International Realty Affiliates LLC nor any of its affiliated companies.</p> 2543<p> </p> 2544<p style="opacity: 1;"><img style="width: 100px; height: auto;" src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/tguwivacqib9bgbmkkgy/realtor-eho-logo-07232021-update-light"></p> 2545 </div> 2546 </div> 2547 <div class="text_footer second_text_footer"> 2548 <div class="text_content_wrap"> 2549 <div> 2550 This Website is not the official website of Sothebyâs International Realty, Inc. Sothebyâs International Realty, Inc. does not make any representation or warranty regarding any information, including without limitation its accuracy or completeness, contained on this Website. 2551 </div> 2552 <div> 2553 <div> </div> 2554<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style> 2555 </div> 2556 </div> 2557 </div> 2558 <div class="info-privacy"> 2559 <div class="form-row info-privacy__row"> 2560 2561 <div class="form-col form-col--powered powered-box"> 2562 <div class="img-wrap"> 2563 <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/0d8e170a-a1df-46bf-bc53-0789568cc945" 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/0d8e170a-a1df-46bf-bc53-0789568cc945 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/0d8e170a-a1df-46bf-bc53-0789568cc945 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/0d8e170a-a1df-46bf-bc53-0789568cc945 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/0d8e170a-a1df-46bf-bc53-0789568cc945 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/0d8e170a-a1df-46bf-bc53-0789568cc945 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/0d8e170a-a1df-46bf-bc53-0789568cc945 3456w" sizes="200px" alt=""> 2564 </div> 2565 <div class="powered_zone"> 2566 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> 2567 </div> 2568 </div> 2569 2570 <div class="form-col form-col--copyright"> 2571 <div class="copy_zone"> 2572 <span class="copy_words">Copyright ©</span> <span class="auto-year-update">2026</span> 2573 | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-2">Privacy Policy</a> 2574 2575 </div> 2576 </div> 2577 2578 <div class="form-col form-col--socials"> 2579 <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone"> 2580 2581 <li> 2582 <a 2583 href="https://www.facebook.com/nikaleonirealtor/" 2584 class="lp-socials__link socials__item socials__link wow fadeInUp" 2585 data-wow-delay="0s" 2586 target="_blank" 2587 aria-label="FACEBOOK" 2588 > 2589 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 2590 </a> 2591 </li> 2592 <li> 2593 <a 2594 href="https://www.instagram.com/NikaLeoniRealtor" 2595 class="lp-socials__link socials__item socials__link wow fadeInUp" 2596 data-wow-delay="0.1s" 2597 target="_blank" 2598 aria-label="INSTAGRAM" 2599 >
2600 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 2601 </a> 2602 </li> 2603 <li> 2604 <a 2605 href="https://www.linkedin.com/in/nikaleonirealtor/" 2606 class="lp-socials__link socials__item socials__link wow fadeInUp" 2607 data-wow-delay="0.2s" 2608 target="_blank" 2609 aria-label="LINKEDIN" 2610 > 2611 <span class="lp-i lp-i--linkedin" aria-hidden="true"></span> 2612 </a> 2613 </li> 2614 <li> 2615 <a 2616 href="https://x.com/Nika_Leoni_RE" 2617 class="lp-socials__link socials__item socials__link wow fadeInUp" 2618 data-wow-delay="0.3s" 2619 target="_blank" 2620 aria-label="TWITTER" 2621 > 2622 <span class="lp-i lp-i--twitter" aria-hidden="true"></span> 2623 </a> 2624 </li> 2625 <li> 2626 <a 2627 href="https://www.youtube.com/@NLR-Archive/featured" 2628 class="lp-socials__link socials__item socials__link wow fadeInUp" 2629 data-wow-delay="0.4s" 2630 target="_blank" 2631 aria-label="YOUTUBE" 2632 > 2633 <span class="lp-i lp-i--youtube" aria-hidden="true"></span> 2634 </a> 2635 </li> 2636 <li> 2637 <a 2638 href="https://www.pinterest.com/nikaleonirealtor/" 2639 class="lp-socials__link socials__item socials__link wow fadeInUp" 2640 data-wow-delay="0.5s" 2641 target="_blank" 2642 aria-label="PINTEREST" 2643 > 2644 <span class="lp-i lp-i--pinterest" aria-hidden="true"></span> 2645 </a> 2646 </li> 2647 <li> 2648 <a 2649 href="https://www.yelp.com/biz/nika-leoni-dielmann-sotheby-s-international-realty-st-louis" 2650 class="lp-socials__link socials__item socials__link wow fadeInUp" 2651 data-wow-delay="0.6s" 2652 target="_blank" 2653 aria-label="YELP" 2654 > 2655 <span class="lp-i lp-i--yelp" aria-hidden="true"></span> 2656 </a> 2657 </li> 2658 <li> 2659 <a 2660 href="https://www.tiktok.com/@NikaLeoniRealtor" 2661 class="lp-socials__link socials__item socials__link wow fadeInUp" 2662 data-wow-delay="0.7s" 2663 target="_blank" 2664 aria-label="TIKTOK" 2665 > 2666 <span class="lp-i lp-i--tiktok" aria-hidden="true"></span> 2667 </a> 2668 </li> 2669 <li> 2670 <a 2671 href="https://www.google.com/search?sca_esv=7b702b328b277ae5&hl=en&authuser=0&kgmid=/g/11lf9325m2&q=Nika+Leoni,+Realtor+at+Dielmann+Sotheby%27s+International+Realty&shndl=30&shem=lcuae,lste,uaasie&source=sh/x/loc/uni/m1/1&kgs=2ee0fa6dabca7c38#lrd=0x87d8cb281f7e0109:0xed0e3d1371dfd89d,1,,,," 2672 class="lp-socials__link socials__item socials__link wow fadeInUp" 2673 data-wow-delay="0.8s" 2674 target="_blank" 2675 aria-label="GOOGLE" 2676 >
2677 <span class="lp-i lp-i--google" aria-hidden="true"></span> 2678 </a> 2679 </li> 2680 <li> 2681 <a 2682 href="https://www.zillow.com/profile/NikaLeoni" 2683 class="lp-socials__link socials__item socials__link wow fadeInUp" 2684 data-wow-delay="0.9s" 2685 target="_blank" 2686 aria-label="ZILLOW" 2687 > 2688 <span class="lp-i lp-i--zillow" aria-hidden="true"></span> 2689 </a> 2690 </li> 2691 </ul> </div> 2692 </div> 2693 </div> 2694 </div> 2695</div> 2696 2697 </footer> 2698 2699 <div id="modal-global-contact-us" class="modal " 2700 data-el-id="" 2701 style="background-color: ;" 2702 > 2703 <div class="modal-content"> 2704 <div class="contact-form redesign " style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/b115de35-434b-4d08-beae-76d90797c8bb')"> 2705 <div class="container"> 2706 <div class="section-details" style="--colorTxt: #ffffff"> 2707 <h2>Contact Details</h2> 2708 2709 <div class="info-zone"> 2710 2711 <div class="info-zone_contact type_user"> 2712 <h4 class="serif">Nika Leoni</h4> 2713 <div class="info-zone_contact_cell"> 2714 <i> 2715 <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 2716 <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"/> 2717 </svg> 2718 </i> 2719 <p class="contact_title">Phone</p> 2720 <a href="tel:(314) 464-9222" class="lp-link info-zone_contact_link link hyperlink-style-2">(314) 464-9222</a> 2721 </div> 2722 <div class="info-zone_contact_cell"> 2723 <i> 2724 <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 2725 <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"/> 2726 </svg> 2727 </i> 2728 <p class="contact_title">Email</p> 2729 <a href="/cdn-cgi/l/email-protection#f59b9c9e94db99909a9b9cb5869a819d90978c8687909499818cdb969a98"
2729class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="1e7077757f30727b7170775e6d716a767b7c676d6c7b7f726a67307d7173">[email protected]</span></a> 2730 </div> 2731 </div> 2732 <div class="info-zone_contact"> 2733 <div class="info-zone_contact_cell"> 2734 <i> 2735 <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 2736 <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"/> 2737 <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"/> 2738 <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"/> 2739 </svg> 2740 </i> 2741 <p class="info-wrap-contact_title">Address</p> 2742 <p class="info-zone_contact_link pre-line">8301 MARYLAND AVE STE 100 2743 SAINT LOUIS MO 63105</p> 2744 </div> 2745 </div> 2746 <div class="info-zone_contact"> 2747 <div class="info-zone_contact_cell"> 2748 <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p> 2749 </div> 2750 </div> 2751 <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__contact-column"> 2752 2753 <li> 2754 <a 2755 href="https://www.facebook.com/nikaleonirealtor/" 2756 class="lp-socials__link socials__item wow fadeInUp socials__link" 2757 data-wow-delay="0s" 2758 target="_blank" 2759 aria-label="FACEBOOK" 2760 > 2761 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 2762 </a> 2763 </li> 2764 <li> 2765 <a 2766 href="https://www.instagram.com/NikaLeoniRealtor" 2767 class="lp-socials__link socials__item wow fadeInUp socials__link" 2768 data-wow-delay="0.1s" 2769 target="_blank" 2770 aria-label="INSTAGRAM" 2771 >
2772 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 2773 </a> 2774 </li> 2775 <li> 2776 <a 2777 href="https://www.linkedin.com/in/nikaleonirealtor/" 2778 class="lp-socials__link socials__item wow fadeInUp socials__link" 2779 data-wow-delay="0.2s" 2780 target="_blank" 2781 aria-label="LINKEDIN" 2782 > 2783 <span class="lp-i lp-i--linkedin" aria-hidden="true"></span> 2784 </a> 2785 </li> 2786 <li> 2787 <a 2788 href="https://x.com/Nika_Leoni_RE" 2789 class="lp-socials__link socials__item wow fadeInUp socials__link" 2790 data-wow-delay="0.3s" 2791 target="_blank" 2792 aria-label="TWITTER" 2793 > 2794 <span class="lp-i lp-i--twitter" aria-hidden="true"></span> 2795 </a> 2796 </li> 2797 <li> 2798 <a 2799 href="https://www.youtube.com/@NLR-Archive/featured" 2800 class="lp-socials__link socials__item wow fadeInUp socials__link" 2801 data-wow-delay="0.4s" 2802 target="_blank" 2803 aria-label="YOUTUBE" 2804 > 2805 <span class="lp-i lp-i--youtube" aria-hidden="true"></span> 2806 </a> 2807 </li> 2808 <li> 2809 <a 2810 href="https://www.pinterest.com/nikaleonirealtor/" 2811 class="lp-socials__link socials__item wow fadeInUp socials__link" 2812 data-wow-delay="0.5s" 2813 target="_blank" 2814 aria-label="PINTEREST" 2815 > 2816 <span class="lp-i lp-i--pinterest" aria-hidden="true"></span> 2817 </a> 2818 </li> 2819 <li> 2820 <a 2821 href="https://www.yelp.com/biz/nika-leoni-dielmann-sotheby-s-international-realty-st-louis" 2822 class="lp-socials__link socials__item wow fadeInUp socials__link" 2823 data-wow-delay="0.6s" 2824 target="_blank" 2825 aria-label="YELP" 2826 > 2827 <span class="lp-i lp-i--yelp" aria-hidden="true"></span> 2828 </a> 2829 </li> 2830 <li> 2831 <a 2832 href="https://www.tiktok.com/@NikaLeoniRealtor" 2833 class="lp-socials__link socials__item wow fadeInUp socials__link" 2834 data-wow-delay="0.7s" 2835 target="_blank" 2836 aria-label="TIKTOK" 2837 > 2838 <span class="lp-i lp-i--tiktok" aria-hidden="true"></span> 2839 </a> 2840 </li> 2841 <li> 2842 <a 2843 href="https://www.google.com/search?sca_esv=7b702b328b277ae5&hl=en&authuser=0&kgmid=/g/11lf9325m2&q=Nika+Leoni,+Realtor+at+Dielmann+Sotheby%27s+International+Realty&shndl=30&shem=lcuae,lste,uaasie&source=sh/x/loc/uni/m1/1&kgs=2ee0fa6dabca7c38#lrd=0x87d8cb281f7e0109:0xed0e3d1371dfd89d,1,,,," 2844 class="lp-socials__link socials__item wow fadeInUp socials__link" 2845 data-wow-delay="0.8s" 2846 target="_blank" 2847 aria-label="GOOGLE" 2848 >
2849 <span class="lp-i lp-i--google" aria-hidden="true"></span> 2850 </a> 2851 </li> 2852 <li> 2853 <a 2854 href="https://www.zillow.com/profile/NikaLeoni" 2855 class="lp-socials__link socials__item wow fadeInUp socials__link" 2856 data-wow-delay="0.9s" 2857 target="_blank" 2858 aria-label="ZILLOW" 2859 > 2860 <span class="lp-i lp-i--zillow" aria-hidden="true"></span> 2861 </a> 2862 </li> 2863 </ul> </div> 2864 </div> 2865 <div class="section-message"> 2866 <form data-type="contact-form"> 2867 <h2>Submit a Message</h2> 2868 <div class="h-pot"> 2869 <label for="-middleName">Middle Name</label> 2870 <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 2871 </div> 2872 2873 2874 <div class="lp-input-group"> 2875 <label for="prod-name" class="lp-label">Name</label> 2876 <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light"> 2877 </div> 2878 <div class="lp-input-group"> 2879 <label for="prod-email" class="lp-label">Email</label> 2880 <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light"> 2881 </div> 2882 <div class="lp-input-group"> 2883 <label for="prod-phone" class="lp-label">Phone</label> 2884 <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light"> 2885 </div> 2886 <div class="lp-input-group m16"> 2887 <label for="prod-message" class="lp-label">Message</label> 2888 <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea> 2889 </div> 2890 2891 <div class="lp-disclaimer"> <div class='lp-tcr-content' style='margin-bottom: 1em;'> 2892 <span class='lp-tcr-message'> 2893 By providing your contact information to Nika Leoni, your personal 2894 information will be processed in accordance with Nika Leoni's 2895 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. By 2896 checking the box(es) below, you consent to receive communications 2897 regarding your real estate inquiries and related marketing and promotional 2898 updates in the manner selected by you. For SMS text messages, message 2899 frequency varies. Message and data rates may apply. You may opt out of 2900 receiving further communications from Nika Leoni at any time. To opt 2901 out of receiving SMS text messages, reply STOP to unsubscribe. 2902 </span> 2903 </div> 2904 <label style='display: none;' for='-termsAccepted'>Opt 2905 in/Disclaimer Consent:</label> 2906 <label class='lp-tcr-content' style='margin-bottom: 1em;'> 2907 <span class='lp-tcr-checkbox'> 2908 <input 2909 type='checkbox' 2910 name='termsAccepted' 2911 id='-termsAccepted' 2912 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 2913 oninput="this.setCustomValidity('')" 2914 required 2915 value='Yes, I agree to receive email or phone call communications from Nika Leoni.' 2916 /> 2917 </span> 2918 <span class='lp-tcr-message'>
2919 Yes, I agree to receive email or phone call communications from 2920 Nika Leoni. 2921 </span> 2922 </label> 2923 <label style='display: none;' for='-customConsent'>Opt 2924 in/Disclaimer Consent:</label> 2925 <label class='lp-tcr-content' style='margin-bottom: 1em;'> 2926 <span class='lp-tcr-checkbox'> 2927 <input 2928 type='checkbox' 2929 name='customConsent' 2930 id='-customConsent' 2931 value='Yes, I agree to receive SMS text messages from Nika Leoni.' 2932 /> 2933 </span> 2934 <span class='lp-tcr-message'> 2935 Yes, I agree to receive SMS text messages from Nika Leoni. 2936 </span> 2937 </label> 2938 2939 </div> 2940 2941 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 2942 2943 2944 <button type="submit" class="submitButton lp-btn button-style-2"> 2945 <span class="label-initial">Submit</span> 2946 <span class="label-loading">Submitting</span> 2947 <span class="label-success">Submitted</span> 2948 <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span> 2949 </button> 2950 <p class="success-message success hide"> 2951 Message sent successfully! 2952 </p> 2953 </form> 2954 2955 2956 </div> 2957 </div> 2958 </div> 2959 2960 </div> 2961 <button class="close lp-close" type="button" aria-label="close modal"> 2962 <span class="lp-close-icon" aria-hidden="true"></span> 2963 </button> 2964 </div> 2965 <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;"> 2966 <style> 2967 #qualifying-questions-modal .custom-select-toggle { 2968 border: 1px solid #848484; 2969 border-radius: 8px; 2970 padding: 12px 16px; 2971 } 2972 2973 #qualifying-questions-modal .custom-select-toggle.is-placeholder { 2974 color: #848484; 2975 } 2976 2977 #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder { 2978 color: #848484; 2979 opacity: 1; 2980 } 2981 2982 #qualifying-questions-modal .disclaimer-more { 2983 display: none; 2984 } 2985 2986 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more { 2987 display: inline; 2988 } 2989 2990 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis { 2991 display: none; 2992 } 2993 </style>
vendor: 119 bytes, lines 2993-2994
2993 2994 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2994<script> 2995 function toggleDisclaimerQualifyingQuestionsModal() { 2996 const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text'); 2997 const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer'); 2998 2999 if (disclaimerText.classList.contains('collapsed')) { 3000 disclaimerText.classList.remove('collapsed'); 3001 toggleButton.textContent = 'Read less'; 3002 toggleButton.setAttribute('aria-expanded', 'true'); 3003 } else { 3004 disclaimerText.classList.add('collapsed'); 3005 toggleButton.textContent = 'Read more'; 3006 toggleButton.setAttribute('aria-expanded', 'false'); 3007 } 3008 } 3009 </script>
3009 3010 <div style="max-width: 400px; width: 95%; margin: 0 auto;"> 3011 <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;"> 3012 <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;"> 3013 <span aria-hidden="true">×</span> 3014 </button> 3015 <div style="padding: 40px 30px 32px;"> 3016 <div style="text-align: left; margin-bottom: 32px;"> 3017 <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;"> 3018 Thanks, please provide more information to help serve you 3019 </h2> 3020 </div> 3021 <form id="qualifying-questions-modal-form" data-type="contact-form"> 3022 <input type="hidden" name="source" value="PROFILE_UPDATE" /> 3023 <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" /> 3024 <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" /> 3025 <label for="qualifying-questions-modal-email" style="display:none;"> 3026 Email 3027 </label> 3028 <label for="qualifying-questions-modal-triggerSource" style="display:none;"> 3029 Trigger Source 3030 </label> 3031 3032 <div style="margin-bottom: 20px;"> 3033 <label for="qualifying-questions-modal-phoneNumber" style="display:none;"> 3034 Phone Number 3035 </label> 3036 <input 3037 type="tel" 3038 id="qualifying-questions-modal-phoneNumber" 3039 name="phoneNumber" 3040 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;" 3041 pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$" 3042 required 3043 placeholder="Phone" 3044 aria-label="Phone Number" 3045 inputmode="tel" 3046 autocomplete="tel" 3047 onfocus="this.style.borderColor='black';" 3048 onblur="this.style.borderColor='#848484';" 3049 /> 3050 </div> 3051 3052 <div style="margin-bottom: 20px;"> 3053 <label for="qualifying-questions-modal-interest" style="display:none;"> 3054 Interest 3055 </label> 3056 <select 3057 id="qualifying-questions-modal-interest" 3058 name="interest" 3059 required 3060 data-label="Interest" 3061 aria-label="Interest" 3062 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;" 3063 onfocus="this.style.borderColor='black'; this.style.color='black';" 3064 onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';" 3065 > 3066 <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option> 3067 <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option> 3068 <option value="Selling" style="background: #fff; color: black;">Selling</option> 3069 <option value="Buying" style="background: #fff; color: black;">Buying</option> 3070 <option value="Renting" style="background: #fff; color: black;">Renting</option> 3071 <option value="Other" style="background: #fff; color: black;">Other</option> 3072 </select> 3073 </div> 3074 3075 <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;"> 3076 <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label> 3077 <label class='lp-tcr-content'>
3078 <span class='lp-tcr-checkbox'> 3079 <input 3080 type='checkbox' 3081 id='qualifying-questions-modal-qualifying-questions-termsAccepted' 3082 name='termsAccepted' 3083 aria-describedby='qualifying-questions-modal-disclaimer-text' 3084 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 3085 oninput="this.setCustomValidity('')" 3086 required 3087 /></span> 3088 <span class='lp-tcr-message'> 3089 <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;"> 3090 3091 I agree to be contacted by 3092 <strong>Nika Leoni</strong> 3093 via call, email, and text <span class="disclaimer-more">for real estate services. 3094 To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 3095 You can also click the unsubscribe link in the emails. 3096 Message and data rates may apply. Message frequency may vary.</span> 3097 <span class="disclaimer-ellipsis">...</span> 3098 <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>. 3099 </div> 3100 <button 3101 id="qualifying-questions-modal-toggle-disclaimer" 3102 type="button" 3103 style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;" 3104 aria-expanded="false" 3105 onclick="toggleDisclaimerQualifyingQuestionsModal()" 3106 > 3107 Read more 3108 </button> 3109 </span> 3110 </label> 3111 </div> 3112 3113 <div> 3114 <button 3115 type="submit" 3116 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;" 3117 onmouseover="this.style.background='transparent'; this.style.color='black';" 3118 onmouseout="this.style.background='black'; this.style.color='white';" 3119 > 3120 Submit 3121 </button> 3122 </div> 3123 </form> 3124 </div> 3125 </div> 3126 </div> 3127 </div> 3128 3129
3129<script> 3130 (function() { 3131 var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy")); 3132 3133 if ("IntersectionObserver" in window && lazyVideos.length > 0) { 3134 var lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 3135 entries.forEach(function(video) { 3136 if (video.isIntersecting) { 3137 for (var source in video.target.children) { 3138 var videoSource = video.target.children[source]; 3139 if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") { 3140 videoSource.src = videoSource.dataset.src; 3141 } 3142 } 3143 3144 video.target.load(); 3145 video.target.classList.remove("lazy"); 3146 lazyVideoObserver.unobserve(video.target); 3147 } 3148 }); 3149 }); 3150 3151 lazyVideos.forEach(function(lazyVideo) { 3152 lazyVideoObserver.observe(lazyVideo); 3153 }); 3154 } 3155 })(); 3156 </script>
3156 3157 3158 <!-- Global site tag (gtag.js) - Google Analytics --> 3159
3159<script defer src="https://www.googletagmanager.com/gtag/js"></script>
3159 3160 3161 <!-- Google Tag Manager --> 3162
3162<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3163 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 3164 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 3165 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 3166 })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
3166 3167 <!-- End Google Tag Manager --> 3168 3169 3170 <!-- LP Tracker (divolte.js) - LP Divolte --> 3171
3171<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
3171 3172 <!-- LP Tracker (eventBus) - LP EventBus --> 3173
3173<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
3173 3174 3175
3175<script> 3176 window.dataLayer = window.dataLayer || []; 3177 document.sendGoogleTagManagerEvent = function() { 3178 /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */ 3179 if (window.navigator.globalPrivacyControl) { 3180 return; 3181 } 3182 3183 dataLayer.push(arguments); 3184 } 3185 3186 document.sendGoogleTagManagerEvent('js', new Date()); 3187 document.sendGoogleTagManagerEvent('config', 'G-PLXE3171GR', { page: location.pathname, location: location.href }); 3188 document.sendGoogleAnalyticsEvent = function(googleEvent) { 3189 document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, { 3190 event_category: googleEvent.eventCategory, 3191 event_label: googleEvent.eventLabel, 3192 value: googleEvent.eventValue, 3193 page: googleEvent.page, 3194 location: googleEvent.location 3195 }) 3196 }; 3197 3198 document.addEventListener("DOMContentLoaded", function() { 3199 (function() { 3200 //If the page has an element with ID of auto-year-update the element will be populated with the current year. 3201 var date = new Date(); 3202 var elements = document.getElementsByClassName('auto-year-update'); 3203 var i; 3204 for (i = 0; i < elements.length; i++) { 3205 elements[i].innerText = date.getFullYear(); 3206 } 3207 })(); 3208 if (window.divolteLp) { 3209 window.divolteLp('sendLpPageView', {}); 3210 } 3211 if (window.eventBusLp) { 3212 window.eventBusLp('sendLpPageView', {}); 3213 } 3214 }); 3215 </script>
3215 3216 3217 <!-- Facebook Pixel Code --> 3218
3218<script type="text/plain" data-consent-category="advertising">
vendor: 575 bytes, lines 3218-3227
3218 3219 !function(f,b,e,v,n,t,s) 3220 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 3221 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 3222 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 3223 n.queue=[];t=b.createElement(e);t.async=!0; 3224 t.src=v;s=b.getElementsByTagName(e)[0]; 3225 s.parentNode.insertBefore(t,s)}(window, document,'script', 3226 'https://connect.facebook.net/en_US/fbevents.js'); 3227 fbq('init', '
32271310718931053996
vendor: 58 bytes, lines 3227-3229
3227'); 3228 fbq('track', 'PageView'); 3229
3229</script>
3229 3230 <noscript><img height="1" width="1" style="display:none" 3231 src="https://www.facebook.com/tr?id=1310718931053996&ev=PageView&noscript=1" 3232 /></noscript> 3233 <!-- End Facebook Pixel Code --> 3234 3235
3235<script> 3236 // Function to dynamically load a script 3237 function loadScript(url, callback) { 3238 var script = document.createElement('script'); 3239 script.type = 'text/javascript'; 3240 script.src = url; 3241 script.defer = true; 3242 script.async = true; 3243 script.onload = callback; 3244 document.head.appendChild(script); 3245 } 3246 3247 // Function to dynamically load CSS file 3248 function loadCSS(url) { 3249 var link = document.createElement("link"); 3250 link.rel = "stylesheet"; 3251 link.href = url; 3252 document.head.appendChild(link); 3253 } 3254 3255 // Global methods / variables that can be accessed by element js 3256 window.luxuryPresence = { 3257 libs: { 3258 loadJs: loadScript, 3259 loadCss: loadCSS, 3260 jsLibsMap: { 3261 paroller: { 3262 jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js', 3263 isLoaded: false, 3264 }, 3265 ionRangeSlider: { 3266 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js', 3267 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css', 3268 isLoaded: false, 3269 requires: ['jquery'], 3270 }, 3271 splide: { 3272 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js', 3273 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css', 3274 isLoaded: false, 3275 }, 3276 wow: { 3277 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js', 3278 isLoaded: false, 3279 }, 3280 jquery: { 3281 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js', 3282 isLoaded: false, 3283 }, 3284 slick: { 3285 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js', 3286 isLoaded: false, 3287 requires: ['jquery'], 3288 }, 3289 libphonenumber: { 3290 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js', 3291 isLoaded: false, 3292 }, 3293 }, 3294 }, 3295 }; 3296 </script>
3296 3297
3297<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>
3297 3298
3298<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
3298 3299
3299<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
3299 3300
3300<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
3300 3301
3301<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>
3301 3302
3302<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>
3302 3303
3303<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>
3303 3304 3305 <!-- GOOGLE TRANSLATE SCRIPT --> 3306
3306<script> 3307 function googleTranslateElementInit() { 3308 // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'` 3309 // Language codes can be taken from here https://cloud.google.com/translate/docs/languages 3310 const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt'; 3311 document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){ 3312 translate.innerText = ''; 3313 new google.translate.TranslateElement({ 3314 pageLanguage: 'en', 3315 layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 3316 includedLanguages: window.customLanguages || DEFAULT_LANGUAGES, 3317 }, translate); 3318 }); 3319 } 3320 </script>
3320 3321
3321<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
3321 3322
3322<script defer src="https://accounts.google.com/gsi/intermediate"></script>
3322 3323 3324 <!-- GOOGLE TRANSLATE SCRIPT END--> 3325
3325<script> 3326 3327 // UI helpers 3328 (function () { 3329 3330 function getSideMenu () { 3331 return document.querySelector('body > div.sidemenu'); 3332 } 3333 3334 function sideMenuHide (instant) { 3335 var sideMenu = getSideMenu(); 3336 if (!sideMenu || !sideMenu.classList.contains('visible')) { 3337 return; 3338 } 3339 sideMenu.classList.remove('visible'); 3340 sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } })); 3341 window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} })); 3342 } 3343 3344 function sideMenuShow () { 3345 var sideMenu = getSideMenu(); 3346 if (!sideMenu || sideMenu.classList.contains('visible')) { 3347 return; 3348 } 3349 sideMenu.classList.add('visible'); 3350 sideMenu.dispatchEvent(new Event('lpui-show')); 3351 window.dispatchEvent(new Event('lpui-sidemenu-show')); 3352 } 3353 3354 function sideMenuToggle () { 3355 var sideMenu = getSideMenu(); 3356 if (!sideMenu) { 3357 return; 3358 } 3359 var isSideMenuVisible = sideMenu.classList.contains('visible'); 3360 if (isSideMenuVisible) { 3361 sideMenuHide(); 3362 } else { 3363 sideMenuShow(); 3364 } 3365 } 3366 3367 var scrollLockRequests = {}; 3368 window.__debug_scrollLockRequests = scrollLockRequests; 3369 var hideScrollStyles = ''+ 3370 'body {'+ 3371 'overflow: hidden;' + 3372 '}'; 3373 var hideScrollId = 'hide-body-scroll-style'; 3374 3375 function scrollLock () { 3376 var style = document.createElement('style'); 3377 style.id = hideScrollId; 3378 style.textContent = hideScrollStyles; 3379 document.head.appendChild(style); 3380 window.dispatchEvent(new Event('lpui-scroll-locked')); 3381 } 3382 3383 function scrollUnlock () { 3384 document.getElementById(hideScrollId)?.remove(); 3385 window.dispatchEvent(new Event('lpui-scroll-unlocked')); 3386 } 3387 3388 function requestScrollLock (lockId) { 3389 var wasLocked = Object.keys(scrollLockRequests).length > 0; 3390 scrollLockRequests[lockId || '__anonymous_lock'] = true; 3391 if (!wasLocked) { 3392 scrollLock(); 3393 } 3394 } 3395 3396 function releaseScrollLock (lockId) { 3397 if (lockId) { 3398 delete scrollLockRequests[lockId]; 3399 if (!Object.keys(scrollLockRequests).length) { 3400 scrollUnlock(); 3401 } 3402 } else { 3403 scrollLockRequests = {}; 3404 window.__debug_scrollLockRequests = scrollLockRequests; 3405 scrollUnlock(); 3406 } 3407 } 3408 3409 function showModal (modalId, options) { 3410 var modal = document.getElementById(modalId); 3411 if (!modal) { 3412 return; 3413 } 3414 3415 if (!modal.classList.contains('visible')) { 3416 modal.classList.add('visible'); 3417 if (options && options.scrollLock) { 3418 window.lpUI.requestScrollLock(modalId); 3419 } 3420 modal.dispatchEvent(new Event('lpui-show')); 3421 window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } })); 3422 } 3423 3424 const visibleModals = document.querySelectorAll('.modal.visible'); 3425 3426 if (visibleModals.length > 1) { 3427 3428 const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => { 3429 const zIndex = window.getComputedStyle(modal).zIndex; 3430 const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0; 3431 return Math.max(maxZIndex, parsedZIndex); 3432 }, 0); 3433 3434 modal.style.zIndex = maxZIndex + 1; 3435 } 3436 3437 } 3438 3439 function _hideModal (modalEl) { 3440 if (!modalEl) { 3441 return; 3442 } 3443 if (!modalEl.classList.contains('visible')) { 3444 return; 3445 } 3446 modalEl.classList.remove('visible'); 3447 modalEl.style.zIndex = '';
3448 modalEl.dispatchEvent(new Event('lpui-hide')); 3449 var modalId = modalEl.getAttribute('id'); 3450 if (modalId) { 3451 window.lpUI.releaseScrollLock(modalId); 3452 window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } })); 3453 } 3454 } 3455 3456 function hideModal (modalId) { 3457 _hideModal(document.getElementById(modalId)); 3458 } 3459 3460 function hideClosestModal (el) { 3461 const modal = el?.closest('.modal'); 3462 if (!modal) { 3463 return; 3464 } 3465 if (modal.classList) { 3466 _hideModal(modal); 3467 return; 3468 } 3469 if (modal.length && modal[0].classList) { 3470 _hideModal(modal[0]); 3471 } 3472 } 3473 3474 window.lpUI = { 3475 sideMenuHide: sideMenuHide, 3476 sideMenuShow: sideMenuShow, 3477 sideMenuToggle: sideMenuToggle, 3478 requestScrollLock: requestScrollLock, 3479 releaseScrollLock: releaseScrollLock, 3480 showModal: showModal, 3481 hideModal: hideModal, 3482 hideClosestModal: hideClosestModal 3483 } 3484 })(); 3485 3486 var stringifyPrimitive = function(v) { 3487 switch (typeof v) { 3488 case 'string': 3489 return v; 3490 3491 case 'boolean': 3492 return v ? 'true' : 'false'; 3493 3494 case 'number': 3495 return isFinite(v) ? v : ''; 3496 3497 default: 3498 return ''; 3499 } 3500 }; 3501 3502 function objectToQuerystring(obj, sep, eq, name) { 3503 // https://github.com/Gozala/querystring/blob/master/encode.js 3504 sep = sep || '&'; 3505 eq = eq || '='; 3506 if (obj === null) { 3507 obj = undefined; 3508 } 3509 3510 if (typeof obj === 'object') { 3511 return Object.keys(obj).map(function(k) { 3512 var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; 3513 if (Array.isArray(obj[k])) { 3514 return obj[k].map(function(v) { 3515 return ks + encodeURIComponent(stringifyPrimitive(v)); 3516 }).join(sep); 3517 } else { 3518 return ks + encodeURIComponent(stringifyPrimitive(obj[k])); 3519 } 3520 }).filter(Boolean).join(sep); 3521 3522 } 3523 3524 if (!name) return ''; 3525 return encodeURIComponent(stringifyPrimitive(name)) + eq + 3526 encodeURIComponent(stringifyPrimitive(obj)); 3527 } 3528 3529 function getPath(url, options) { 3530 var parser = document.createElement('a'); 3531 parser.href = url || ''; 3532 var path = parser.pathname || ''; 3533 if (path[0] !== '/') { 3534 // IE does not return path starting with a slash 3535 path = '/' + path; 3536 } 3537 3538 if (options && options.queryString) { 3539 path += parser.search; 3540 } 3541 3542 return path; 3543 } 3544 3545 function getMLSAutocomplete(keyword) { 3546 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 3547 var query = { 3548 kind: 'listings', 3549 query: keyword 3550 }; 3551 3552 return superagent 3553 .get(searchURL) 3554 .query(query) 3555 .then(function(res) { 3556 var data = res.body || []; 3557 /* 3558 Of the format: 3559 [{ 3560 "_index": "listing_auto_completes_production_20190723232720775", 3561 "_type": "listing_auto_complete", 3562 "_id": "235875624", 3563 "_score": 0, 3564 "status_modified_at": 1553250708, 3565 "city": "Jupiter", 3566 "price": 1335743, 3567 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 3568 "sold_price": null, 3569 "id": 235875624, 3570 "state": "FL", 3571 "photo_urls": [ 3572 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 3573 ], 3574 "status": "Pending" 3575 }, ...] 3576 */ 3577 3578 return data; 3579 }); 3580 } 3581 3582 function getMLSAutocompleteWithFilters(keyword, filters = {}) { 3583 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 3584 3585 return superagent 3586 .get(searchURL) 3587 .query({ kind: 'listings', query: keyword, ...filters }) 3588 .then(function(res) { 3589 /* 3590 Of the format: 3591 [{ 3592 "_index": "listing_auto_completes_production_20190723232720775", 3593 "_type": "listing_auto_complete", 3594 "_id": "235875624", 3595 "_score": 0, 3596 "status_modified_at": 1553250708, 3597 "city": "Jupiter", 3598 "price": 1335743, 3599 "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478", 3600 "sold_price": null, 3601 "id": 235875624, 3602 "state": "FL", 3603 "photo_urls": [ 3604 "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg" 3605 ], 3606 "status": "Pending" 3607 }, ...] 3608 */ 3609 return res.body || []; 3610 }); 3611 } 3612 3613 function makeMlsLink(data) { 3614 // Code Dupe from utils/googlePlace 3615 // mapping of google data type to mls data type 3616 var mapping = { 3617 neighborhood: 'neighborhood', 3618 locality: 'place', 3619 administrative_area_level_2: 'county', 3620 administrative_area_level_1: 'state', 3621 postal_code: 'postalcode', 3622 }; 3623 3624 function _filterTypes(types) { 3625 return types.filter(function(type) { return type !== 'political' }); 3626 } 3627 3628 if (!data || !Object.keys(data).length) { 3629 return '/home-search/listings'; 3630 } 3631 3632 var newData = {};
3633 _filterTypes(data.types).forEach(function(type) { 3634 if (mapping[type]) { 3635 newData.search_type = mapping[type]; 3636 } 3637 }); 3638 newData.omnibox = data.formatted_address; 3639 data.address_components.forEach(function(component) { 3640 _filterTypes(component.types).forEach(function(type) { 3641 if (mapping[type]) { 3642 newData[mapping[type]] = component.long_name; 3643 } 3644 }); 3645 }); 3646 var bounds = data.geometry.bounds; 3647 var convertedData = Object.assign(bounds, newData); 3648 3649 return '/home-search/listings?' + objectToQuerystring(convertedData); 3650 } 3651 3652 function debounce(func, wait) { 3653 let timeout; 3654 return function(...args) { 3655 const context = this; 3656 clearTimeout(timeout); 3657 timeout = setTimeout(() => func.apply(context, args), wait) 3658 } 3659 } 3660 3661 // Global methods / variables that can be accessed by element js 3662 window.luxuryPresence = { 3663 ...window.luxuryPresence, 3664 defaults: { 3665 companyId: '5f42fdf3-775e-422d-bb6f-1f7748a181a2', 3666 apiGatewayUrl: '/api-gw', 3667 routerUrl: '/api-nv', 3668 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\
3668n }\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
3668s: 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"}, 3669 propertyPlaceholderImage: {"id":"d3bfa66e-f472-4fbc-b9c3-065391caf893","alt":null,"bytes":1389448,"width":4500,"format":"png","height":1800,"pngUrl":null,"shared":true,"curated":false,"duration":null,"largeUrl":"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/c32e79fc-03a2-4b24-80d3-255a42f82511","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/c32e79fc-03a2-4b24-80d3-255a42f82511","authorUrl":null,"mediumUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/c32e79fc-03a2-4b24-80d3-255a42f82511","sourceUrl":null,"xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/c32e79fc-03a2-4b24-80d3-255a42f82511","__typename":"Media","altTagText":null,"authorName":null,"sourceName":"r2","xxLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/c32e79fc-03a2-4b24-80d3-255a42f82511","description":null,"displayName":"4","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/c32e79fc-03a2-4b24-80d3-255a42f82511","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/c32e79fc-03a2-4b24-80d3-255a42f82511","originalFileName":"4","cloudinaryPublicId":"c32e79fc-03a2-4b24-80d3-255a42f82511"} 3670 }, 3671 objectToQuerystring: objectToQuerystring, 3672 getPath: getPath, 3673 getMLSAutocomplete: getMLSAutocomplete, 3674 getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters, 3675 makeMlsLink: makeMlsLink, 3676 debounce: debounce, 3677 }; 3678 3679 var wowOffset = 100; 3680 </script>
3680 3681
3681<script> 3682 (()=>{var e={},t={};t={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let i=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===i[1].toLowerCase().indexOf("video"))return null;let s=i[i.length-1];s.lastIndexOf(".")>-1?s=`${s.slice(0,s.lastIndexOf("."))}.jpg`:s+=".jpg",i[i.length-1]=s;let r=3;"videos"===i[1].toLowerCase()&&""!==i[2]&&(r=2);let a=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;r<i.length-1&&a.test(i[r]);)r++;return i.splice(r,0,"so_0,eo_0"),t+i.join("/")}},e=function(e,{isEqual:i}){let s=[{field:"thumbnailUrl",w:320},{field:"smallUrl",w:960},{field:"mediumUrl",w:1280},{field:"largeUrl",w:1920},{field:"xLargeUrl",w:2560},{field:"xxLargeUrl",w:3456}],r=function(e,t,i){let s="en-US";if(!e)return"";if("string"==typeof e){let t=e.trim();if(/[^+\-0-9.]/.test(t))return e;if(!(e=parseFloat(t)))return""}let r="number"==typeof i?i:0,a=Number.isInteger(e)?0:r,o={minimumFractionDigits:a,maximumFractionDigits:a};return"USD"===t?`$${e.toLocaleString(s,o)}`:"CAD"===t?`$${e.toLocaleString(s,o)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(s,o)}`:"GBP"===t?`\xa3${e.toLocaleString(s,o)}`:"PERCENT"===t?`${e}%`:"number"==typeof i&&i>-1?e.toLocaleString(s,{maximumFractionDigits:i}):e.toLocaleString(s)},a=function(e){switch(e){case"DAY":return"daily";case"MONTH":return"monthly";case"WEEK":return"weekly";case"YEAR":return"yearly";case"QUARTER":return"quarterly";case"HALF_YEAR":return"semi-annually";case"NIGHTLY":return"nightly";case"SEASONAL":return"seasonally";default:return""}},o=function(e){switch(e){case"DAY":return"day";case"WEEK":return"wk";case"MONTH":return"mo";case"YEAR":return"yr";case"QUARTER":return"3 mos";case"HALF_YEAR":return"6 mos";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},n=function(e){switch(e){case"DAY":return"day";case"WEEK":return"week";case"MONTH":return"month";case"YEAR":return"year";case"QUARTER":return"quarter";case"HALF_YEAR":return"6 months";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},l=function(e,t){let i,s,r=t||{};switch(r.mode){case"short":i=o(e),s=r.frequencySeparator||"/";break;case"standard":case"std":i=n(e),s=r.frequencySeparator||"/";break;default:i=a(e),s=r.frequencySeparator||" "}return i?r.frequencyTag||r.frequencyClass?`${s}<${r.frequencyTag||"span"}${r.frequencyClass?` class="${r.frequencyClass}"`:""}>${i}</${r.frequencyTag||"span"}>`:s+i:""};return{isEmpty(e,t){let i=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?i?t.fn(this):t.inverse(this):i},ifEquals(e,t,s){return i(e,t)?s.fn(this):s.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?(e=(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,"")).replace(/ /g," ")).replace(/<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g,""):"",striptagsLineBreaks:e=>e?(e=(e=(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,"")).replace(/(<br\s*\/?>)|(<\/p\s*>)(?=.*(<\/p\s*>|<br\s*\/?>))/g," ")).replace(/ /g," ")).replace(/<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g,""):"",truncate:(e,t,i)=>e?e.length>t?"string"==typeof i?e.slice(0,t-i.length)+i:e.slice(0,t):e:"",setSubArray(e=[],t,i,s,r){r.data.root[s]=e.slice(t,i)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:a,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>l(e,t&&t.hash),subArray(e,t,i,s){return e>=t&&e<i?s.fn(this):s.inverse(this)},formatPropertyStatus(e,t,i){let s="";switch(e){case"SOLD":s="Sold";break;case"FOR_SALE":s="For Sale";break;case"COMING_SOON":s="Coming Soon";break;case"INACTIVE":s="Inactive";break;case"POCKET_LISTING":s="Pocket Listing";break;case"PENDING":s="Pending";break;case"UNDER_CONTRACT":s="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":s="Active Under Contract";break;default:s=e}return("Sold"===s||"Leased"===s)&&t&&"string"==typeof i&&i&&(s+=` on ${i}`),s},formatGrade(e){switch(e){case"UNDERGRADUATE_COURSES":return"Undergrad";case"PRE_KINDERGARTEN":return"PreK";case"KINDERGARTEN":return"K";case"FIRST_GRADE":return"1st";case"SECOND_GRADE":return"2nd";case"THIRD_GRADE":return"3rd";case"FOURTH_GRADE":return"4th";case"FIFTH_GRADE":return"5th";case"SIXTH_GRADE":return"6th";case"SEVENTH_GRADE":return"7th";case"EIGHTH_GRADE":return"8th";case"NINTH_GRADE":return"9th";case"TENTH_GRADE":return"10th";case"ELEVENTH_GRADE":return"11th";case"TWELFTH_GRADE":return"12th";default:return""}},encodeURI:e=>encodeURI(e),encodeURIComponent:e=>encodeURIComponent(e),hbFormatDate(e,t){if(!e)return"";let i="current"===e?new Date:new Date(e);if(Number.isNaN(i.getTime()))return"";if("YYYY"===t||"year"===t)return`${i.getFullYear()}`;if("MM/DD/YY"===t){let e=i.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${i.getDate()}/${i.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][i.getMonth()]} ${i.getDate()}, ${i.getFullYear()}`},openHousesFormat(e,t,i){if(!e||!t)return"";let s=e=>{let t=e.getHours();t>12&&(t-=12);let i=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?i+="PM":i+="AM",i},r="",a=e,o=t;
3682i&&(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())),`
3682<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}
3682return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:r,...a}=i.hash,o="",n="";if("string"==typeof t)o=t;else{let e={},{height:r,width:l,altTagText:d}=t;s.forEach(i=>{t[i.field]&&!e[t[i.field]]&&(e[t[i.field]]=i.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(a.alt=d),r&&l&&(r>=l&&(a.class?a.class+=" portrait":a.class="portrait"),"setDims"in i.hash&&(a.width=l,a.height=r)),c.length>1&&l&&l<e[c[c.length-1]]){let t=c.findIndex(t=>e[t]>=l);c.splice(t+1),e[c[c.length-1]]=l}c.length>1&&(n=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,i)=>Math.abs(e[t]-1280)-Math.abs(e[i]-1280))),o=c[0]}delete a.setDims,n||delete a.sizes,"alt"in a||(a.alt=""),!("loading"in a)&&(i?.data?.root?.sectionIndex>1||r)&&(a.loading="lazy");let l=Object.keys(a).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(a[t])}"`).join(" ");return new e.SafeString(`<img src="${o}"${n?` srcset="${n}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let i in e)null!==e[i]&&void 0!==e[i]&&"object"!=typeof e[i]&&(t+=e[i]);return t},setVideoExtension(e,t){if(!e||!t)return"";let i=new URL(e);if("res.cloudinary.com"!==i.host)return i.pathname.endsWith(`.${t}`)?e:"";let s=i.pathname.lastIndexOf("."),r=i.pathname;return -1!==s&&(r=i.pathname.substr(0,s)),i.pathname=`${r}.${t}`,i.toString()},addVideoSources(e){if(!e)return"";if(!e.includes("res.cloudinary.com"))return`<source data-src="${e}">`;let t=e.replace(/\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/,"");return[{format:"webm",codec:"vp9",htmlCodecs:";codecs=vp9"},{format:"mp4",codec:"h265",htmlCodecs:";codecs=hvc1"},{format:"mp4",codec:"h264",htmlCodecs:""}].map(e=>{let i=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},q_auto:best,w_1920,c_limit`)}.${e.format}`;return`<source data-src="${i}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:t.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let i=+t?.hash?.maxChars||2,s=e.match(/\b\w/g)?.slice(0,i);return s?(t?.hash?.addText&&(s=s.map(e=>e+t.hash.addText)),s.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class i{constructor(e,t,i){if(this.config=e,this.window=t,this.document=i,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let s="lp_lead_form_conversion_fired";function r(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(s)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(s,"true")}catch{}}catch{}}function a(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let o="/api/v1/home-valuation";class n extends i{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let i=t.indexOf(", call time frame:");return -1!==i&&(t=t.substring(0,i).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,i={},s=t("street_number"),r=t("route"),a=t("administrative_area_level_1"),o=t("postal_code"),n=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return s&&(i.streetNumber=s),r&&(i.streetName=r),l&&(i.city=l),a&&(i.state=a),o&&(i.zipcode=o),n&&(i.addressLine2=n),i}_extractAddressAndCoordinates(e){let t=null,i=null;if(e?.result){let{result:s}=e;s.address?.addressComponents&&(t=this._transformAddressComponents(s.address.addressComponents)),s.geocode?.location&&(i={latitude:s.geocode.location.latitude,longitude:s.geocode.location.longitude})}return{structuredAddress:t,coordinates:i}}_filterEmptyStrings(e){let t={};for(let[i,s]of Object.entries(e))""!==s&&null!=s&&(t[i]=s);return t}_getRawAddress(e){let t=e.activity.content||{},i=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,i,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,i=null){let s={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(i&&(s.errorMessage=i.userMessage||(i.status?`Request failed with status ${i.status}`:"An error occurred"),s.errorName=i.name,s.errorStatus=i.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(s)),this.window.posthog)try{this.window.posthog.capture(e,s)}catch(e){console.error("[HomeValuation] PostHog capture failed:",e)}}_getUserFriendlyErrorMessage(e){return"AbortError"===e.name||e.message?.includes("timeout")?"Connection timed out. Please try again.":"TypeError"===e.name&&e.message?.includes("fetch")?"Unable to connect. Please check your internet connection and try again.":503===e.status||502===e.status||504===e.status?"Service temporarily unavailable. Please try again in a moment.":400===e.status?"Please check your information and try again.":"Something went wrong. Please try again or c
3682ontact 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
3682ourceResource,pageElementId:e.page.pageMeta?.pageElementId,formId:e.page.pageMeta?.formId,utmSource:e.activity.content?.utm_source,utmMedium:e.activity.content?.utm_medium,utmCampaign:e.activity.content?.utm_campaign,utmTerm:e.activity.content?.utm_term,utmContent:e.activity.content?.utm_content,utmId:e.activity.content?.utm_id,timeToSell:e.activity.content?.timeToSell,lookingToBuy:e.activity.content?.lookingToBuy,consented:!!e.activity.content?.termsAccepted,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},n=this._filterEmptyStrings(o);return{...a,...n,...i&&{address:i},...s&&{coordinates:s}}}async _validateAddressSafely(e){if(!e)return console.error("Home valuation: No address found in form data"),null;try{return await this._validateAddressWithGoogleMaps(e)}catch(e){throw console.error("Error validating address with Google Maps:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}async _getHomeValuationEstimateSafely(e){try{return await this._getHomeValuationEstimate(e)}catch(e){throw console.error("Error getting home valuation estimate:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}_isSafeRedirectUrl(e){try{let{protocol:t}=new URL(e,this.window.location.href);return"https:"===t||"http:"===t}catch{return!1}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let i=Error(e&&"object"==typeof e&&Object.keys(e).length?e.message||JSON.stringify(e):"Request failed");return e&&"object"==typeof e&&Object.keys(e).length&&Object.assign(i,e),i.status=t,i}_resolveValuationApiBase(){let{config:e}=this;if(void 0!==e.valuationApiBase&&null!==e.valuationApiBase&&(""!==e.valuationApiBase||!e.isBuilder))return e.valuationApiBase;if(e.websiteApiGatewayUrl)return e.websiteApiGatewayUrl;throw Error("websiteApiGatewayUrl/valuationApiBase not configured for home valuation")}async _submitLead(e,t,i){let s=new AbortController,r=setTimeout(()=>s.abort(),1e4);try{let o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:s.signal});clearTimeout(r);let n=await o.text(),l=this._parseResponsePayload(n);if(!o.ok)throw this._createResponseError(l,o.status);if(l&&"success"===l.status&&l.redirectUrl){if(a(i))return l;if(!this._isSafeRedirectUrl(l.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),l;return this.window.location.href=l.redirectUrl,{redirected:!0,url:l.redirectUrl}}return l}catch(e){throw clearTimeout(r),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let i=this._getRawAddress(e),s=null;try{s=await this._validateAddressSafely(i)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let r=null;try{r=await this._getHomeValuationEstimateSafely(s)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),r=null}let{structuredAddress:a,coordinates:n}=this._extractAddressAndCoordinates(s),l=`${t}${o}`,d=this._buildHomeValuationData(e,r,a,n),c=await this._submitLead(l,d,e.deadline);return this._logLeadEvent("home_valuation_submission_success",e),c}catch(t){throw t.userMessage||(t.userMessage=this._getUserFriendlyErrorMessage(t)),this._logLeadEvent("home_valuation_submission_failed",e,t),t}}async _validateAddressWithGoogleMaps(e){let{config:t,window:i}=this,s=t.googleMapsAPIKey;if(!s&&i.luxuryPresence?.mapApiLoader&&(s=await i.luxuryPresence.mapApiLoader.getMapApiKey()),!s)throw Error("Google Maps API key not configured");let r=new AbortController,a=setTimeout(()=>r.abort(),1e4);try{let t=await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${s}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:{addressLines:[e]},enableUspsCass:!1}),signal:r.signal});if(clearTimeout(a),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(a),e}}_hasMandatoryAddressFields(e){return!!(e.streetNumber&&e.streetName&&e.city&&e.state&&e.zipcode)}_logMissingAddressFields(e){let t=[];e.streetNumber||t.push("streetNumber"),e.streetName||t.push("streetName"),e.city||t.push("city"),e.state||t.push("state"),e.zipcode||t.push("zipcode"),console.log("Home valuation estimate skipped - missing required fields:",t.join(", "),"Available fields:",Object.keys(e).join(", "))}_buildAddressQueryString(e){return Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}async _getHomeValuationEstimate(e=null){let t=`${this._resolveValuationApiBase()}${o}`;if(!e?.result?.address?.addressComponents)return null;let i=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(i))return this._logMissingAddressFields(i),null;let s=this._buildAddressQueryString(i),r=`${t}?${s}`,a=new AbortController,n=setTimeout(()=>a.abort(),1e4);try{let e=await fetch(r,{headers:{Accept:"application/json"},signal:a.signal});if(clearTimeout(n),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(n),e}}}let l="middleName",d="redirect-pending",c=["name","firstName","lastName",l,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],u="lp_map_key_failed",h="oauthSuccess",p={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
3682]+)/);if(!t)return!1;try{let e=decodeURIComponent(t[1]);if(e.includes(",")){let t=e.split(",").map(e=>e.trim());if(t.some(e=>e.includes(":")))return t.some(e=>"analytics:yes"===e);return t.includes("analytics")}return e.includes("analytics")}catch(e){return!1}})(e),isAnalyticsAccepted:e=>Array.isArray(e?.accepted)&&e.accepted.includes("analytics")},"lp-consent":{eventName:"lp_consent_update",hasAnalyticsConsent:(e,t)=>!!t.__lpConsent?.state?.c?.analytics,isAnalyticsAccepted:e=>!!e?.choices?.analytics}};function m(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function g(e,t){t.forEach(t=>{let i=e[t];Array.isArray(i)&&0===i.length&&delete e[t]})}function y(e,t,i,s){let r=t.map(t=>(function e(t){return Array.isArray(t)?t.flatMap(t=>e(t)):"string"==typeof t?t.split(/\s+/).filter(Boolean):null==t?[]:[t]})(e[t])),a=s?.merge?r.flat():r.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),a.length>0&&(e[i]=[...new Set(a)])}function f(e){let t={...e};if(t.urlWebsite||(t.urlWebsite=null),t.urlYoutube=null,t.urlFacebook=null,t.urlInstagram=null,t.urlLinkedin=null,t.urlPodcast=null,t.urlTwitter=null,Array.isArray(e.socialLinks)){let i=[...e.socialLinks].sort((e,t)=>{let i=e.type?.toLowerCase()||"",s=t.type?.toLowerCase()||"";return i.localeCompare(s)});t.socialLinks=i;let s={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};i.forEach(e=>{let i=s[e.type?.toLowerCase()??""];i&&(t[i]=e.link)})}return t}function w(e){return e&&Array.isArray(e)?e.map(e=>f(e)):e}function v(e){let{region:t}=e;if(!m(t))return e;let{schools:i,pois:s,...r}=t,a={...r,schools:m(i)?i.data??[]:[],...Array.isArray(s)?{pois:s.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:a}}function b(e){return e&&Array.isArray(e)?e.map(e=>v(e)):e}function S(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let i=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:i}}function _(e){return e&&Array.isArray(e)?e.map(e=>S(e)):e}function E(e,t){return m(e)?t(e):e}function I(e,t){return Array.isArray(e)?t(e):e}let A=new class{constructor(e){this.isBuilder=!1,this.companyId=null,this.websiteId=null,this.pageId=null,this.shareId=null,this.pageMeta=null,this.websiteApiGatewayUrl=null,this.buyerSellerServiceUrl=null,this.leadIngesterUrl=null,this.divolteServiceUrl=null,this.eventBus=null,this.templateId=null,this.myhomeDashboardEnabled=!1,this.mlsEnabled=!1,this.hstValuationRedirectEnabled=!1,this.hvStepTwoCaptureEnabled=!1,this.googleMapsAPIKey=null}get valuationApiBase(){return this.isBuilder?this.websiteApiGatewayUrl:""}destroy(){}setPage(e,t={}){this.pageId=e,this.shareId=t.shareId||null,this.pageMeta={sourceResource:t.sourceResource,pageElementId:t.pageElementId,pageQueryVariables:t.pageQueryVariables||{}}}setIsBuilder(e){this.isBuilder=e}setCompany(e,t={}){this.companyId=e}setWebsite(e,t={}){this.websiteId=e,t.myhomeDashboardEnabled&&(this.myhomeDashboardEnabled=t.myhomeDashboardEnabled),t.mlsEnabled&&(this.mlsEnabled=t.mlsEnabled),t.hstValuationRedirectEnabled&&(this.hstValuationRedirectEnabled=t.hstValuationRedirectEnabled),t.hvStepTwoCaptureEnabled&&(this.hvStepTwoCaptureEnabled=t.hvStepTwoCaptureEnabled)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setEventBus({enabled:e,apiKey:t,url:i}){this.eventBus={enabled:e,apiKey:t,url:i}}}({}),L=new class extends i{constructor(e,t,i){super(e,t,i),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:i}=this;this.pageId=t.pageId,this.modals=i.querySelectorAll("body > #modals >
3682 .modal"),e.modals.forEach(e=>{this._attachModalHandler(e)})}catch(e){console.log(e)}}destroy(){let{document:e}=this;this.exitModalEventListeners.forEach(t=>{e.removeEventListener("mouseout",t)}),this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}setModalWithExpiry(e){let{window:t}=this,i=new Date().getTime()+864e5,s=`modal-controller-${e}`;try{t.localStorage.setItem(s,JSON.stringify(i))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,i=t.localStorage,s=i.getItem(`modal-controller-${e}`);if(!s)return!1;let r=JSON.parse(s);return!(new Date().getTime()>r)||(i.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:i}=this,s=this.getModalWithExpiry(e);(e&&!s||!0===t.forced)&&(i.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:i,pageSpecific:s}=e;(!s||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===i?this._exitModalHandler(e):"TIMER"===i?this._timerModalHandler(e):"FORCED"===i&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:i,exitModalTriggered:s}=this,{modalId:r}=e;function a(e){!s[r]&&(e.toElement||e.relatedTarget||(t.show(r),s[r]=!0))}i.addEventListener("mouseout",a),this.exitModalEventListeners.push(a)}_timerModalHandler(e){let{modalId:t,timerDelay:i}=e;setTimeout(()=>{this.show(t)},i)}_forcedModalHandler(e){let{modalId:t}=e,{window:i,document:s}=this;if("true"!==i.localStorage.getItem("isSignedUp")){let e=s.querySelector(`#modal-${t}`),r=e?.querySelector("form"),a=r?.dataset.delay||2e3;r.addEventListener("formsubmitted",()=>{this.setLoginState()}),i.addEventListener("oauthSuccess",()=>{this.setLoginState(),r.classList.add("success"),setTimeout(()=>{i.lpUI.hideModal(`modal-${t}`),r.reset(),r.classList.remove("success")},a)}),this.show(t,{forced:!0})}}}(A,window,document),$=new class extends i{constructor(e,t,i){super(e,t,i),this._boundClickHandler=this._buttonClickHandler.bind(this)}initialize(e={}){try{let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler),e.body.addEventListener("click",this._boundClickHandler)}catch(e){console.error(e)}}destroy(){let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler)}_buttonClickHandler(e){this._handleButtonClick(e).catch(e=>console.error(e))}async _handleButtonClick(e){let{window:t,document:i}=this,s=e.target.closest("button, a");if(!s)return;let r=s.dataset.type||"",a=s.href||s.dataset.href||"",o=s.target||"",{submit:n}=s.dataset;if(n){try{await this._handleSubmit(s)}catch(e){console.error(e)}((e,t=!1)=>{if(e){if(t)return window.open(e);window.location.assign(e)}})(a,"_blank"===o)}if(this._trackConversion(s),"VIDEO"===r)return void this._handleVideoButton(s);if("CONTACT_US"===r)return void this._handleContactUsButton(s);if("SUBSCRIBE"===r)return void t.lpUI.showModal("modal-global-subscribe");if("MY_ACCOUNT"===r)return void t.lpUI.showModal("modal-global-my-account");if("SHARE_POPUP"===r){let t=s.querySelector(".share-popup");t&&(t.style.display="flex"),e.stopPropagation();return}if("MODAL_"===r.substring(0,6)){let e=r.substring(6);t.lpUI.showModal(`modal-${e}`);return}if(a?.startsWith("mailto:")){let e=a.substring(7);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(a?.startsWith("tel:")){let e=a.substring(4);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:i}=this;return t?await i.luxuryPresence.contactForms.submitForm(t):null}_getVimeoSrc(e){if(!e||!e.includes("vimeo.com")||e.length>2e3)return null;let t=e.match(/(?:(?:www\.)?vimeo\.com\/(?:showcase\/\d+(?:\/video\/|\?video[=/])|channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player\.vimeo\.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);if(!t)return null;let[,i,s]=t,r=`https://player.vimeo.com/video/${i}?`;return s&&(r+=`h=${s}&`),r+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,i=e.closest("section"),{src:s}=e.dataset,r="";if(s&&(s.includes("youtube.com")||s.includes("youtu.be"))&&!s.includes("youtube.com/embed")){let e=s.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
3682)|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=` 3683 <div id="modal-${i.id}" class="modal visible"> 3684 <div class="modal-content"> 3685 <div class="lightbox-video"> 3686 <div class="video-player"> 3687 <div class="embed-container"> 3688 ${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>`} 3689 </div> 3690 </div> 3691 </div> 3692 </div> 3693 <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button> 3694 </div> 3695 `;t.body.insertAdjacentHTML("beforeend",n);let l=t.getElementById(`modal-${i.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:i}=this;i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:i}=this,{gtagConversionId:s,gtagConversionLabel:r,fbEventName:a}=e.dataset;if(s&&r){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===s)||i.sendGoogleTagManagerEvent("config",s));let e=`${s}/${r}`;i.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&a&&t.fbq("track",a,{})}}(A,window,document),x=new class extends i{constructor(e,t,i){super(e,t,i),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:i}=this,{selector:s}=e,r=[];if(r=s?i.querySelectorAll(`${s} form[data-type="contact-form"]`):i.querySelectorAll('form[data-type="contact-form"]'),i.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:i}=t.luxuryPresence.libs,{libphonenumber:s}=i;e(s.jsSrc,this.attachValidation.bind(this,r))}else this.attachValidation(r);this.validatedForms=this.validatedForms.concat(r)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}attachValidation(e){e.forEach(e=>{e.querySelectorAll("input, select, textarea").forEach(e=>{this.applyFieldValidation(e)})})}applyFieldValidation(e){"tel"===e.getAttribute("type")&&this._applyPhoneValidation(e)}_applyPhoneValidation(e){let{window:t}=this;if(t.libphonenumber){let i=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;i(e,"US")?this.setCustomValidity(""):this.setCustomValidity("Please enter a valid phone number.")}catch(e){this.setCustomValidity("Please enter a valid phone number.")}else this.setCustomValidity("")})}}}(A,window,document),T=new class extends i{constructor(e,t,i){super(e,t,i),this.forms=[],this.homeValuationService=new n(e,t,i)}initialize(e={}){try{let{document:t}=this,{selector:i}=e,s=[];(s=i?t.querySelectorAll(`${i} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(s)}catch(e){console.log(e)}}destroy(){this.forms=[]}submitForm(e){this._handleSubmit(null,e).catch(e=>console.error(e))}_attachValidation(e){let{window:t}=this;e.querySelectorAll("input, select, textarea").forEach(e=>{t.luxuryPresence.validation.applyFieldValidation(e)})}_attachSubmitHandler(e){e.addEventListener("submit",t=>this._handleSubmit(t,e))}_extractFormValues(e){let t=new FormData(e),i={},s=[],r=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let a=e.trim();r.test(t)&&a&&s.push(a);let o=i[t];i[t]=o?`${o} ${a}`:a}else i[t]=e}),s.length?i.name=s.join(" ").trim():!i.name&&i.firstName&&(i.name=i.firstName,i.lastName&&(i.name+=` ${i.lastName}`)),this._deriveNameParts(i)}_deriveNameParts(e){if(e.firstName||!e.name)return e;let t=e.name.indexOf(" ");return -1===t?{...e,firstName:e.name}:{...e,firstName:e.name.slice(0,t),lastName:e.lastName||e.name.slice(t+1).trim()}}_buildSubmissionData(e,t,i){let{window:s,config:r}=this,a=Object.keys(e).filter(e=>!c.includes(e)).reduce((t,i)=>(t[i]=e[i],t),{}),{pageId:o,companyId:n,websiteId:l,pageMeta:d}=r,u=s.localStorage.getItem("utm_vars")||"{}",h=s.localStorage.getItem("referrer")||"",p=this._getFormId(i);return{activity:{author_email:e.email,author_name:e.name,firstName:e.firstName||void 0,lastName:e.lastName||void 0,author_phone:e.phone||e.phoneNumber,activity_source:e.source||"CONTACT_INQUIRY",comments_attributes:[{text:e.message||void 0}],source_url:s.location.href,content:{...a,...JSON.parse(u)}},page:{pageId:o,companyId:n,websiteId:l,pageMeta:{...d,formId:p}},companyId:n,referrer:h,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,i=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
3695=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},i)}async _handleSubmit(e,t){if(e&&e.preventDefault(),!t.classList.contains("loading")){this._hideSubmissionError(t),t.classList.remove("error"),t.classList.add("loading");try{let e=this._extractFormValues(t);if(e.middleName)return void t.classList.remove("loading");let i=this._getFields(t),s=this._buildSubmissionData(e,i,t);r(this.window,this.document);let a=await this._waitForLeadSubmit(e=>this._submitLeadRequest(s,e));if(this._sendGAEvent(s),a?.redirected)return void this._showRedirectPending(t);this._handleSubmissionSuccess(t)}catch(e){console.error("Form submission failed:",e),t.dispatchEvent(new Event("formsubmiterror")),t.classList.remove("loading"),t.classList.add("error"),e.userMessage?this._showSubmissionError(t,e.userMessage):this._showSubmissionError(t,"Something went wrong. Please try again.")}}}async _waitForLeadSubmit(e){let t,i={expired:!1,expiresAt:Date.now()+6e3},s=new Promise(e=>{t=setTimeout(()=>{i.expired=!0,e(null)},6e3)}),r=e(i).catch(e=>{if(a(i))return null;throw e});try{return await Promise.race([r,s])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(d),e.querySelector(`.${d}__indicator`))return;let t=this.document.createElement("div");t.className=`${d}__indicator`,t.setAttribute("role","status"),t.setAttribute("aria-label","Loading"),t.innerHTML='<span class="lp-i lp-i--spinner lp-i--pulse" aria-hidden="true"></span>',e.appendChild(t)}_aliasUserWithEventBus(e){try{if(!this.window.eventBusProvider?.alias||!this.window.eventBusProvider?.isIdentified||!this.window.eventBusProvider?.getDistinctId||!this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail)return;if(this.window.eventBusProvider.isIdentified())return void console.log("[EventBus] User already identified, skipping alias");let t=e.activity?.author_email,{companyId:i}=this.config;if(!t||!i)return void console.warn("[EventBus] Missing required data for user alias");let s=this.window.eventBusProvider.getDistinctId();if(!s)return void console.warn("[EventBus] No anonymous ID available for alias");let r=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(i,t);this.window.eventBusProvider.alias({anonId:s,canonicalId:r}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}async _submitLeadRequest(e,t){let{config:i}=this;return(this._aliasUserWithEventBus(e),i.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${i.leadIngesterUrl}/api/v1/leads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw e}))}_sendGAEvent(e){let{document:t}=this,i={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":i.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":i.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":i.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":i.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:i={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(i)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),i={};return t.forEach(t=>{let{id:s,name:r,type:a}=t;if(r===l)return!0;let o="";if(s){let i=e.querySelector(`label[for='${s}']`);i?o=i.textContent.trim():t.placeholder&&(o=t.placeholder.trim())}i[r]={label:o,type:t.tagName,inputType:"INPUT"===t.tagName?a:"text"}}),i}_getFormId(e){let t=e.closest("section[id^='section-'], footer[id], .modal[id^='modal-']");return t?.id?this._cleanFormId(t.id):""}_cleanFormId(e){for(let t of["section-","modal-"])if(e.startsWith(t))return e.substring(t.length);return e}_showSubmissionError(e,t){let i=e.querySelector(".submission-error-message");i||((i=this.document.createElement("div")).className="submission-error-message",i.setAttribute("role","alert"),e.appendChild(i)),i.textContent=t||"Something went wrong. Please try again.",i.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(A,window,document),k=new class extends i{constructor(e,t,i){super(e,t,i),this.retries=3,this.callbacks=[],this.id=`__googleMapsScriptId${Date.now()}`,this._apiKey="",this.reset()}set apiKey(e){this._apiKey=e,this.config.setGoogleMapsAPIKey(e)}get apiKey(){return this._apiKey}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.failed=!1,this.errors=[],this.onerrorEvent=null}destroy(){this.reset()}async getMapApiKey(){if(this.apiKey)return this.apiKey;let e=this._hadPreviousFailure(),t=!1;for(let i=1;i<=3;i+=1){let s=e&&!t;try{let e=await fetch(this._getMapKeyUrl(i,s));if(t=t||s,this._setFailureFlag(!1),!e.ok)throw Error(`Failed to fetch API key: ${e.status}`);let r=await e.text();if(!r)return"";return this.apiKey=r,this.apiKey}catch(e){console.error(e),i<3&&await this._delay(300*2**(i-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let i=[];e>1&&i.push(`attempt=${e}`),t&&i.push("recovered_after_failure=1");let s=i.length?`?${i.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${s}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(u)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(u,"1"):this.window.sessionStorage.removeItem(u)}catch(e){}}_delay(e){return new Promise(t=>{this.window.setTimeout(t,e)})}async createUrl(){let e=await this.getMapApiKey();if(!e)throw Error("Refusing to load Google Maps without an API key");
3695let t="https://maps.googleapis.com/maps/api/js";return t+`?callback=__googleMapsCallback&key=${e}&libraries=places`}async setScript(){let e;if(this.document.getElementById(this.id))return void this.callback();try{e=await this.createUrl()}catch(e){console.error(e),this.failed=!0,this.loading=!1,this.onerrorEvent=e,this.callback();return}let t=this.document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.document.head.appendChild(t)}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){let e=this.errors.length*2**this.errors.length;console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript().catch(e=>console.error(e))},e)}else this.failed=!0,this.onerrorEvent=e,this.callback()}deleteScript(){let e=this.document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(i=>{i?t(i):e()})})}loadCallback(e){this.callbacks.push(e),this.execute()}setCallback(){this.window.__googleMapsCallback=this.callback.bind(this)}resetIfRetryingFailed(){this.failed&&this.reset()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.window.google&&this.window.google.maps&&this.window.google.maps.version&&this.callback(),this.resetIfRetryingFailed(),this.done?this.callback():this.loading||(this.loading=!0,this.setCallback(),this.setScript().catch(e=>console.error(e)))}_getBaseUrl(){let{isBuilder:e,websiteApiGatewayUrl:t}=this.config;return e?t:""}resizeStaticMapDimensions(e,t){if(e<=1024&&t<=1024)return{width:e,height:t};let i=Math.min(1024/e,1024/t);return{width:parseInt(e*i),height:parseInt(t*i)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let i=t.visibility?`visibility:${t.visibility}`:"",s=t.color?`color:${t.color.replace("#","0x")}`:"",r=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${i}${s}${r}`},""),i=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${i}${t}`})}async getMapApiSignedUrl(e){try{let t=await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${e}`);if(!t.ok)throw Error("Failed to fetch signed URL");let{url:i}=await t.json();return i}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,i,s,r,a){let{width:o,height:n}=this.resizeStaticMapDimensions(r,a),l={center:`${e},${t}`,zoom:i,scale:2,size:`${o}x${n}`,key:this.apiKey};s&&(l.style=this.convertThemeToStaticApiUrl(s));let d=new URLSearchParams;return Object.entries(l).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>d.append(e,t.toString())):d.append(e,t.toString())}),`https://maps.googleapis.com/maps/api/staticmap?${d.toString()}`}async generateDigitallySignedStaticMapUrl({srcWidth:e,srcHeight:t,theme:i,...s}){let{width:r,height:a}=this.resizeStaticMapDimensions(e,t),o={...s,size:`${r}x${a}`};i&&(o.style=this.convertThemeToStaticApiUrl(i));let n=new URLSearchParams;Object.entries(o).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.append(e,t.toString())):n.append(e,t.toString())});let l=n.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(A,window,document),C=new class extends i{destroy(){}updateQueryString(e,t,i){i||(i=this.window.location.href);let s=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),r="";null!=t&&(Array.isArray(t)?t.length&&(r=this.serializeArray(e,t)):"object"==typeof t?(s=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),r=this.serializeObj(t,"",e)):r=`${e}=${encodeURIComponent(t)}`);let a=i.split("#"),o=a[0];if(s.test(i)){let e=o;for(r=r?`$1${r}$2`:"$1";s.test(e);)o=e.replace(s,r),e=e.replace(s,"$1");o=o.replace(/(&|\?)$/,"")}else if(r){let e=-1!==o.indexOf("?")?"&":"?";o+=`${e}${r}`}return void 0!==a[1]&&null!==a[1]&&(o+=`#${a[1]}`),o}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let i=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),s=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat();if(!s.length){let i=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return s=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat(),this._parseParamToObject(s,"advancedFilters"===e)}return s.length>3?s.reduce((e,t,i)=>((i+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):s[2]?decode
3695URIComponent(s[2].replace(/\+/g," ")):""}makePageKey(e){return e.replace("section-","").replace(/-/g,"")}makeParamKey(e,t){return e.global?e.urlKey:`${t}-${e.urlKey}`}deserializeParams(e,t){let i={},s=this.makePageKey(t),r=this.getParameterByName(s);return r&&(i.page=parseInt(r)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),r=this.getParameterByName(t);if("int"===e.type)isFinite(r=parseInt(r))||(r=null);else if("bool"===e.type||"boolean"===e.type)r="true"===r||"false"!==r&&null;else if("json"===e.type)try{r=JSON.parse(r)}catch(e){}i[e.formKey||e.param]=r}),i}serializeParams(e,t,i){let s=this.window.location.href,r=this.makePageKey(t);return s=this.updateQueryString(r,i.page,s),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,r),a=i[e.formKey||e.param];"json"===e.type&&null!=a&&(a=JSON.stringify(a)),s=this.updateQueryString(t,a,s)}),s}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",i=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${i}K`:`${this.formatSliderAtom(e/1e6,t)}${i}M`}formatSliderPriceRange(e,t,i,s){return t.min===e&&0!==e?`${s.lowPrefix}${this.formatSliderValue(e,i," ")}`:t.max===e?`${this.formatSliderValue(e,i," ")}${s.highSuffix}`:`${this.formatSliderValue(e,i," ")}`}formatSliderAreaRange(e,t,i,s){return t.min===e&&0!==e?`${s.lowPrefix}${this.formatSliderValue(e)} ${i}`:t.max===e?`${this.formatSliderValue(e)}${s.highSuffix} ${i}`:`${this.formatSliderValue(e)} ${i}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:i,areaSliderElement:s,neighborhoodSelect:r}=e,a={};if(t&&(a.search=t.value||null),i){let e=i.value.split(";"),t=parseInt(i.dataset.min),s=parseInt(i.dataset.max),r=parseInt(e[0]),o=parseInt(e[1]);a.priceMin=r!==t?r:null,a.priceMax=o!==s?o:null}if(s){let e=s.value.split(";"),t=parseInt(s.dataset.min),i=parseInt(s.dataset.max),r=parseInt(e[0]),o=parseInt(e[1]);a.areaMin=r!==t?r:null,a.areaMax=o!==i?o:null}return r&&(a.neighborhoodId=r.value||null),a}serializeObj(e,t="",i=""){let s=[];for(let r in e)if(e.hasOwnProperty(r)){let a,o=e[r];if(i){let e=t?`[${t}][${r}]`:`[${r}]`;a=`${i}${e}`}else a=t?`${t}[${r}]`:r;null!==o&&Array.isArray(o)?o.length&&s.push(this.serializeArray(a,o)):null!==o&&"object"==typeof o?s.push(this.serializeObj(o,a)):s.push(`${a}=${encodeURIComponent(o)}`)}return s.join("&")}serializeArray(e,t,i=""){let s=[];return t.forEach(t=>{let r=i?`${i}${e}`:e;s.push(`${r}=${encodeURIComponent(t)}`)}),s.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let i={};for(let s=0;s<e.length;s++)if((s+1)%3==0){let r=decodeURIComponent(e[s].replace(/\+/g," ")),a=e[s-1];Object.assign(i,this._setObjectPath(a,r,i,t))}return i}_setObjectPath(e,t,i,s=!1){let r=e.split(/[\[\]]/).filter(Boolean),a=["in","nin","btw","ciin","cinin"],o={},n=o,l=((e,t,i)=>{if(!t)return;let s=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===s?i:s})(i,r.join("."));return r.forEach((e,o)=>{o===r.length-1?l?n[e]=Array.isArray(l)?[...l,t]:[l,t]:n[e]=s&&a.includes(e)?[t]:t:(n[e]=i[e]?i[e]:{},n=n[e])}),o}}(A,window,document),M=new class extends i{constructor(e,t,i){super(e,t,i),this._createLightbox=this._createLightbox.bind(this),this.expandSliders=[]}initialize(e={}){try{let{document:e}=this,t=e.querySelectorAll(".has-mobile-expand");t.forEach(e=>{this._addExpandButton(e)}),this.expandSliders=this.expandSliders.concat(t)}catch(e){console.log(e)}}destroy(){let{document:e}=this;e.querySelectorAll(".lp-expand-btn, .lp-expand-btn-wrapper").forEach(e=>e.remove()),this.expandSliders=[]}_addExpandButton(e){let{document:t}=this,i=e.closest("section[id]"),s=e.dataset.append,r=i.querySelector(".lp-expand-btn");if(!r)if((r=t.createElement("button")).className="lp-expand-btn",r.setAttribute("aria-label","Open a lightbox"),r.innerHTML='<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>',s){let e=i.querySelector(s);e&&e.appendChild(r)}else{let i=t.createElement("div");i.className="lp-expand-btn-wrapper",i.style.position="relative",i.appendChild(r),e.parentNode.insertBefore(i,e.nextSibling)}r.addEventListener("click",()=>{this._createLightbox({slider:e,section:i})})}_createLightbox({slider:e,section:t,initialIndex:i}){let{window:s,document:r}=this,a=`lightbox-for-${t?.id}`,o=s.$&&s.$.fn.slick,n=o&&e.slick,l="function"==typeof s.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=r.createElement("div");t.id=a,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=` 3696 <button class="lp-lightbox__close" aria-label="close modal"></button> 3697 <div class="lp-lightbox__content"> 3698 <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery"> 3699 <div class="splide__arrows"> 3700 <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button> 3701 <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button> 3702 </div> 3703 <div class="splide__track"> 3704 <ul class="splide__list"></ul> 3705 </div> 3706 </div> 3707 </div> 3708 `,"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
3708h(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=` 3709 <button class="lp-lightbox__close" aria-label="close modal"></button> 3710 <div class="lp-lightbox__content"> 3711 <div class="lp-lightbox__carousel"></div> 3712 </div> 3713 `,r.body.appendChild(o),l=o.querySelector(".lp-lightbox__carousel"),o.classList.add("show"),n?(t=e.slick.$slides.find("img"),i.initialSlide=e.slick?.currentSlide||0,t.each(function(){s.$(".lp-lightbox__carousel").append(s.$(this).clone(!1).removeAttr("style").wrap('<div class="lp-lightbox__slide"></div>').parent())})):(t=e.querySelectorAll("img")).forEach(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=r.createElement("div");i.className="lp-lightbox__slide",i.appendChild(t),l.appendChild(i)}),s.$(l).slick(i),setTimeout(()=>{o.focus()},100),d=e=>{if(!o.classList.contains("show"))return;let t=o.querySelector(".lp-lightbox-arrow--prev"),i=o.querySelector(".lp-lightbox-arrow--next"),s=o.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&s&&(e.preventDefault(),s.click())},r.addEventListener("keydown",d),o.querySelector(".lp-lightbox__close").addEventListener("click",()=>{r.removeEventListener("keydown",d),o.classList.remove("show");let t=l?.slick?s.$(l).slick("slickCurrentSlide"):0;l?.slick&&s.$(l).slick("unslick"),n&&s.$(e).slick("slickGoTo",t),"function"==typeof s.lpUI.releaseScrollLock?s.lpUI.releaseScrollLock(a):r.body.style.overflow="",o.remove()})}else l?c():(s.luxuryPresence.libs.loadCss(s.luxuryPresence.libs.jsLibsMap.splide.cssSrc),s.luxuryPresence.libs.loadJs(s.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),s.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(A,window,document),P=new class extends i{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId:i,templateId:s,websiteId:r,pageId:a,shareId:o,pageMeta:n}=this.config;this.window.divolte.signal(e,Object.assign({companyId:i,templateId:s,websiteId:r,pageId:a,shareId:o,pageMeta:n},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(A,window,document),U=new class extends i{constructor(e,t,i){super(e,t,i)}initialize(e={}){(void 0!==e.enabled?e.enabled:this.config.eventBus?.enabled)&&this.config.eventBus?.apiKey&&this.config.eventBus?.url&&this.loadScript()}loadScript(){let{eventBusUrl:e}=this.config,t=this.document.createElement("script");t.id="posthog-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/v2.8.0/event-bus-js.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){this.window.LuxuryPresenceEventBus&&(this.window.eventBusProvider=this.window.LuxuryPresenceEventBus.createEventBusProvider({apiKey:this.config.eventBus.apiKey,host:this.config.eventBus.url,defaultSource:"frontend://website-render-engine"}
3713)),(this.window.eventBusLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.eventBusLp=this.eventBusLp.bind(this)}destroy(){if(!this.window.eventBusProvider){this.window.eventBusLp=function(){(this.window.eventBusLp.q=this.window.eventBusLp.q||[]).push(arguments)};return}this.window.eventBusProvider.shutdown()}sendLpEvent(e,t){if("user.activity.page.viewed"!==e)return void console.log(`${e} IS NOT SUPPORTED`);if(!this.window.eventBusProvider)return;let{companyId:i}=this.config;try{this.window.eventBusProvider.capture(e,{company:i,data:{}})}catch(e){console.log("EventBus capture error:",e)}}eventBusLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpPageView(){this.sendLpEvent("user.activity.page.viewed",{})}}(A,window,document),N=new class extends i{constructor(e,t,i){super(e,t,i),this.successListeners=[],this._listenToMessages=this._listenToMessages.bind(this),this._listenToOneTapMessage=this._listenToOneTapMessage.bind(this)}initialize(e={}){try{e.googleSignOnEnabled&&!e.iframe&&this._renderGoogleOneTap(),this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach(e=>this._convertGoogleSignIn(e)),this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach(e=>this._convertFacebookSignIn(e))}catch(e){console.log(e)}}destroy(){this.successListeners.forEach(e=>{this.window.removeEventListener("message",this._listenToMessages),this.window.removeEventListener("message",this._listenToOneTapMessage),this.window.removeEventListener(h,this.window[e])})}_renderGoogleOneTap(){if(!this._isGoogleOneTapOnCooldown()){let e=this.document.createElement("div");google.accounts.id.initializeIntermediate({src:this._buildUrlAndCopyAttributes(e,e,"googleOneTap")}),this.window.localStorage.removeItem("googleOneTapExpiration"),this.window.addEventListener("message",this._listenToOneTapMessage)}}_listenToOneTapMessage(e){let t="show_intermediate_iframe",{buyerSellerServiceUrl:i}=this.config,{data:s,origin:r}=e,{type:a,height:o,event:n,source:l,token:d}=s;if(a===t||"hide_intermediate_iframe"===a){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=o,e.style.display=a===t?"unset":"none")}r===i&&"GOOGLE_SIGN_ON"===l&&("success"===n?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===n&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let i=this.document.createElement("iframe");i.src=this._buildUrlAndCopyAttributes(t,i,e),i.dataset.isSocialOauthButton=!0,t.replaceWith(i)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(h);this.window.dispatchEvent(e),r(this.window,this.document),this.successListeners.forEach(t=>{this.window[t]?this.window[t](e):console.error(`Callback function ${t} not found on window object`)}),this.document.documentElement.classList.add("is-login-success")}}_attachSuccessCallback(e){this.window.addEventListener("message",this._listenToMessages);let t=e.dataset.onSuccessFunctionName;t&&this.successListeners.push(t)}_buildUrlAndCopyAttributes(e,t,i){let{buyerSellerServiceUrl:s,companyId:r,websiteId:a,pageId:o,pageMeta:n}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${s}/buttons/${i}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",r),c.searchParams.append("websiteId",a),c.searchParams.append("pageId",o),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(n)),u&&c.searchParams.append("utm",u),h&&c.searchParams.append("referrer",h);let p=["data-size","data-width","data-text","data-button-type","data-shape","data-layout","data-max-rows","data-use-continue-as","data-type","data-theme","data-logo_alignment","data-locale"];
3713return Array.from(e.attributes).forEach(e=>{p.includes(e.nodeName)?c.searchParams.append(e.nodeName,e.nodeValue):t.setAttribute("id"===e.nodeName?"data-id":e.nodeName,e.nodeValue)}),c.toString()}_decodeToken(e){try{let t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),i=4-t.length%4,s=4===i?t:t+"=".repeat(i);return JSON.parse(atob(s))}catch(e){return null}}_handleQualifyingQuestionsModal(e){if(e&&this.window.luxuryPresence&&this.window.luxuryPresence.qualifyingQuestionsModal){let t=this._decodeToken(e);t&&t.email&&this.window.luxuryPresence.qualifyingQuestionsModal.showModal(t.email,"Google Sign On")}}}(A,window,document),R=new class extends i{constructor(e,t,i){super(e,t,i),this.showModal=this.showModal.bind(this),this.hasModalBeenSubmitted=this.hasModalBeenSubmitted.bind(this),this.modalId="qualifying-questions-modal",this.cookieKey="qualifyingQuestionsModalSubmitted",this.qualifyingQuestionsModalEnabled=!0,this.eventListeners=[],this.timeouts=[]}initialize(e={}){this.qualifyingQuestionsModalEnabled=e.qualifyingQuestionsModalEnabled??this.qualifyingQuestionsModalEnabled,this.qualifyingQuestionsModalEnabled&&this.attachModalCloseListeners()}destroy(){this.eventListeners.forEach(({element:e,event:t,handler:i})=>{e&&e.removeEventListener&&e.removeEventListener(t,i)}),this.timeouts.forEach(e=>{clearTimeout(e)}),this.restoreBodyScroll(),this.eventListeners=[],this.timeouts=[]}hasModalBeenSubmitted(){return"true"===this.getCookie(this.cookieKey)}setModalSubmittedCookie(){this.setCookie(this.cookieKey,"true",365)}showModal(e,t){!this.qualifyingQuestionsModalEnabled||this.hasModalBeenSubmitted()||(this.updateEmailValue(e),this.updateTriggerSourceValue(t),this.showModalElement())}getModalElement(){let e=this.document.getElementById(this.modalId);return e||console.error("Modal element not found:",this.modalId),e}updateEmailValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector('input[name="email"]');i&&"string"==typeof e&&(i.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector(`#${this.modalId}-triggerSource`);i&&"string"==typeof e&&(i.value=e)}showModalElement(){let e=this.getModalElement();e&&(e.style.display="flex",this.blockBodyScroll())}getCookie(e){let t=`; ${this.document.cookie}`.split(`; ${e}=`);return 2===t.length?decodeURIComponent(t.pop().split(";").shift()):null}setCookie(e,t,i){let s="";if(i){let e=new Date;e.setTime(e.getTime()+864e5*i),s=`; expires=${e.toUTCString()}`}let r="; path=/; SameSite=Lax";this.window&&this.window.location&&"https:"===this.window.location.protocol&&(r+="; Secure"),this.document.cookie=`${e}=${encodeURIComponent(t||"")}${s}${r}`}blockBodyScroll(){this._prevOverflow=this.document.body.style.overflow,this.document.body.style.overflow="hidden"}restoreBodyScroll(){this.document.body.style.overflow=this._prevOverflow||"",this._prevOverflow=null}attachModalCloseListeners(){let e=this.getModalElement();if(!e)return;let t=this.document.getElementById(`${this.modalId}-form`);if(t){let i=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",i),this.eventListeners.push({element:t,event:"formsubmitted",handler:i})}let i=e.querySelector('[data-dismiss="modal"]');if(i){let t=()=>{e.style.display="none",this.restoreBodyScroll()};i.addEventListener("click",t),this.eventListeners.push({element:i,event:"click",handler:t})}let s=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",s),this.eventListeners.push({element:e,event:"click",handler:s})}}(A,window,document),B=new class extends i{constructor(e,t,i){super(e,t,i),this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null,this.validationCacheDuration=3e5}destroy(){this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null}async validateSession(e={}){let{useCache:t=!0}=e;if(t&&null!==this.lastValidationResult&&this.lastValidationTime&&Date.now()-this.lastValidationTime<this.validationCacheDuration)return this.lastValidationResult;if(this.isValidating)return null!==this.lastValidationResult&&this.lastValidationResult;this.isValidating=!0;let i=` 3714 query { 3715 validSession { 3716 success 3717 } 3718 } 3719 `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:i})});if(!e.ok)return console.error("SessionController: HTTP error during session validation",e.status),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let t=await e.json();if(t.errors)return this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let s=t.data?.validSession?.success===!0;return this.lastValidationResult=s,this.lastValidationTime=Date.now(),s}catch(e){return console.error("SessionController: Error validating session",e),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1}finally{this.isValidating=!1}}clearCache(){this.lastValidationResult=null,this.lastValidationTime=null}}(A,window,document),O=new class extends i{constructor(e,t,i){super(e,t,i),this.consentListener=null,this.eventName=null}destroy(){this.consentListener&&this.eventName&&(this.document.removeEventListener(this.eventName,this.consentListener),this.consentListener=null)}loadScript(){this.document.getElementById("posthog-script")||this.window.luxuryPresence.eventBus.initialize({enabled:this.config.eventBus?.enabled}),this.document.getElementById("divolte-script")||this.window.luxuryPresence.divolte.initialize({})}removeScripts(){this.window.luxuryPresence?.eventBus?.destroy?.(),this.window.luxuryPresence?.divolte?.destroy?.(),this.document.getElementById("posthog-script")?.remove(),this.document.getElementById("divolte-script")?.remove()}async initialize(e={}){let t=p[e.provider];if(!t)return;this.eventName=t.eventName;let i=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||i)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(A,window,document),V=new class extends i{destroy(){}transformVariables(e,t){let i;return g(i={...t},["testimonialId"]),y(i,["testimonialId"],"testimonialIds"),0===i.limit&&delete i.limit,(void 0===i.limit||null===i.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(i.limit=50),("agents"===e||"agentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(i.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(i),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":g(e,["testimonialIds"]);break;case"agents":case"agentsCount":g(e,["officeId","teamId","developmentId","agentIds","tags"]),y(e,["officeId"],"officeIds"),y(e,["teamId"],"teamIds"),y(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":g(e,["neighborhoodIds","neighborhoodId"]),y(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":g(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),y(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":g(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
3719spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>y(e,[t],t)),y(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),y(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),y(e,["networkId"],"networkId"),y(e,["propertyId"],"propertyIds"),["salesPriceGTE","salesPriceLTE","leasePriceGTE","leasePriceLTE","livingSpaceSizeGTE","livingSpaceSizeLTE"].forEach(t=>{null!=e[t]&&(e[t]=Math.trunc(Number(e[t])))});break;case"posts":case"postsCount":g(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),y(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":g(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),y(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":g(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),y(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":g(e,["officeId","officeIds","tags"]),y(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":g(e,["teamId","teamIds"]),y(e,["teamId"],"teamIds");break;case"pois":g(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(i,e),i}transformResponse(e,t){return"agent"===e?E(t,f):"agents"===e||"agentsCount"===e?I(t,w):"neighborhood"===e?E(t,v):"neighborhoods"===e||"neighborhoodsCount"===e?I(t,b):"development"===e?E(t,S):"developments"===e||"developmentsCount"===e?I(t,_):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}}(A,window,document);function D(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}D("config",A),D("modals",L),D("buttons",$),D("validation",x),D("contactForms",T),D("mapApiLoader",k),D("pagination",C),D("expandSliders",M),D("divolte",P),D("eventBus",U),D("oauth",N),D("qualifyingQuestionsModal",R),D("session",B),D("consent",O),D("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!t.hvStepTwoCaptureEnabled&&!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),D("routerApi",V),window.luxuryPresence.formatSliderPriceRange=C.formatSliderPriceRange.bind(C),window.luxuryPresence.formatSliderAreaRange=C.formatSliderAreaRange.bind(C),window.luxuryPresence.getSearchFormValues=C.getSearchFormValues.bind(C),window.luxuryPresence.handlebarsHelpersFactory=function(t){var i;return((i=e)&&i.__esModule?i.default:i)(t,{isEqual:(e,t)=>e==t})}})(); 3720//# sourceMappingURL=lp-sdk.js.map 3721 3722 </script>
3722 3723 3724
3724<script> 3725 var lpGlobalInitialized = false; 3726 3727 function lpGlobalInit () { 3728 if (lpGlobalInitialized) { 3729 return; 3730 } 3731 lpGlobalInitialized = true; 3732 // Initialize wow animation plugin only according to turbolinks 3733 var wow; 3734 if (window.WOW) { 3735 wow = new WOW({ 3736 animateClass: 'animated', 3737 offset: wowOffset, 3738 live: false, 3739 callback: function(box) {} 3740 }); 3741 } 3742 // Initialize handlebar helpers only once 3743 function handlebarsInit() { 3744 if (!window.Handlebars) { 3745 return; 3746 } 3747 HandlebarsIntl.registerWith(Handlebars); 3748 Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars)); 3749 } 3750 3751 handlebarsInit(); 3752 3753 var modalContentUrl = "/modals.html"; 3754 const modalsContainer = document.getElementById('modals'); 3755 if (modalsContainer) { 3756 fetch(modalContentUrl).then(function(res) { 3757 if (!res.ok) { 3758 throw new Error(`HTTP error! Status: ${res.status}`); 3759 } 3760 return res.text(); 3761 }).then(function(resultText) { 3762 modalsContainer.innerHTML = resultText; 3763 3764 // now we need to execute all script elements 3765 Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) { 3766 const script = document.createElement("script"); 3767 script.text = s.innerHTML; 3768 Array.from(s.attributes).forEach(function (a) { 3769 script.setAttribute(a.name, a.value); 3770 }) 3771 s.parentNode.replaceChild(script, s); 3772 }); 3773 3774 try { 3775 window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes); 3776 window.luxuryPresence.contactForms.initialize({ selector: '#modals' }); 3777 window.luxuryPresence.validation.initialize({ selector: '#modals' }); 3778 window.luxuryPresence.oauth.initialize({ 3779 googleSignOnEnabled: true, 3780 iframe: false }); 3781 } catch (e) { 3782 console.log(e); 3783 } 3784 document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => { 3785 closeModalBtn.addEventListener('click', function() { 3786 window.lpUI.hideClosestModal(closeModalBtn); 3787 }); 3788 }); 3789 }).catch((e) => console.log(e)); 3790 } 3791 /* Initialize Luxury Presence SDK */ 3792 try { 3793 window.luxuryPresence.config.setCompany("5f42fdf3-775e-422d-bb6f-1f7748a181a2", {}); 3794 window.luxuryPresence.config.setWebsite("52ee6f11-4e7f-4972-85fe-8e9497b3e0a1", { 3795 myhomeDashboardEnabled: true, 3796 mlsEnabled: true, 3797 hstValuationRedirectEnabled: true, 3798 hvStepTwoCaptureEnabled: false 3799 }); 3800 const url = new URL(window.location.href); 3801 const shareId = url.searchParams.get('shareId'); 3802 window.luxuryPresence.config.setPage("4b2a83c9-78ff-4528-887d-40224fb7968c", { 3803 sourceResource: "", 3804 pageElementId: "", 3805 pageQueryVariables: {}, 3806 shareId: "", 3807 }); 3808 window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {}); 3809 window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {}); 3810 window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {}); 3811 window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {}); 3812 window.luxuryPresence.config.setEventBus({ 3813 enabled: true, 3814 apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr", 3815 url: "https://p.luxurypresence.com", 3816 }); 3817 window.luxuryPresence.config.setTemplateId("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {}); 3818 window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {}); 3819 window.luxuryPresence.buttons.initialize({}); 3820 window.luxuryPresence.consent.initialize({ provider: 'lp-consent' }); 3821 window.luxuryPresence.contactForms.initialize({}); 3822 window.luxuryPresence.validation.initialize({}); 3823 window.luxuryPresence.expandSliders.initialize({}); 3824 window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false }); 3825 window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true }); 3826 } catch (e) { 3827 console.log(e); 3828 } 3829 3830 /* Inject Section Specific Javascript */ 3831 try { 3832(function init(sectionDomId) { 3833 const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content'); 3834 if (disclaimerLabel) { 3835 const input = disclaimerLabel.querySelector('input'); 3836 if (input) { 3837 input.setAttribute('id', `${sectionDomId}-termsAccepted`); 3838 input.value = 'true'; 3839 const label = document.createElement('label'); 3840 label.setAttribute('for', `${sectionDomId}-termsAccepted`); 3841 label.classList.add('lp-visually-hidden'); 3842 label.textContent = 'Opt in/Disclaimer Consent:'; 3843 disclaimerLabel.prepend(label); 3844 } 3845 } 3846 function setHttp(link) { 3847 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 3848 link = 'https://' + link; 3849 } 3850 return link; 3851 } 3852 const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link'); 3853 socialLinks.forEach(linkElement => { 3854 const href = linkElement.getAttribute('href'); 3855 if (href) { 3856 linkElement.setAttribute('href', setHttp(href)); 3857 } 3858 }); 3859 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 3860 if (redirectLink.length) { 3861 const rawHref = setHttp(redirectLink.attr('href')); 3862 let formEvent; 3863 if (rawHref) { 3864 formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset'; 3865 $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () { 3866 redirectLink.attr('href', rawHref); 3867 redirectLink[0].click(); 3868 }); 3869 } 3870 } 3871})('modal-global-contact-us'); 3872} catch(e) { 3873console.log(e); 3874} 3875 3876 try { 3877(function init(sectionDomId) { 3878 const $section = $('#' + sectionDomId); 3879 const $hamburger = $section.find('.hamburger-component'); 3880 function onSideMenuShow() { 3881 if (!$hamburger.hasClass('active')) { 3882 $hamburger.addClass('active'); 3883 } 3884 } 3885 function onSideMenuHide() { 3886 $hamburger.removeClass('active'); 3887 } 3888 const $window = $(window); 3889 $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow); 3890 $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide); 3891 const $subContainers = $section.find('.navigation__item.sub-nav-container'); 3892 $subContainers.hover(function () { 3893 $(this).find('.sub-nav').addClass('visible'); 3894 }, function () { 3895 $(this).find('.sub-nav').removeClass('visible'); 3896 }); 3897 $window.on('click.lpui-auto-clean', function () { 3898 $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown'); 3899 }); 3900 let fixedWidth = 0; 3901 const rightPad = 20; 3902 function fixSubsPosition() { 3903 const wWidth = window.innerWidth; 3904 if (innerWidth === fixedWidth) { 3905 return; 3906 } 3907 fixedWidth = wWidth; 3908 $subContainers.each(function () { 3909 const $sub = $(this).find('.sub-nav'); 3910 $sub[0].style.right = '';
3911 const sRect = $sub[0].getBoundingClientRect(); 3912 const sRight = sRect.left + sRect.width; 3913 if (sRight > wWidth - rightPad) { 3914 const parentRect = $sub[0].offsetParent.getBoundingClientRect(); 3915 const parentRight = parentRect.left + parentRect.width; 3916 $sub[0].style.right = `${parentRight - wWidth + rightPad}px`; 3917 } 3918 }); 3919 } 3920 var debouncer; 3921 $window.on('resize.lpui-auto-clean', function () { 3922 clearTimeout(debouncer); 3923 debouncer = setTimeout(fixSubsPosition, 500); 3924 }); 3925 fixSubsPosition(); 3926 if ($('.property-intro').length || $('.property-intro-2').length) { 3927 $('nav').addClass('dark-opening'); 3928 $("#global-navbar").css({ 3929 "background-color": "rgb(26, 26, 26)", 3930 "color": "rgb(255, 255, 255)" 3931 }); 3932 } 3933 function initAutoTruncateMenu() { 3934 const $navbar = $section.find('.navbar'); 3935 const $navList = $section.find('.navigation > ul'); 3936 if (!$navbar.length || !$navList.length) { 3937 return; 3938 } 3939 const $logo = $section.find('.logo'); 3940 const $buttonsWrapper = $section.find('.buttons-wrapper'); 3941 const $allItems = $navList.children('.navigation__item'); 3942 const $phoneItem = $allItems.filter(function () { 3943 return $(this).find('a[href^="tel:"]').length > 0; 3944 }); 3945 const $menuItems = $allItems.not($phoneItem); 3946 if (!$menuItems.length) { 3947 return; 3948 } 3949 const buffer = 8; 3950 function measureFixedWidth() { 3951 let width = buffer; 3952 if ($logo.length) { 3953 width += $logo.outerWidth(true) || 0; 3954 } 3955 if ($buttonsWrapper.length) { 3956 width += $buttonsWrapper.outerWidth(true) || 0; 3957 } 3958 if ($phoneItem.length) { 3959 width += $phoneItem.outerWidth(true) || 0; 3960 } 3961 return width; 3962 } 3963 function truncateMenu() { 3964 if (!$navList.is(':visible')) { 3965 return; 3966 } 3967 $menuItems.css('display', ''); 3968 const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth(); 3969 let widthSoFar = 0; 3970 let overflowed = false; 3971 $menuItems.each(function () { 3972 const $item = $(this); 3973 if (overflowed) { 3974 $item.css('display', 'none'); 3975 return; 3976 } 3977 widthSoFar += $item.outerWidth(true); 3978 if (widthSoFar > availableWidth) { 3979 $item.css('display', 'none'); 3980 overflowed = true; 3981 } 3982 }); 3983 } 3984 let truncateFrame; 3985 function scheduleTruncate() { 3986 if (truncateFrame) { 3987 return; 3988 } 3989 truncateFrame = window.requestAnimationFrame(function () { 3990 truncateFrame = null; 3991 truncateMenu(); 3992 }); 3993 } 3994 scheduleTruncate(); 3995 if (window.ResizeObserver) { 3996 const resizeObserver = new ResizeObserver(scheduleTruncate); 3997 resizeObserver.observe($navbar[0]); 3998 } else { 3999 $(window).on('resize.lpui-auto-truncate', scheduleTruncate); 4000 } 4001 $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate); 4002 $(window).on('load.lpui-auto-truncate', scheduleTruncate); 4003 if (document.fonts && document.fonts.ready) { 4004 document.fonts.ready.then(scheduleTruncate); 4005 } 4006 } 4007 initAutoTruncateMenu(); 4008})('global-navbar'); 4009} catch(e) { 4010console.log(e); 4011} 4012 try { 4013(function init(sectionDomId, options) { 4014 var elementSelector = options.elementSelector || 'nav'; 4015 var element = document.querySelector(elementSelector); 4016 var sections = document.querySelectorAll('body > section'); 4017 var subNavContainers = element.querySelectorAll('.sub-nav'); 4018 var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor; 4019 var backgroundColorScroll = options.backgroundColorScroll || '#191919'; 4020 var fontColor = options.fontColor || '#fff'; 4021 var fontColorScroll = options.fontColorScroll || '#000'; 4022 var didScroll = false; 4023 var lastScrollTop = 0; 4024 var delta = 5; 4025 4026 // eslint-disable-next-line sonarjs/no-collapsible-if 4027 if (wow) { 4028 // Wowjs might not trigger for position fixed elements 4029 if (window.scrollY > 0) { 4030 element.querySelectorAll('.wow').forEach(el => wow.show(el)); 4031 } 4032 } 4033 function adjustNavPinState() { 4034 // Remove 'visible' class from all subNavContainers 4035 for (let i = 0; i < subNavContainers.length; i++) { 4036 subNavContainers[i].classList.remove('visible'); 4037 } 4038 if (window.scrollY > 0) { 4039 element.style.backgroundColor = backgroundColorScroll; 4040 element.style.color = fontColorScroll; 4041 element.classList.add('scroll'); 4042 } else {
4043 element.style.backgroundColor = initialBackgroundColor; 4044 element.style.color = fontColor; 4045 element.classList.remove('scroll'); 4046 } 4047 } 4048 adjustNavPinState(); 4049 function onScroll() { 4050 didScroll = true; 4051 } 4052 window.addEventListener('scroll', onScroll); 4053 4054 // eslint-disable-next-line 4055 var debounceInterval = setInterval(() => { 4056 if (didScroll) { 4057 // eslint-disable-next-line 4058 hasScrolled(); 4059 didScroll = false; 4060 } 4061 }, 250); 4062 function hasScrolled() { 4063 adjustNavPinState(); 4064 // eslint-disable-next-line 4065 var navbarHeight = element.offsetHeight; 4066 // eslint-disable-next-line 4067 var st = window.scrollY; 4068 4069 // Make sure they scroll more than delta 4070 if (Math.abs(lastScrollTop - st) <= delta) { 4071 return; 4072 } 4073 if (st > lastScrollTop && st > navbarHeight) { 4074 // Scroll Down 4075 element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`; 4076 document.documentElement.style.setProperty('--global-header-height', '0px'); 4077 4078 // Some sections "follow" the navbar with class sticky (i.e. Producer search) 4079 sections.forEach(section => { 4080 if (section.classList.contains('sticky')) { 4081 section.style.top = '0px'; 4082 } 4083 }); 4084 } else { 4085 // Scroll Up 4086 // eslint-disable-next-line 4087 if (st + window.innerHeight < document.documentElement.scrollHeight) { 4088 element.style.transform = `translateY(0) scaleY(1)`; 4089 document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`); 4090 sections.forEach(section => { 4091 if (section.classList.contains('sticky')) { 4092 section.style.top = `${navbarHeight}px`; 4093 } 4094 }); 4095 } 4096 } 4097 lastScrollTop = st; 4098 } 4099})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}")); 4100} catch(e) { 4101console.log(e); 4102} 4103 try { 4104(function init(sectionDomId) { 4105 var sidemenu = $('#' + sectionDomId); 4106 sidemenu.on('lpui-sidemenu-show.lpui-auto-clean', function () { 4107 window.lpUI.requestScrollLock(sectionDomId); 4108 }); 4109 $(window).on('lpui-sidemenu-hide.lpui-auto-clean', function () { 4110 window.lpUI.releaseScrollLock(sectionDomId); 4111 }); 4112 $(window).click(function (e) { 4113 let targetContactForm = $(e.target).closest('#modal-global-contact-us').length; 4114 let targetSideMenu = $(e.target).closest('.sidemenu').length; 4115 let targetContactItem = $(e.target).closest('[data-type="CONTACT_US"]').length; 4116 let targetHamburger = $(e.target).closest('.hamburger-component').length; 4117 if (!(targetContactForm || targetSideMenu || targetContactItem || targetHamburger)) { 4118 $('body').removeClass('locked'); 4119 $('.hamburger').removeClass('active'); 4120 $('.sidemenu').removeClass('visible'); 4121 $('#modal-global-contact-us').removeClass('visible'); 4122 } 4123 }); 4124})('global-sidemenu'); 4125} catch(e) { 4126console.log(e); 4127} 4128 4129 try { 4130(function init(footerId) { 4131 var textContent = $(".text_content_wrap p").text().trim().length; 4132 const socialLinks = $(`#${footerId} .lp-socials__link`); 4133 if (textContent < 1) { 4134 $(".text_content_wrap").remove(); 4135 $(".second_text_footer").css({ 4136 'margin-bottom': 0 4137 }); 4138 } 4139 if (socialLinks.length > 0) { 4140 socialLinks.attr('data-wow-offset', '10'); 4141 } 4142 if ($(window).width() > 1280) { 4143 let footer = document.querySelector("#" + footerId); 4144 let copyrightElem = footer.querySelector(".copy_zone"); 4145 if (copyrightElem) { 4146 copyrightElem.style.whiteSpace = "nowrap"; 4147 let nowrapElemWidth = copyrightElem.clientWidth; 4148 copyrightElem.style.whiteSpace = ""; 4149 let normalElemWidth = copyrightElem.clientWidth; 4150 if (nowrapElemWidth > normalElemWidth) { 4151 footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto"); 4152 } 4153 } 4154 } 4155 const form = $("#" + footerId).find("form"); 4156 const redirectLink = $('#' + footerId + ' .redirect-link'); 4157 form.on("reset", function () { 4158 redirectPage(redirectLink); 4159 }); 4160 function redirectPage(link) { 4161 if (link.length) { 4162 const rawHref = link.attr('href'); 4163 link.attr('href', setHttp(rawHref)); 4164 link[0].click(); 4165 } 4166 } 4167 function setHttp(link) { 4168 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 4169 link = 'http://' + link; 4170 } 4171 return link; 4172 } 4173})('global-footer'); 4174} catch(e) { 4175console.log(e); 4176} 4177 4178 try { 4179(function init(sectionDomId) { 4180 var _section = $('#' + sectionDomId); 4181 var _footer = document.getElementById('global-footer'); 4182 const redirectLink = _section.find('.js-redirect-link'); 4183 function setHttp(link) { 4184 if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) { 4185 link = 'https://' + link; 4186 } 4187 return link; 4188 } 4189 function redirectPage(link) { 4190 if (link.length) { 4191 window.location.href = setHttp(link.attr('href')); 4192 } 4193 } 4194 const emailInput = _section.find('.js-email-input'); 4195 const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/; 4196 emailInput.on('input', function () { 4197 if (emailRegex.test(this.value)) { 4198 this.setCustomValidity(''); 4199 } else { 4200 this.setCustomValidity('Please enter a valid email address.'); 4201 } 4202 this.reportValidity(); 4203 }); 4204 _section.find('input[name="name"]').on("keyup", function () { 4205 if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") { 4206 this.setCustomValidity("Please input your first name and last name."); 4207 } else { 4208 this.setCustomValidity(""); 4209 } 4210 }); 4211 _section.find('form').on("reset", function () { 4212 $(this).addClass("show-success"); 4213 redirectPage(redirectLink); 4214 }); 4215 $(window).scroll(function () { 4216 if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible'); 4217 }); 4218 _section.find('.close-btn, .connect-btn').click(function () { 4219 _section.find('.pop-up').toggle(); 4220 _section.find('.btn-holder').toggle(); 4221 }); 4222 if (!_footer) return; 4223 const observer = new IntersectionObserver(entries => {
4224 entries.forEach(entry => { 4225 if (entry.isIntersecting) _section.hide();else _section.show(); 4226 }); 4227 }, { 4228 threshold: 0.1 4229 }); 4230 observer.observe(_footer); 4231 function selectToDropdown(selectItem) { 4232 let customDropdown = ` 4233 <div class="custom-select" role="presentation"> 4234 <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button> 4235 <div class="custom-select-menu" style="display: none;max-height: none;"> 4236 <div class="custom-select-content"> 4237 </div> 4238 </div> 4239 </div>`; 4240 $(customDropdown).insertAfter(selectItem); 4241 let $dropdown = $($(selectItem).next()); 4242 let $dropdownToggle = $dropdown.find(".custom-select-toggle"); 4243 let $dropdownMenu = $dropdown.find(".custom-select-menu"); 4244 let $dropdownContent = $dropdown.find(".custom-select-content"); 4245 $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select"); 4246 $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom"); 4247 $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id")); 4248 appendOptionButtons(selectItem, $dropdownContent); 4249 $(selectItem).removeClass().addClass("sr-only"); 4250 var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text(); 4251 $dropdownToggle.html(toggleText); 4252 $dropdown.on("click", ".custom-select-item", function (e) { 4253 if ($(this).hasClass("is-disabled")) return; 4254 let elementNumber = $(this).index(); 4255 let $originalSelect = $(this).closest(".custom-select").siblings("select"); 4256 let $linkedOption = $originalSelect.find("option").eq(elementNumber); 4257 if (!$linkedOption.prop("selected")) { 4258 $linkedOption.prop("selected", true); 4259 $originalSelect.change(); 4260 $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected"); 4261 $dropdownToggle.html($(this).html()); 4262 closeSelectMenu($(this).closest(".custom-select-menu")); 4263 } 4264 $dropdownToggle.removeClass("is-placeholder"); 4265 }); 4266 function convertOptionToButton(option) { 4267 var optionText = $(option).text(); 4268 var optionValue = $(option).attr("value") || $(option).text(); 4269 var optionIsDisabled = $(option).prop("disabled"); 4270 var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`; 4271 return outputButton; 4272 } 4273 function appendOptionButtons(selectItem, appendTarget) { 4274 $(selectItem).find("option").each(function () { 4275 let currentButton = convertOptionToButton(this); 4276 $(appendTarget).append(currentButton); 4277 }); 4278 } 4279 function showSelectMenu(selectMenu) { 4280 var customSelect = $(selectMenu).closest(".custom-select")[0]; 4281 $(customSelect).addClass("open"); 4282 $(selectMenu).slideDown(); 4283 } 4284 function closeSelectMenu(selectMenu) { 4285 var customSelect = $(selectMenu).closest(".custom-select")[0]; 4286 $(customSelect).removeClass("open"); 4287 $(selectMenu).slideUp(); 4288 } 4289 $dropdown.on("click", ".custom-select-toggle", function (e) { 4290 var $customSelect = $(this).closest(".custom-select"); 4291 var selectMenu = $customSelect.find(".custom-select-menu")[0]; 4292 if ($customSelect.hasClass("open")) { 4293 closeSelectMenu(selectMenu); 4294 } else { 4295 showSelectMenu(selectMenu); 4296 } 4297 }); 4298 $(document).on("click", function (e) { 4299 if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) { 4300 $(".custom-select.open").each(function () { 4301 var selectMenu = $(this).find(".custom-select-menu")[0]; 4302 closeSelectMenu(selectMenu); 4303 }); 4304 } 4305 }); 4306 } 4307 $(".pop-up select[name='interest']").each(function () { 4308 selectToDropdown(this); 4309 }); 4310})('global-mobile-contact'); 4311} catch(e) { 4312console.log(e); 4313} 4314 4315 try { 4316(function init(sectionDomId) { 4317 var $section = $('#' + sectionDomId); 4318 var $carousel = $section.find('.collection'); 4319 var currentPreTitle = ''; 4320 var currentTitle = ''; 4321 const $videoWrap = $section.find('.full-screen-video-component > .video-wrapper'); 4322 if ($videoWrap.length) { 4323 const $video = $videoWrap.find('video'); 4324 $video.each(function () { 4325 var v = this; 4326 if (v.readyState > 0) { 4327 $videoWrap.addClass('playing'); 4328 } else { 4329 v.addEventListener('canplay', function () { 4330 $videoWrap.addClass('playing'); 4331 }, { 4332 once: true 4333 }); 4334 } 4335 }); 4336 } 4337 $('#' + sectionDomId + ' .collection').slick({ 4338 dots: $('#' + sectionDomId + ' .collection').find('.item').length > 1 ? true : false,
4339 arrows: false, 4340 speed: 0, 4341 fade: true, 4342 autoplay: true, 4343 autoplaySpeed: 6000, 4344 pauseOnHover: false, 4345 pauseOnFocus: false 4346 }); 4347 $carousel.on('beforeChange', function () { 4348 currentPreTitle = $(this).find('.slick-current').find('.lp-text--pretitle').text(); 4349 currentTitle = $(this).find('.slick-current').find('.lp-h1').text(); 4350 $(this).find('.slick-current').find('.lp-h1').addClass('animation'); 4351 $(this).find('.slick-current').find('.lp-text--pretitle').addClass('animation'); 4352 }); 4353 $carousel.on('afterChange', function () { 4354 if (currentPreTitle === $(this).find('.slick-current').find('.lp-text--pretitle').text()) { 4355 $(this).find('.slick-current').find('.lp-text--pretitle').removeClass('animation'); 4356 } 4357 if (currentTitle === $(this).find('.slick-current').find('.lp-h1').text()) { 4358 $(this).find('.slick-current').find('.lp-h1').removeClass('animation'); 4359 } 4360 }); 4361})('section-651ea616-22a3-4cc7-8b1c-e4bd8fb300d8', 'undefined'); 4362} catch(e) { 4363console.log(e); 4364} 4365 try { 4366(function init(sectionDomId) { 4367 var $section = $('#' + sectionDomId); 4368 var $carousel = $section.find('.collection'); 4369 var currentPreTitle = ''; 4370 var currentTitle = ''; 4371 const $videoWrap = $section.find('.full-screen-video-component > .video-wrapper'); 4372 if ($videoWrap.length) { 4373 const $video = $videoWrap.find('video'); 4374 $video.each(function () { 4375 var v = this; 4376 if (v.readyState > 0) { 4377 $videoWrap.addClass('playing'); 4378 } else { 4379 v.addEventListener('canplay', function () { 4380 $videoWrap.addClass('playing'); 4381 }, { 4382 once: true 4383 }); 4384 } 4385 }); 4386 } 4387 $('#' + sectionDomId + ' .collection').slick({ 4388 dots: $('#' + sectionDomId + ' .collection').find('.item').length > 1 ? true : false, 4389 arrows: false, 4390 speed: 0, 4391 fade: true, 4392 autoplay: true, 4393 autoplaySpeed: 6000, 4394 pauseOnHover: false, 4395 pauseOnFocus: false 4396 }); 4397 $carousel.on('beforeChange', function () { 4398 currentPreTitle = $(this).find('.slick-current').find('.lp-text--pretitle').text(); 4399 currentTitle = $(this).find('.slick-current').find('.lp-h1').text(); 4400 $(this).find('.slick-current').find('.lp-h1').addClass('animation'); 4401 $(this).find('.slick-current').find('.lp-text--pretitle').addClass('animation'); 4402 }); 4403 $carousel.on('afterChange', function () { 4404 if (currentPreTitle === $(this).find('.slick-current').find('.lp-text--pretitle').text()) { 4405 $(this).find('.slick-current').find('.lp-text--pretitle').removeClass('animation'); 4406 } 4407 if (currentTitle === $(this).find('.slick-current').find('.lp-h1').text()) { 4408 $(this).find('.slick-current').find('.lp-h1').removeClass('animation'); 4409 } 4410 }); 4411})('section-347995a3-87e3-4850-b0dc-6bb0b48c0f26', 'undefined'); 4412} catch(e) { 4413console.log(e); 4414} 4415 try { 4416(function init(sectionDomId) {})('section-91775ee2-529d-4065-96cf-a8a6b6c74816', 'undefined'); 4417} catch(e) { 4418console.log(e); 4419} 4420 try { 4421(function init(sectionDomId) {})('section-f5b03c2e-8c66-4436-ab4b-ac53c97fc6fe', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":4,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 4422} catch(e) { 4423console.log(e); 4424} 4425 try { 4426(function init(sectionDomId) {})('section-715ee9c1-a663-4832-8859-7d281d403b7e', 'undefined'); 4427} catch(e) { 4428console.log(e); 4429} 4430 try { 4431(function init(sectionDomId) { 4432 var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap'); 4433 var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top')); 4434 var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom')); 4435 var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div'); 4436 function resizeImage() { 4437 if (window.matchMedia('(min-width: 993px)').matches) { 4438 imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom); 4439 } 4440 } 4441 $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () { 4442 if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) { 4443 $(this).toggleClass('active'); 4444 } 4445 }); 4446 resizeImage(); 4447 $(window).on('resize.lpui-auto-clean', resizeImage); 4448})('section-e3d37b7b-d618-4106-89c3-32cd80ff0f9c', 'undefined'); 4449} catch(e) { 4450console.log(e); 4451} 4452 try { 4453(function init(sectionDomId) { 4454 var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap'); 4455 var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top')); 4456 var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom')); 4457 var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div'); 4458 function resizeImage() { 4459 if (window.matchMedia('(min-width: 993px)').matches) { 4460 imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom); 4461 } 4462 } 4463 $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () { 4464 if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) { 4465 $(this).toggleClass('active'); 4466 } 4467 }); 4468 resizeImage(); 4469 $(window).on('resize.lpui-auto-clean', resizeImage); 4470}
4470)('section-91ce99b5-215e-4cd3-ba10-0b7a9646adcc', 'undefined'); 4471} catch(e) { 4472console.log(e); 4473} 4474 try { 4475(function init(sectionDomId) { 4476 const $section = $('#' + sectionDomId); 4477 if ($section.find('.parallax').length) $section.addClass('parallax-enabled'); 4478 if ($section.find('.video-wrapper').length) $section.addClass('video'); 4479 slider = $section.find('.js-slider'); 4480 var autoscroll = slider.attr('data-autoscroll') === 'true'; 4481 var autoscrollInterval = parseInt(slider.attr('data-autoscroll-interval'), 10) || 6; 4482 if (slider.length > 0) { 4483 slider.slick({ 4484 dots: false, 4485 fade: true, 4486 speed: 300, 4487 arrows: true, 4488 infinite: true, 4489 nextArrow: ".featured-testimonials .slick-links-nav .next", 4490 prevArrow: ".featured-testimonials .slick-links-nav .prev", 4491 slidesToShow: 1, 4492 adaptiveHeight: true, 4493 slidesToScroll: 1, 4494 autoplay: autoscroll, 4495 autoplaySpeed: autoscrollInterval * 1000 4496 }); 4497 } 4498})('section-a8481ced-57f6-4e6a-8ec4-6e43cf7d9297', JSON.parse("{\"resource\":\"testimonials\",\"useRouterApi\":true,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":8,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 4499} catch(e) { 4500console.log(e); 4501} 4502 try { 4503(function init(sectionDomId) {})('section-130f6a02-234e-41ce-b774-aa08832c94ee', 'undefined'); 4504} catch(e) { 4505console.log(e); 4506} 4507 try { 4508(function init(sectionDomId, options) { 4509 let section = null; 4510 switch (sectionDomId) { 4511 case 'NAVBAR': 4512 section = document.querySelector('body > nav, #global-navbar'); 4513 break; 4514 case 'FOOTER': 4515 section = document.querySelector('body > footer, #global-footer'); 4516 break; 4517 case 'SIDEMENU': 4518 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 4519 break; 4520 case 'CONTACT': 4521 section = document.querySelector('#modal-global-contact-us'); 4522 break; 4523 case 'MOBILE_CONTACT': 4524 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 4525 break; 4526 case 'SUBSCRIBE': 4527 // Subscribe Not Implemented 4528 section = null; 4529 break; 4530 case 'ACCOUNT': 4531 // Account Not Implemented 4532 section = null; 4533 break; 4534 default: 4535 section = document.querySelector('#' + sectionDomId); 4536 } 4537 if (!section) { 4538 return; 4539 } 4540 4541 // Where content / items are rendered 4542 const dataContainer = section.querySelector('.data-container'); 4543 if (!dataContainer) { 4544 // no place to render items = no need to query server or do anything else 4545 return; 4546 } 4547 let variables = options.variables || {}; 4548 4549 // Some variables in options may not have been injected - remove 4550 Object.keys(variables).forEach(function (variableName) { 4551 if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) { 4552 delete variables[variableName]; 4553 } 4554 }); 4555 4556 // Merge page query variables 4557 if (options.usePageResource) { 4558 variables = { 4559 ...variables, 4560 ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource] 4561 }; 4562 } 4563 4564 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers 4565 // resolve the flag â fetchData reads the section stamp, aux fetches read 4566 // their own resource's stamp (auxUsesRouter). 4567 function apiUrl(useRouter) { 4568 return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl); 4569 } 4570 4571 // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's 4572 // (options.routerApiAux is stamped per aux resource server-side). 4573 function auxUsesRouter(resource) { 4574 return !!(options.routerApiAux && options.routerApiAux[resource]); 4575 } 4576 4577 // Pagination Executes on a Numbered Pagination Container 4578 // Or via a load more button 4579 let mode = 'BUTTONLESS_PAGINATION'; 4580 const container = section.querySelector('.pagination-container');
4581 const loadMoreButton = section.querySelector(options?.loadMoreSelector); 4582 if (container) { 4583 mode = 'NUMBERED_PAGINATION'; 4584 } 4585 if (loadMoreButton) { 4586 mode = 'LOAD_MORE_BUTTON'; 4587 } 4588 let searchContainer = section.querySelector('.search-container'); 4589 const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false; 4590 const eventPrefix = '__pagination-'; 4591 const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{ 4592 param: 'neighborhoodId', 4593 urlKey: 'neighborhood' 4594 }, { 4595 param: 'search', 4596 urlKey: 'search' 4597 }, { 4598 param: 'salesPriceGTE', 4599 urlKey: 'pricemin', 4600 formKey: 'priceMin', 4601 type: 'int' 4602 }, { 4603 param: 'salesPriceLTE', 4604 urlKey: 'pricemax', 4605 formKey: 'priceMax', 4606 type: 'int' 4607 }, { 4608 param: 'livingSpaceSizeGTE', 4609 urlKey: 'areamin', 4610 formKey: 'areaMin', 4611 type: 'int' 4612 }, { 4613 param: 'livingSpaceSizeLTE', 4614 urlKey: 'areamax', 4615 formKey: 'areaMax', 4616 type: 'int' 4617 }] : []); 4618 4619 // Total entries - initialized in first render 4620 let totalNumber = 0; 4621 const DefaultSearchParams = { 4622 page: 1 4623 }; 4624 searchFormParams.forEach(function (formParam) { 4625 DefaultSearchParams[formParam.formKey || formParam.param] = null; 4626 }); 4627 let searchParams = { 4628 ...DefaultSearchParams 4629 }; 4630 const offset = options.variables?.offset || 0; 4631 let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section; 4632 let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100; 4633 4634 // entries of per page 4635 // when query variables for a given section would't be filled options.pageSize can store 4636 // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value 4637 let pageSize = parseInt(options.pageSize, 10) || 9; 4638 4639 // Adding mobile pageRange support 4640 var NARROW_BREAKPOINT = 600; 4641 var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT; 4642 var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`); 4643 4644 // Page range (pages on both sides of the current page) 4645 var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0; 4646 var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2; 4647 var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange; 4648 4649 // Whether to display the 'Previous' button 4650 var showPrevious = true; 4651 4652 // Whether to display the 'Next' button 4653 var showNext = true; 4654 4655 // Whether to display the page buttons 4656 var showPageNumbers = true; 4657 4658 // 'Previous' text 4659 var prevText = options.prevText || '«'; 4660 4661 // 'Next' text 4662 var nextText = options.nextText || '»'; 4663 4664 // Ellipsis text 4665 var ellipsisText = '…'; 4666 var classPrefix = 'paginationjs'; 4667 4668 // Default active class 4669 var activeClassName = 'active'; 4670 4671 // Default disable class 4672 var disableClassName = 'disabled'; 4673 4674 // Pagination element's position in the container 4675 var position = 'bottom'; 4676 4677 // Whether to trigger pagination at initialization 4678 var triggerPagingOnInit = !options.skipInitialLoad; 4679 var showFirstOnEllipsisShow = true; 4680 var showLastOnEllipsisShow = true; 4681 4682 // Instantiated in init() 4683 var el = null; 4684 4685 // Controls scrollTop logic 4686 var firstRender = true; 4687 var renderBySearch = false; 4688 var disabled = false; 4689 4690 // Pagination script class selector 4691 var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script'; 4692 4693 // Property Specific Image Override if No Image 4694 var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage; 4695 4696 // Construct template 4697 var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || ''; 4698 var template = Handlebars.compile(templateHTML); 4699 4700 // Initialize 4701 init(); 4702 function init() { 4703 Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 4704 4705 // Append/prepend pagination element to the pagination container 4706 if (mode === 'NUMBERED_PAGINATION') { 4707 el = document.createElement('div'); 4708 el.className = 'paginationjs';
4709 container[position === 'bottom' ? 'append' : 'prepend'](el); 4710 } 4711 if (searchContainer) { 4712 initSearchContainer({ 4713 fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true', 4714 fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true', 4715 fetchOffices: searchContainer.dataset.fetchOffices === 'true', 4716 fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true' 4717 }, function () { 4718 syncSearchFormState(searchParams); 4719 }); 4720 } 4721 4722 // Bind events 4723 observer(); 4724 } 4725 function syncSearchFormState(params) { 4726 searchContainer.dispatchEvent(new CustomEvent('sync', { 4727 detail: params 4728 })); 4729 } 4730 function initSearchContainer(options, done) { 4731 var promises = []; 4732 if (options.fetchNeighborhoods) { 4733 promises.push(fetchAllNeighborhoods(function (neighborhoods) { 4734 searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', { 4735 detail: { 4736 data: neighborhoods.map(function (item) { 4737 return { 4738 value: item.id, 4739 label: item.name 4740 }; 4741 }) 4742 } 4743 })); 4744 })); 4745 } 4746 if (options.fetchPostCategories) { 4747 promises.push(fetchPostCategories(function (categories) { 4748 searchContainer.dispatchEvent(new CustomEvent('post-categories-data', { 4749 detail: { 4750 data: categories 4751 } 4752 })); 4753 })); 4754 } 4755 if (options.fetchOffices) { 4756 promises.push(fetchOffices(function (offices) { 4757 searchContainer.dispatchEvent(new CustomEvent('offices-data', { 4758 detail: { 4759 data: offices 4760 } 4761 })); 4762 })); 4763 } 4764 if (options.fetchRentalRates) { 4765 promises.push(fetchAllRentalRates(function (rentalRates) { 4766 searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', { 4767 detail: { 4768 data: rentalRates 4769 } 4770 })); 4771 })); 4772 } 4773 if (promises.length > 0) { 4774 Promise.all(promises).then(function () { 4775 done(); 4776 }); 4777 } else { 4778 // element's custom code is not executed yet, so we're scheduling callback to after element's code 4779 setTimeout(done); 4780 } 4781 } 4782 function fetchAllNeighborhoods(done) { 4783 var useRouter = auxUsesRouter('neighborhoods'); 4784 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same 4785 // args on both APIs (the federated neighborhoods field accepts 4786 // withProperties/withBlogPosts); only the selection set differs. 4787 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') + '}}'; 4788 var payload = {}; 4789 payload.offset = 0; 4790 payload.limit = 100; 4791 payload.companyId = variables.companyId; 4792 if (options.resource === 'properties') { 4793 payload.withProperties = { 4794 active: true 4795 }; 4796 ['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) { 4797 if (variables[field] !== undefined && variables[field] !== null) { 4798 payload.withProperties[field] = variables[field]; 4799 } 4800 }); 4801 } 4802 if (options.resource === 'posts') { 4803 payload.withBlogPosts = { 4804 active: true 4805 }; 4806 ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) { 4807 if (variables[field] !== undefined && variables[field] !== null) { 4808 payload.withBlogPosts[field] = variables[field]; 4809 } 4810 }); 4811 } 4812 4813 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4814 if (useRouter) { 4815 payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload); 4816 } 4817 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 4818 query: gqlQuery, 4819 variables: payload 4820 }).then(function (res) { 4821 var value = res.body.data && res.body.data.neighborhoods || {}; 4822 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4823 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 4824 done(items, items.length); 4825 }); 4826 } 4827 function fetchPostCategories(done) { 4828 var featured = options.resource === 'posts' && !!variables.featured; 4829 var useRouter = auxUsesRouter('postCategories'); 4830 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 4831 // selection set differs ({ items {...} } on the router). 4832 var selection = 'id, name, publishedCount, featuredPublishedCount'; 4833 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) + '}}'; 4834 var payload = {}; 4835 payload.offset = 0; 4836 payload.limit = 100; 4837 payload.companyId = variables.companyId; 4838 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 4839 query: gqlQuery, 4840 variables: payload 4841 }).then(function (res) { 4842 var value = res.body.data && res.body.data.postCategories || {}; 4843 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4844 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 4845 done(items.map(function (item) { 4846 item.count = featured ? item.featuredPublishedCount : item.publishedCount; 4847 return item; 4848 }), items.length); 4849 }); 4850 } 4851 function fetchOffices(done) { 4852 var useRouter = auxUsesRouter('offices'); 4853 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 4854 // selection set differs ({ items {...} } on the router). 4855 var selection = 'id, name, tags'; 4856 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two 4857 // APIs differ in more than the items wrapper: federated offices takes 4858 // companyId: ID! (legacy gateway: String), so each branch builds its whole doc. 4859 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 + '}}'; 4860 var payload = { 4861 offset: 0, 4862 limit: 100, 4863 companyId: variables.companyId 4864 }; 4865 4866 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4867 if (useRouter) { 4868 payload = window.luxuryPresence.routerApi.transformVariables('office
4868s', payload); 4869 } 4870 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 4871 query: gqlQuery, 4872 variables: payload 4873 }).then(function (res) { 4874 var value = res.body.data && res.body.data.offices || {}; 4875 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4876 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 4877 done(items, items.length); 4878 }); 4879 } 4880 4881 // ROUTER-CLEANUP: no rentalRates field on the federated router â legacy only. 4882 function fetchAllRentalRates(done) { 4883 var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl; 4884 var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}'; 4885 var payload = { 4886 offset: 0, 4887 limit: 100, 4888 companyId: variables.companyId 4889 }; 4890 superagent.post(url + '/graphql').withCredentials().send({ 4891 query: gqlQuery, 4892 variables: payload 4893 }).then(function (res) { 4894 var items = res.body.data && res.body.data.rentalRates || []; 4895 done(items, items.length); 4896 }).catch(function (err) { 4897 console.error('Error fetching rental rates:', err); 4898 done([], 0); 4899 }); 4900 } 4901 function fetchData(params, done) { 4902 var resource = options.resource; 4903 var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource]; 4904 var payload = {}; 4905 try { 4906 payload = JSON.parse(JSON.stringify(variables)); 4907 } catch (e) { 4908 Object.keys(variables).forEach(function (variableName) { 4909 payload[variableName] = variables[variableName]; 4910 }); 4911 } 4912 payload.offset = (params.page - 1) * pageSize + offset; 4913 payload.limit = pageSize; 4914 payload.companyId = options.companyId; 4915 searchFormParams.forEach(function (formParam) { 4916 var val = params[formParam.formKey || formParam.param]; 4917 if (val !== null && val !== undefined) { 4918 objSet(payload, formParam.param, val); 4919 } 4920 }); 4921 4922 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4923 if (options.useRouterApi) { 4924 payload = window.luxuryPresence.routerApi.transformVariables(resource, payload); 4925 } 4926 4927 // TODO: Disabled loading due to jarring effect 4928 // dataContainer.html('Loading...'); 4929 superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({ 4930 query: gqlQuery, 4931 variables: payload 4932 }).then(function (res) { 4933 if (res.body.errors) { 4934 done(res.body.errors); 4935 return; 4936 } 4937 var data = res.body.data || {}; 4938 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 4939 var resources; 4940 var resourceCount; 4941 if (options.useRouterApi) { 4942 var page = window.luxuryPresence.routerApi.transformPage(data[resource]); 4943 resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items); 4944 resourceCount = page.count; 4945 } else { 4946 resources = data[resource] || []; 4947 resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0; 4948 } 4949 if (resource === 'properties' && propertyPlaceholderImage?.id) { 4950 resources = resources.map(resource => { 4951 if (resource.media?.length === 0) { 4952 return Object.assign(resource, { 4953 media: [propertyPlaceholderImage] 4954 }); 4955 } 4956 return resource; 4957 }); 4958 } 4959 done(null, resources, resourceCount); 4960 }); 4961 } 4962 function getTotalPage() { 4963 return Math.ceil(totalNumber / pageSize); 4964 } 4965 function renderPaginationList() { 4966 var totalPages = getTotalPage(); 4967 var rangeStart = searchParams.page - pageRange; 4968 var rangeEnd = searchParams.page + pageRange; 4969 if (rangeEnd > totalPages) { 4970 rangeEnd = totalPages; 4971 rangeStart = totalPages - pageRange * 2; 4972 rangeStart = rangeStart < 1 ? 1 : rangeStart; 4973 } 4974 if (rangeStart <= 1) { 4975 rangeStart = 1; 4976 rangeEnd = Math.min(pageRange * 2 + 1, totalPages); 4977 } 4978 4979 // Making sure that 1 more page button is shown in edge positions 4980 if (pageRange === 0) { 4981 if (searchParams.page === totalPages) { 4982 rangeStart = totalPages <= 1 ? 1 : totalPages - 1; 4983 } 4984 if (searchParams.page === 1) { 4985 rangeEnd = Math.min(2, totalPages); 4986 } 4987 } 4988 4989 // Render pagination list 4990 if (mode === 'NUMBERED_PAGINATION') { 4991 el.innerHTML = generateHTML({ 4992 currentPage: searchParams.page, 4993 pageRange: pageRange, 4994 rangeStart: rangeStart, 4995 rangeEnd: rangeEnd 4996 }); 4997 if (totalPages < 2 && hidePaginationOnFirstPage) { 4998 container.style.display = 'none'; 4999 } else { 5000 container.style.display = ''; 5001 } 5002 } else if (mode === 'LOAD_MORE_BUTTON') { 5003 if (searchParams.page >= totalPages) {
5004 loadMoreButton.style.display = 'none'; 5005 } else { 5006 loadMoreButton.style.display = ''; 5007 } 5008 } 5009 } 5010 function render(data) { 5011 renderPaginationList(); 5012 5013 // Render new content with handlebars 5014 var html = ''; 5015 if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) { 5016 // If using load more, append search results to existing results 5017 html = dataContainer.innerHTML; 5018 } 5019 for (var i = 0; i < data.length; i++) { 5020 var itemData = recursivelyParse(data[i]); 5021 itemData.sectionIndex = options.sectionIndex; 5022 itemData.renderOptions = options.renderOptions; 5023 html += template(itemData); 5024 } 5025 dataContainer.innerHTML = html; 5026 5027 // Scroll Top 5028 if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) { 5029 // Only animate to the top if we replace dataContainer (numbered pagination) 5030 setTimeout(() => { 5031 const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset; 5032 window.scrollTo({ 5033 top: scrollTargetOffsetTop, 5034 behavior: 'smooth' 5035 }); 5036 }, 250); 5037 } 5038 return true; 5039 } 5040 function generateHTML(args) { 5041 const totalPages = getTotalPage(); 5042 const { 5043 rangeStart, 5044 rangeEnd 5045 } = args; 5046 const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 5047 ...searchParams, 5048 page 5049 }); 5050 let html = ''; 5051 if (showPrevious || showPageNumbers || showNext) { 5052 html += '<div class="paginationjs-pages"><ul>'; 5053 5054 // Previous button 5055 if (showPrevious) { 5056 if (searchParams.page <= 1) { 5057 html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`; 5058 } else { 5059 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>`; 5060 } 5061 } 5062 5063 // Pages 5064 if (showPageNumbers) { 5065 if (rangeStart <= 3) { 5066 for (let i = 1; i < rangeStart; i++) { 5067 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>`; 5068 } 5069 } else { 5070 if (showFirstOnEllipsisShow) { 5071 html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`; 5072 } 5073 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 5074 } 5075 for (let i = rangeStart; i <= rangeEnd; i++) { 5076 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>`; 5077 } 5078 if (rangeEnd < totalPages - 2) { 5079 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 5080 if (showLastOnEllipsisShow) { 5081 html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`; 5082 } 5083 } else { 5084 for (let i = rangeEnd + 1; i <= totalPages; i++) { 5085 html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`; 5086 } 5087 } 5088 } 5089 5090 // Next button 5091 if (showNext) { 5092 if (searchParams.page >= totalPages) { 5093 html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`; 5094 } else { 5095 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>`; 5096 } 5097 } 5098 html += '</ul></div>'; 5099 } 5100 return html; 5101 } 5102 function go(newSearchParams, callback, restorationVisit) { 5103 if (disabled) return; 5104 var goToPageNumber = newSearchParams.page; 5105 5106 // Page number is out of bounds 5107 if (!goToPageNumber || goToPageNumber < 1) return; 5108 var totalPage = getTotalPage(); 5109 5110 // Page number is out of bounds 5111 if (!restorationVisit && totalNumber > 0) { 5112 if (goToPageNumber > totalPage) return; 5113 } 5114 if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
5115 var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 5116 ...newSearchParams, 5117 page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null 5118 }); 5119 if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) { 5120 window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, { 5121 queryString: true 5122 })); 5123 } 5124 } 5125 5126 // Fetch and update page 5127 fetchData(newSearchParams, renderWithData); 5128 disabled = true; 5129 function renderWithData(err, data, count) { 5130 if (err) { 5131 dataContainer.dispatchEvent(new Event('error')); 5132 } else { 5133 searchParams = { 5134 ...newSearchParams 5135 }; 5136 totalNumber = count - offset; 5137 if (data.length === 0) { 5138 dataContainer.dispatchEvent(new Event('no-data')); 5139 } else { 5140 dataContainer.dispatchEvent(new Event('data')); 5141 } 5142 render(data); 5143 firstRender = false; 5144 } 5145 disabled = false; 5146 renderBySearch = false; 5147 } 5148 } 5149 function areQueryParamsEqual(first, second) { 5150 var differ = Object.keys(first).find(function (key) { 5151 return first[key] !== undefined && first[key] !== null && first[key] !== second[key]; 5152 }); 5153 if (differ) { 5154 return false; 5155 } 5156 differ = Object.keys(second).find(function (key) { 5157 return second[key] !== undefined && second[key] !== null && second[key] !== first[key]; 5158 }); 5159 return !differ; 5160 } 5161 function next(callback) { 5162 go({ 5163 ...searchParams, 5164 page: searchParams.page + 1 5165 }, callback); 5166 } 5167 function previous(callback) { 5168 go({ 5169 ...searchParams, 5170 page: searchParams.page - 1 5171 }, callback); 5172 } 5173 function refresh(callback) { 5174 go(searchParams, callback); 5175 } 5176 function update(params, callback) { 5177 renderBySearch = true; 5178 go(params, callback); 5179 } 5180 function observer() { 5181 if (searchContainer) { 5182 searchContainer.addEventListener('search', function (event, newSearchParams) { 5183 newSearchParams = event.detail || newSearchParams; 5184 update({ 5185 ...searchParams, 5186 ...newSearchParams, 5187 page: 1 5188 }); 5189 }); 5190 searchContainer.addEventListener('clear-search', function () { 5191 const defaultSearchParams = { 5192 ...DefaultSearchParams 5193 }; 5194 const isCurrentSearchFormStateDefault = areQueryParamsEqual({ 5195 ...defaultSearchParams, 5196 page: null 5197 }, { 5198 ...searchParams, 5199 page: null 5200 }); 5201 5202 // if mode is LOAD_MORE_BUTTON we should't make anything on clear 5203 // when search form have default state 5204 if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') { 5205 return; 5206 } 5207 5208 // if someone initially go to some page and click 'Clear' on search from 5209 // we should't navigate to first page. We should preserve page value 5210 if (isCurrentSearchFormStateDefault) { 5211 defaultSearchParams.page = searchParams.page; 5212 } 5213 syncSearchFormState(defaultSearchParams); 5214 update(defaultSearchParams); 5215 }); 5216 } 5217 if (mode === 'LOAD_MORE_BUTTON') { 5218 loadMoreButton.addEventListener('click', function (event) { 5219 go({ 5220 ...searchParams, 5221 page: searchParams.page + 1 5222 }); 5223 return false; 5224 }); 5225 } 5226 if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') { 5227 // Do initial render 5228 go(Object.assign({}, searchParams, { 5229 page: 1 5230 })); 5231 return; 5232 } 5233 if (mode === 'NUMBERED_PAGINATION') { 5234 // Go to specified page number 5235 container.addEventListener(eventPrefix + 'go', function (event) { 5236 let { 5237 pageNumber, 5238 done 5239 } = event.detail || {}; 5240 pageNumber = parseInt(pageNumber, 10); 5241 if (!pageNumber) { 5242 return; 5243 } 5244 go({ 5245 ...searchParams, 5246 page: pageNumber 5247 }, done); 5248 }); 5249 5250 // Page number button click 5251 el.addEventListener('click', function (event) { 5252 let clickTarget = event.target; 5253 let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next'); 5254 let pageNumber = current?.getAttribute('data-num'); 5255 if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) { 5256 return; 5257 } else { 5258 go({ 5259 ...searchParams, 5260 page: parseInt(pageNumber, 10) 5261 }); 5262 } 5263 event.preventDefault(); 5264 }); 5265 5266 // Whether to load the default page 5267 var defaultPageNumber = searchParams.page; 5268 if (triggerPagingOnInit) {
5269 container.dispatchEvent(new CustomEvent(eventPrefix + 'go', { 5270 detail: { 5271 pageNumber: defaultPageNumber 5272 } 5273 })); 5274 } 5275 } 5276 window.addEventListener('popstate', function (event) { 5277 var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 5278 if (!areQueryParamsEqual(newParams, searchParams)) { 5279 go(newParams, null, true); 5280 if (searchContainer) { 5281 syncSearchFormState(newParams); 5282 } 5283 } 5284 }); 5285 } 5286 function replaceVariables(template, variables) { 5287 var formattedString; 5288 for (var key in variables) { 5289 var value = variables[key]; 5290 var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img'); 5291 formattedString = (formattedString || template).replace(regexp, value); 5292 } 5293 return formattedString; 5294 } 5295 function isTextEditorValue(obj) { 5296 return 'raw' in obj || 'gjs' in obj; 5297 } 5298 function getTextEditorValue(obj) { 5299 if (!obj.html) { 5300 return ''; 5301 } 5302 var data = obj.html; 5303 var css = (obj.raw || obj.gjs || {}).css; 5304 if (css) { 5305 data = data + '<style>' + css + '</style>'; 5306 } 5307 return data; 5308 } 5309 5310 /** 5311 * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor. 5312 * strips out raw proprties and returns only HTML if it exists. 5313 * @param {Object} resources a collection retrieved from the database 5314 * @return {Object} the newly modified object. 5315 */ 5316 function recursivelyParse(resources) { 5317 forEach(resources, function (value, key) { 5318 if (!value) { 5319 return; 5320 } 5321 if (value instanceof Object) { 5322 if (isTextEditorValue(value)) { 5323 resources[key] = getTextEditorValue(value); 5324 return; 5325 } else { 5326 return recursivelyParse(value); 5327 } 5328 } 5329 try { 5330 var parsedData = JSON.parse(value); 5331 if (isTextEditorValue(parsedData)) { 5332 resources[key] = getTextEditorValue(parsedData); 5333 } 5334 } catch (e) { 5335 // do nothing if we failed to parse value as JSON 5336 } 5337 }); 5338 return resources; 5339 } 5340 function forEach(collection, iteratee) { 5341 var func = Array.isArray(collection) ? arrayEach : baseFor; 5342 return func(collection, iteratee); 5343 } 5344 function baseFor(object, iteratee) { 5345 if (!object) { 5346 return; 5347 } 5348 var iterable = Object(object); 5349 var props = Object.keys(object); 5350 var length = props.length; 5351 var index = -1; 5352 while (length--) { 5353 var key = props[++index]; 5354 if (iteratee(iterable[key], key, iterable) === false) { 5355 break; 5356 } 5357 } 5358 return object; 5359 } 5360 function objSet(obj, path, value) { 5361 const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g); 5362 pathArray.reduce((acc, key, i) => { 5363 if (acc[key] === undefined) acc[key] = {}; 5364 if (i === pathArray.length - 1) acc[key] = value; 5365 return acc[key]; 5366 }, obj); 5367 } 5368 function arrayEach(array, iteratee) { 5369 var index = -1; 5370 var length = array.length; 5371 while (++index < length) { 5372 if (iteratee(array[index], index, array) === false) { 5373 break; 5374 } 5375 } 5376 return array; 5377 } 5378 function selectPageRangeMode(e) { 5379 pageRange = e.matches ? mobilePageRange : desktopPageRange; 5380 renderPaginationList(); 5381 } 5382 paginationMql.addEventListener('change', selectPageRangeMode); 5383})('section-953b653b-01de-4732-a5ac-b4fb34b1438a', JSON.parse("{\"pageSize\":\"12\",\"resource\":\"properties\",\"variables\":{\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"sort\":\"updatedAt\",\"limit\":12,\"sortDir\":\"DESC\",\"leaseProperty\":false,\"salesPriceGTE\":1000000,\"salesPriceLTE\":10000000,\"advancedFilters\":{\"query\":{\"statusIds\":{\"in\":[\"5f528253-abb7-484e-95c3-330269ac1105\",\"88b4ace6-f39b-4b25-a051-8f6dba976833\",\"96031d77-bbe5-4de3-90d8-1e4e70de8ca8\"]},\"addressCity\":{\"ciin\":[\"Town and Country\",\"Clayton\",\"Ladue\",\"Olivette\",\"Frontenac\",\"Creve Coeur\",\"Kirkwood\",\"Chesterfield\",\"Huntleigh\",\"Des Peres\"]}}},\"featuredListing\":true,\"neighborhoodIds\":[\"3f64c91f-ab46-4f34-bf1c-42230d461dc1\",\"19757a45-9d5c-4b66-b36d-1f556cb5532d\",\"215c5015-bfd7-44b8-ae56-c3bf8db88191\",\"f87d4d91-8af3-40dd-af17-dfdd9d3f77ba\",\"4fd4a1e2-9bb1-494d-b35d-418b2be68b72\",\"748c281d-0526-4014-9d4c-7e364d8cf0ed\",\"f34ab16c-e5e3-434c-a435-aedbcf8e8d3b\",\"1ebf33c6-1f51-4294-b66a-94bf792b44e4\",\"85ae01c8-07ff-46d8-b4b7-fa096dbb70ec\",\"0b4cb910-b255-4525-8a87-20903be28402\"],\"propertyTypeIds\":[\"9a70fec3-5946-4d04-9acb-74d98781f636\",\"daf8aaa2-8b6f-4f2d-a324-754e0316d2b6\",\"c68279bc-2904-4ab8-9e84-42ecf6af008c\"],\"backfillBoundary\":{\"east\":180,\"west\":-180,\"north\":90,\"south\":-90},\"displayMLSListings\":\"true\",\"backfillMLSOfficeIds\":[\"DIEL01\"],\"hostname\":\"nikaleoni.com\",\"websiteId\":\"52ee6f11-4e7f-4972-85fe-8e9497b3e0a1\"},\"hidePaginationOnFirstPage\":true,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":10,\"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}}")); 5384} catch(e) { 5385console.log(e); 5386} 5387 try { 5388(function init(sectionDomId) { 5389 var $section = $('#' + sectionDomId); 5390 var $dataContainer = $section.find('.data-container'); 5391 if ($dataContainer.length) { 5392 $dataContainer.on('data', function (e) { 5393 $section.find('.properties-grid').removeClass('not-shown'); 5394 }); 5395 } 5396})('section-953b653b-01de-4732-a5ac-b4fb34b1438a', JSON.parse("{\"resource\":\"properties\",\"useRouterApi\":false,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":10,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 5397} catch(e) { 5398console.log(e); 5399} 5400 try { 5401(function init(sectionDomId) {})('section-35071a9e-f11c-493c-aabd-0cee2d363cf0', 'undefined'); 5402} catch(e) { 5403console.log(e); 5404} 5405 try { 5406(function init(sectionDomId) {})('section-b52906a8-d0f2-4b70-bbf5-3f0acc72f856', 'undefined'); 5407} catch(e) { 5408console.log(e); 5409} 5410 try { 5411(function init(sectionDomId) {})('section-2a02831c-91bd-4ee3-96b9-b42d510fff91', 'undefined'); 5412} catch(e) { 5413console.log(e); 5414} 5415 try { 5416(function init(sectionDomId, options) { 5417 var section = null; 5418 switch (sectionDomId) { 5419 case 'NAVBAR': 5420 section = $('body > nav'); 5421 break; 5422 case 'FOOTER': 5423 section = $('body > footer'); 5424 break; 5425 case 'SIDEMENU': 5426 section = $('body > div.sidemenu'); 5427 break; 5428 case 'CONTACT':
5429 section = $('#modal-global-contact-us'); 5430 break; 5431 case 'MOBILE_CONTACT': 5432 section = $('body > div.mobile-contact-wrapper'); 5433 break; 5434 case 'SUBSCRIBE': 5435 // Subscribe Not Implemented 5436 section = null; 5437 break; 5438 case 'ACCOUNT': 5439 // Account Not Implemented 5440 section = null; 5441 break; 5442 default: 5443 section = $(`#${sectionDomId}`); 5444 } 5445 if (!section.length) { 5446 return; 5447 } 5448 if (options.nextArrow) { 5449 // eslint-disable-next-line 5450 options.nextArrow = `#${sectionDomId} ${options.nextArrow}`; 5451 } 5452 if (options.prevArrow) { 5453 // eslint-disable-next-line 5454 options.prevArrow = `#${sectionDomId} ${options.prevArrow}`; 5455 } 5456 if (options.asNavFor) { 5457 // eslint-disable-next-line 5458 var mainImageOptions = { 5459 slidesToShow: 1, 5460 slidesToScroll: 1, 5461 fade: true, 5462 asNavFor: `#${sectionDomId} .carousel-container`, 5463 nextArrow: options.nextArrow, 5464 prevArrow: options.prevArrow, 5465 swipe: true 5466 }; 5467 $(options.asNavFor).not('.slick-initialized').slick(mainImageOptions); 5468 section.find('.carousel-container').not('.slick-initialized').slick(options); 5469 } else { 5470 section.find('.carousel-container').not('.slick-initialized').slick(options); 5471 } 5472})('section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c', JSON.parse("{\"infinite\":true,\"nextArrow\":\".featured-neighborhoods-section .slick-links-nav .next\",\"prevArrow\":\".featured-neighborhoods-section .slick-links-nav .prev\",\"responsive\":[{\"settings\":{\"speed\":700,\"infinite\":true,\"centerMode\":false,\"slidesToShow\":1,\"variableWidth\":false},\"breakpoint\":769}],\"initialSlide\":0,\"slidesToShow\":3,\"variableWidth\":true,\"slidesToScroll\":1,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":14,\"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}}")); 5473} catch(e) { 5474console.log(e); 5475} 5476 try { 5477(function init(sectionDomId) {})('section-1cf654f1-c1dd-48c2-8ca7-3513ed9c930c', JSON.parse("{\"resource\":\"neighborhoods\",\"useRouterApi\":false,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":14,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 5478} catch(e) { 5479console.log(e); 5480} 5481 try { 5482(function init(sectionDomId) {})('section-3cc6db4f-b7c4-4ed6-9dbf-72240b8911ca', 'undefined'); 5483} catch(e) { 5484console.log(e); 5485} 5486 try { 5487(function init(sectionDomId, options) { 5488 let section = null; 5489 switch (sectionDomId) { 5490 case 'NAVBAR': 5491 section = document.querySelector('body > nav, #global-navbar'); 5492 break; 5493 case 'FOOTER': 5494 section = document.querySelector('body > footer, #global-footer'); 5495 break; 5496 case 'SIDEMENU': 5497 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 5498 break; 5499 case 'CONTACT': 5500 section = document.querySelector('#modal-global-contact-us'); 5501 break; 5502 case 'MOBILE_CONTACT': 5503 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 5504 break; 5505 case 'SUBSCRIBE': 5506 // Subscribe Not Implemented 5507 section = null; 5508 break; 5509 case 'ACCOUNT': 5510 // Account Not Implemented 5511 section = null; 5512 break; 5513 default: 5514 section = document.querySelector('#' + sectionDomId); 5515 } 5516 if (!section) { 5517 return; 5518 } 5519 5520 // Where content / items are rendered 5521 const dataContainer = section.querySelector('.data-container'); 5522 if (!dataContainer) { 5523 // no place to render items = no need to query server or do anything else 5524 return; 5525 } 5526 let variables = options.variables || {}; 5527 5528 // Some variables in options may not have been injected - remove
5529 Object.keys(variables).forEach(function (variableName) { 5530 if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) { 5531 delete variables[variableName]; 5532 } 5533 }); 5534 5535 // Merge page query variables 5536 if (options.usePageResource) { 5537 variables = { 5538 ...variables, 5539 ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource] 5540 }; 5541 } 5542 5543 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers 5544 // resolve the flag â fetchData reads the section stamp, aux fetches read 5545 // their own resource's stamp (auxUsesRouter). 5546 function apiUrl(useRouter) { 5547 return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl); 5548 } 5549 5550 // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's 5551 // (options.routerApiAux is stamped per aux resource server-side). 5552 function auxUsesRouter(resource) { 5553 return !!(options.routerApiAux && options.routerApiAux[resource]); 5554 } 5555 5556 // Pagination Executes on a Numbered Pagination Container 5557 // Or via a load more button 5558 let mode = 'BUTTONLESS_PAGINATION'; 5559 const container = section.querySelector('.pagination-container');
5560 const loadMoreButton = section.querySelector(options?.loadMoreSelector); 5561 if (container) { 5562 mode = 'NUMBERED_PAGINATION'; 5563 } 5564 if (loadMoreButton) { 5565 mode = 'LOAD_MORE_BUTTON'; 5566 } 5567 let searchContainer = section.querySelector('.search-container'); 5568 const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false; 5569 const eventPrefix = '__pagination-'; 5570 const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{ 5571 param: 'neighborhoodId', 5572 urlKey: 'neighborhood' 5573 }, { 5574 param: 'search', 5575 urlKey: 'search' 5576 }, { 5577 param: 'salesPriceGTE', 5578 urlKey: 'pricemin', 5579 formKey: 'priceMin', 5580 type: 'int' 5581 }, { 5582 param: 'salesPriceLTE', 5583 urlKey: 'pricemax', 5584 formKey: 'priceMax', 5585 type: 'int' 5586 }, { 5587 param: 'livingSpaceSizeGTE', 5588 urlKey: 'areamin', 5589 formKey: 'areaMin', 5590 type: 'int' 5591 }, { 5592 param: 'livingSpaceSizeLTE', 5593 urlKey: 'areamax', 5594 formKey: 'areaMax', 5595 type: 'int' 5596 }] : []); 5597 5598 // Total entries - initialized in first render 5599 let totalNumber = 0; 5600 const DefaultSearchParams = { 5601 page: 1 5602 }; 5603 searchFormParams.forEach(function (formParam) { 5604 DefaultSearchParams[formParam.formKey || formParam.param] = null; 5605 }); 5606 let searchParams = { 5607 ...DefaultSearchParams 5608 }; 5609 const offset = options.variables?.offset || 0; 5610 let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section; 5611 let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100; 5612 5613 // entries of per page 5614 // when query variables for a given section would't be filled options.pageSize can store 5615 // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value 5616 let pageSize = parseInt(options.pageSize, 10) || 9; 5617 5618 // Adding mobile pageRange support 5619 var NARROW_BREAKPOINT = 600; 5620 var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT; 5621 var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`); 5622 5623 // Page range (pages on both sides of the current page) 5624 var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0; 5625 var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2; 5626 var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange; 5627 5628 // Whether to display the 'Previous' button 5629 var showPrevious = true; 5630 5631 // Whether to display the 'Next' button 5632 var showNext = true; 5633 5634 // Whether to display the page buttons 5635 var showPageNumbers = true; 5636 5637 // 'Previous' text 5638 var prevText = options.prevText || '«'; 5639 5640 // 'Next' text 5641 var nextText = options.nextText || '»'; 5642 5643 // Ellipsis text 5644 var ellipsisText = '…'; 5645 var classPrefix = 'paginationjs'; 5646 5647 // Default active class 5648 var activeClassName = 'active'; 5649 5650 // Default disable class 5651 var disableClassName = 'disabled'; 5652 5653 // Pagination element's position in the container 5654 var position = 'bottom'; 5655 5656 // Whether to trigger pagination at initialization 5657 var triggerPagingOnInit = !options.skipInitialLoad; 5658 var showFirstOnEllipsisShow = true; 5659 var showLastOnEllipsisShow = true; 5660 5661 // Instantiated in init() 5662 var el = null; 5663 5664 // Controls scrollTop logic 5665 var firstRender = true; 5666 var renderBySearch = false; 5667 var disabled = false; 5668 5669 // Pagination script class selector 5670 var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script'; 5671 5672 // Property Specific Image Override if No Image 5673 var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage; 5674 5675 // Construct template 5676 var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || ''; 5677 var template = Handlebars.compile(templateHTML); 5678 5679 // Initialize 5680 init(); 5681 function init() { 5682 Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 5683 5684 // Append/prepend pagination element to the pagination container 5685 if (mode === 'NUMBERED_PAGINATION') { 5686 el = document.createElement('div'); 5687 el.className = 'paginationjs';
5688 container[position === 'bottom' ? 'append' : 'prepend'](el); 5689 } 5690 if (searchContainer) { 5691 initSearchContainer({ 5692 fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true', 5693 fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true', 5694 fetchOffices: searchContainer.dataset.fetchOffices === 'true', 5695 fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true' 5696 }, function () { 5697 syncSearchFormState(searchParams); 5698 }); 5699 } 5700 5701 // Bind events 5702 observer(); 5703 } 5704 function syncSearchFormState(params) { 5705 searchContainer.dispatchEvent(new CustomEvent('sync', { 5706 detail: params 5707 })); 5708 } 5709 function initSearchContainer(options, done) { 5710 var promises = []; 5711 if (options.fetchNeighborhoods) { 5712 promises.push(fetchAllNeighborhoods(function (neighborhoods) { 5713 searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', { 5714 detail: { 5715 data: neighborhoods.map(function (item) { 5716 return { 5717 value: item.id, 5718 label: item.name 5719 }; 5720 }) 5721 } 5722 })); 5723 })); 5724 } 5725 if (options.fetchPostCategories) { 5726 promises.push(fetchPostCategories(function (categories) { 5727 searchContainer.dispatchEvent(new CustomEvent('post-categories-data', { 5728 detail: { 5729 data: categories 5730 } 5731 })); 5732 })); 5733 } 5734 if (options.fetchOffices) { 5735 promises.push(fetchOffices(function (offices) { 5736 searchContainer.dispatchEvent(new CustomEvent('offices-data', { 5737 detail: { 5738 data: offices 5739 } 5740 })); 5741 })); 5742 } 5743 if (options.fetchRentalRates) { 5744 promises.push(fetchAllRentalRates(function (rentalRates) { 5745 searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', { 5746 detail: { 5747 data: rentalRates 5748 } 5749 })); 5750 })); 5751 } 5752 if (promises.length > 0) { 5753 Promise.all(promises).then(function () { 5754 done(); 5755 }); 5756 } else { 5757 // element's custom code is not executed yet, so we're scheduling callback to after element's code 5758 setTimeout(done); 5759 } 5760 } 5761 function fetchAllNeighborhoods(done) { 5762 var useRouter = auxUsesRouter('neighborhoods'); 5763 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same 5764 // args on both APIs (the federated neighborhoods field accepts 5765 // withProperties/withBlogPosts); only the selection set differs. 5766 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') + '}}'; 5767 var payload = {}; 5768 payload.offset = 0; 5769 payload.limit = 100; 5770 payload.companyId = variables.companyId; 5771 if (options.resource === 'properties') { 5772 payload.withProperties = { 5773 active: true 5774 }; 5775 ['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) { 5776 if (variables[field] !== undefined && variables[field] !== null) { 5777 payload.withProperties[field] = variables[field]; 5778 } 5779 }); 5780 } 5781 if (options.resource === 'posts') { 5782 payload.withBlogPosts = { 5783 active: true 5784 }; 5785 ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) { 5786 if (variables[field] !== undefined && variables[field] !== null) { 5787 payload.withBlogPosts[field] = variables[field]; 5788 } 5789 }); 5790 } 5791 5792 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5793 if (useRouter) { 5794 payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload); 5795 } 5796 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 5797 query: gqlQuery, 5798 variables: payload 5799 }).then(function (res) { 5800 var value = res.body.data && res.body.data.neighborhoods || {}; 5801 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5802 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 5803 done(items, items.length); 5804 }); 5805 } 5806 function fetchPostCategories(done) { 5807 var featured = options.resource === 'posts' && !!variables.featured; 5808 var useRouter = auxUsesRouter('postCategories'); 5809 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 5810 // selection set differs ({ items {...} } on the router). 5811 var selection = 'id, name, publishedCount, featuredPublishedCount'; 5812 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) + '}}'; 5813 var payload = {}; 5814 payload.offset = 0; 5815 payload.limit = 100; 5816 payload.companyId = variables.companyId; 5817 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 5818 query: gqlQuery, 5819 variables: payload 5820 }).then(function (res) { 5821 var value = res.body.data && res.body.data.postCategories || {}; 5822 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5823 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 5824 done(items.map(function (item) { 5825 item.count = featured ? item.featuredPublishedCount : item.publishedCount; 5826 return item; 5827 }), items.length); 5828 }); 5829 } 5830 function fetchOffices(done) { 5831 var useRouter = auxUsesRouter('offices'); 5832 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 5833 // selection set differs ({ items {...} } on the router). 5834 var selection = 'id, name, tags'; 5835 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two 5836 // APIs differ in more than the items wrapper: federated offices takes 5837 // companyId: ID! (legacy gateway: String), so each branch builds its whole doc. 5838 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 + '}}'; 5839 var payload = { 5840 offset: 0, 5841 limit: 100, 5842 companyId: variables.companyId 5843 }; 5844 5845 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5846 if (useRouter) { 5847 payload = window.luxuryPresence.routerApi.transformVariables('office
5847s', payload); 5848 } 5849 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 5850 query: gqlQuery, 5851 variables: payload 5852 }).then(function (res) { 5853 var value = res.body.data && res.body.data.offices || {}; 5854 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5855 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 5856 done(items, items.length); 5857 }); 5858 } 5859 5860 // ROUTER-CLEANUP: no rentalRates field on the federated router â legacy only. 5861 function fetchAllRentalRates(done) { 5862 var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl; 5863 var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}'; 5864 var payload = { 5865 offset: 0, 5866 limit: 100, 5867 companyId: variables.companyId 5868 }; 5869 superagent.post(url + '/graphql').withCredentials().send({ 5870 query: gqlQuery, 5871 variables: payload 5872 }).then(function (res) { 5873 var items = res.body.data && res.body.data.rentalRates || []; 5874 done(items, items.length); 5875 }).catch(function (err) { 5876 console.error('Error fetching rental rates:', err); 5877 done([], 0); 5878 }); 5879 } 5880 function fetchData(params, done) { 5881 var resource = options.resource; 5882 var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource]; 5883 var payload = {}; 5884 try { 5885 payload = JSON.parse(JSON.stringify(variables)); 5886 } catch (e) { 5887 Object.keys(variables).forEach(function (variableName) { 5888 payload[variableName] = variables[variableName]; 5889 }); 5890 } 5891 payload.offset = (params.page - 1) * pageSize + offset; 5892 payload.limit = pageSize; 5893 payload.companyId = options.companyId; 5894 searchFormParams.forEach(function (formParam) { 5895 var val = params[formParam.formKey || formParam.param]; 5896 if (val !== null && val !== undefined) { 5897 objSet(payload, formParam.param, val); 5898 } 5899 }); 5900 5901 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5902 if (options.useRouterApi) { 5903 payload = window.luxuryPresence.routerApi.transformVariables(resource, payload); 5904 } 5905 5906 // TODO: Disabled loading due to jarring effect 5907 // dataContainer.html('Loading...'); 5908 superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({ 5909 query: gqlQuery, 5910 variables: payload 5911 }).then(function (res) { 5912 if (res.body.errors) { 5913 done(res.body.errors); 5914 return; 5915 } 5916 var data = res.body.data || {}; 5917 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 5918 var resources; 5919 var resourceCount; 5920 if (options.useRouterApi) { 5921 var page = window.luxuryPresence.routerApi.transformPage(data[resource]); 5922 resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items); 5923 resourceCount = page.count; 5924 } else { 5925 resources = data[resource] || []; 5926 resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0; 5927 } 5928 if (resource === 'properties' && propertyPlaceholderImage?.id) { 5929 resources = resources.map(resource => { 5930 if (resource.media?.length === 0) { 5931 return Object.assign(resource, { 5932 media: [propertyPlaceholderImage] 5933 }); 5934 } 5935 return resource; 5936 }); 5937 } 5938 done(null, resources, resourceCount); 5939 }); 5940 } 5941 function getTotalPage() { 5942 return Math.ceil(totalNumber / pageSize); 5943 } 5944 function renderPaginationList() { 5945 var totalPages = getTotalPage(); 5946 var rangeStart = searchParams.page - pageRange; 5947 var rangeEnd = searchParams.page + pageRange; 5948 if (rangeEnd > totalPages) { 5949 rangeEnd = totalPages; 5950 rangeStart = totalPages - pageRange * 2; 5951 rangeStart = rangeStart < 1 ? 1 : rangeStart; 5952 } 5953 if (rangeStart <= 1) { 5954 rangeStart = 1; 5955 rangeEnd = Math.min(pageRange * 2 + 1, totalPages); 5956 } 5957 5958 // Making sure that 1 more page button is shown in edge positions 5959 if (pageRange === 0) { 5960 if (searchParams.page === totalPages) { 5961 rangeStart = totalPages <= 1 ? 1 : totalPages - 1; 5962 } 5963 if (searchParams.page === 1) { 5964 rangeEnd = Math.min(2, totalPages); 5965 } 5966 } 5967 5968 // Render pagination list 5969 if (mode === 'NUMBERED_PAGINATION') { 5970 el.innerHTML = generateHTML({ 5971 currentPage: searchParams.page, 5972 pageRange: pageRange, 5973 rangeStart: rangeStart, 5974 rangeEnd: rangeEnd 5975 }); 5976 if (totalPages < 2 && hidePaginationOnFirstPage) { 5977 container.style.display = 'none'; 5978 } else { 5979 container.style.display = ''; 5980 } 5981 } else if (mode === 'LOAD_MORE_BUTTON') { 5982 if (searchParams.page >= totalPages) {
5983 loadMoreButton.style.display = 'none'; 5984 } else { 5985 loadMoreButton.style.display = ''; 5986 } 5987 } 5988 } 5989 function render(data) { 5990 renderPaginationList(); 5991 5992 // Render new content with handlebars 5993 var html = ''; 5994 if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) { 5995 // If using load more, append search results to existing results 5996 html = dataContainer.innerHTML; 5997 } 5998 for (var i = 0; i < data.length; i++) { 5999 var itemData = recursivelyParse(data[i]); 6000 itemData.sectionIndex = options.sectionIndex; 6001 itemData.renderOptions = options.renderOptions; 6002 html += template(itemData); 6003 } 6004 dataContainer.innerHTML = html; 6005 6006 // Scroll Top 6007 if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) { 6008 // Only animate to the top if we replace dataContainer (numbered pagination) 6009 setTimeout(() => { 6010 const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset; 6011 window.scrollTo({ 6012 top: scrollTargetOffsetTop, 6013 behavior: 'smooth' 6014 }); 6015 }, 250); 6016 } 6017 return true; 6018 } 6019 function generateHTML(args) { 6020 const totalPages = getTotalPage(); 6021 const { 6022 rangeStart, 6023 rangeEnd 6024 } = args; 6025 const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 6026 ...searchParams, 6027 page 6028 }); 6029 let html = ''; 6030 if (showPrevious || showPageNumbers || showNext) { 6031 html += '<div class="paginationjs-pages"><ul>'; 6032 6033 // Previous button 6034 if (showPrevious) { 6035 if (searchParams.page <= 1) { 6036 html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`; 6037 } else { 6038 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>`; 6039 } 6040 } 6041 6042 // Pages 6043 if (showPageNumbers) { 6044 if (rangeStart <= 3) { 6045 for (let i = 1; i < rangeStart; i++) { 6046 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>`; 6047 } 6048 } else { 6049 if (showFirstOnEllipsisShow) { 6050 html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`; 6051 } 6052 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 6053 } 6054 for (let i = rangeStart; i <= rangeEnd; i++) { 6055 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>`; 6056 } 6057 if (rangeEnd < totalPages - 2) { 6058 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 6059 if (showLastOnEllipsisShow) { 6060 html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`; 6061 } 6062 } else { 6063 for (let i = rangeEnd + 1; i <= totalPages; i++) { 6064 html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`; 6065 } 6066 } 6067 } 6068 6069 // Next button 6070 if (showNext) { 6071 if (searchParams.page >= totalPages) { 6072 html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`; 6073 } else { 6074 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>`; 6075 } 6076 } 6077 html += '</ul></div>'; 6078 } 6079 return html; 6080 } 6081 function go(newSearchParams, callback, restorationVisit) { 6082 if (disabled) return; 6083 var goToPageNumber = newSearchParams.page; 6084 6085 // Page number is out of bounds 6086 if (!goToPageNumber || goToPageNumber < 1) return; 6087 var totalPage = getTotalPage(); 6088 6089 // Page number is out of bounds 6090 if (!restorationVisit && totalNumber > 0) { 6091 if (goToPageNumber > totalPage) return; 6092 } 6093 if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
6094 var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 6095 ...newSearchParams, 6096 page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null 6097 }); 6098 if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) { 6099 window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, { 6100 queryString: true 6101 })); 6102 } 6103 } 6104 6105 // Fetch and update page 6106 fetchData(newSearchParams, renderWithData); 6107 disabled = true; 6108 function renderWithData(err, data, count) { 6109 if (err) { 6110 dataContainer.dispatchEvent(new Event('error')); 6111 } else { 6112 searchParams = { 6113 ...newSearchParams 6114 }; 6115 totalNumber = count - offset; 6116 if (data.length === 0) { 6117 dataContainer.dispatchEvent(new Event('no-data')); 6118 } else { 6119 dataContainer.dispatchEvent(new Event('data')); 6120 } 6121 render(data); 6122 firstRender = false; 6123 } 6124 disabled = false; 6125 renderBySearch = false; 6126 } 6127 } 6128 function areQueryParamsEqual(first, second) { 6129 var differ = Object.keys(first).find(function (key) { 6130 return first[key] !== undefined && first[key] !== null && first[key] !== second[key]; 6131 }); 6132 if (differ) { 6133 return false; 6134 } 6135 differ = Object.keys(second).find(function (key) { 6136 return second[key] !== undefined && second[key] !== null && second[key] !== first[key]; 6137 }); 6138 return !differ; 6139 } 6140 function next(callback) { 6141 go({ 6142 ...searchParams, 6143 page: searchParams.page + 1 6144 }, callback); 6145 } 6146 function previous(callback) { 6147 go({ 6148 ...searchParams, 6149 page: searchParams.page - 1 6150 }, callback); 6151 } 6152 function refresh(callback) { 6153 go(searchParams, callback); 6154 } 6155 function update(params, callback) { 6156 renderBySearch = true; 6157 go(params, callback); 6158 } 6159 function observer() { 6160 if (searchContainer) { 6161 searchContainer.addEventListener('search', function (event, newSearchParams) { 6162 newSearchParams = event.detail || newSearchParams; 6163 update({ 6164 ...searchParams, 6165 ...newSearchParams, 6166 page: 1 6167 }); 6168 }); 6169 searchContainer.addEventListener('clear-search', function () { 6170 const defaultSearchParams = { 6171 ...DefaultSearchParams 6172 }; 6173 const isCurrentSearchFormStateDefault = areQueryParamsEqual({ 6174 ...defaultSearchParams, 6175 page: null 6176 }, { 6177 ...searchParams, 6178 page: null 6179 }); 6180 6181 // if mode is LOAD_MORE_BUTTON we should't make anything on clear 6182 // when search form have default state 6183 if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') { 6184 return; 6185 } 6186 6187 // if someone initially go to some page and click 'Clear' on search from 6188 // we should't navigate to first page. We should preserve page value 6189 if (isCurrentSearchFormStateDefault) { 6190 defaultSearchParams.page = searchParams.page; 6191 } 6192 syncSearchFormState(defaultSearchParams); 6193 update(defaultSearchParams); 6194 }); 6195 } 6196 if (mode === 'LOAD_MORE_BUTTON') { 6197 loadMoreButton.addEventListener('click', function (event) { 6198 go({ 6199 ...searchParams, 6200 page: searchParams.page + 1 6201 }); 6202 return false; 6203 }); 6204 } 6205 if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') { 6206 // Do initial render 6207 go(Object.assign({}, searchParams, { 6208 page: 1 6209 })); 6210 return; 6211 } 6212 if (mode === 'NUMBERED_PAGINATION') { 6213 // Go to specified page number 6214 container.addEventListener(eventPrefix + 'go', function (event) { 6215 let { 6216 pageNumber, 6217 done 6218 } = event.detail || {}; 6219 pageNumber = parseInt(pageNumber, 10); 6220 if (!pageNumber) { 6221 return; 6222 } 6223 go({ 6224 ...searchParams, 6225 page: pageNumber 6226 }, done); 6227 }); 6228 6229 // Page number button click 6230 el.addEventListener('click', function (event) { 6231 let clickTarget = event.target; 6232 let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next'); 6233 let pageNumber = current?.getAttribute('data-num'); 6234 if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) { 6235 return; 6236 } else { 6237 go({ 6238 ...searchParams, 6239 page: parseInt(pageNumber, 10) 6240 }); 6241 } 6242 event.preventDefault(); 6243 }); 6244 6245 // Whether to load the default page 6246 var defaultPageNumber = searchParams.page; 6247 if (triggerPagingOnInit) {
6248 container.dispatchEvent(new CustomEvent(eventPrefix + 'go', { 6249 detail: { 6250 pageNumber: defaultPageNumber 6251 } 6252 })); 6253 } 6254 } 6255 window.addEventListener('popstate', function (event) { 6256 var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 6257 if (!areQueryParamsEqual(newParams, searchParams)) { 6258 go(newParams, null, true); 6259 if (searchContainer) { 6260 syncSearchFormState(newParams); 6261 } 6262 } 6263 }); 6264 } 6265 function replaceVariables(template, variables) { 6266 var formattedString; 6267 for (var key in variables) { 6268 var value = variables[key]; 6269 var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img'); 6270 formattedString = (formattedString || template).replace(regexp, value); 6271 } 6272 return formattedString; 6273 } 6274 function isTextEditorValue(obj) { 6275 return 'raw' in obj || 'gjs' in obj; 6276 } 6277 function getTextEditorValue(obj) { 6278 if (!obj.html) { 6279 return ''; 6280 } 6281 var data = obj.html; 6282 var css = (obj.raw || obj.gjs || {}).css; 6283 if (css) { 6284 data = data + '<style>' + css + '</style>'; 6285 } 6286 return data; 6287 } 6288 6289 /** 6290 * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor. 6291 * strips out raw proprties and returns only HTML if it exists. 6292 * @param {Object} resources a collection retrieved from the database 6293 * @return {Object} the newly modified object. 6294 */ 6295 function recursivelyParse(resources) { 6296 forEach(resources, function (value, key) { 6297 if (!value) { 6298 return; 6299 } 6300 if (value instanceof Object) { 6301 if (isTextEditorValue(value)) { 6302 resources[key] = getTextEditorValue(value); 6303 return; 6304 } else { 6305 return recursivelyParse(value); 6306 } 6307 } 6308 try { 6309 var parsedData = JSON.parse(value); 6310 if (isTextEditorValue(parsedData)) { 6311 resources[key] = getTextEditorValue(parsedData); 6312 } 6313 } catch (e) { 6314 // do nothing if we failed to parse value as JSON 6315 } 6316 }); 6317 return resources; 6318 } 6319 function forEach(collection, iteratee) { 6320 var func = Array.isArray(collection) ? arrayEach : baseFor; 6321 return func(collection, iteratee); 6322 } 6323 function baseFor(object, iteratee) { 6324 if (!object) { 6325 return; 6326 } 6327 var iterable = Object(object); 6328 var props = Object.keys(object); 6329 var length = props.length; 6330 var index = -1; 6331 while (length--) { 6332 var key = props[++index]; 6333 if (iteratee(iterable[key], key, iterable) === false) { 6334 break; 6335 } 6336 } 6337 return object; 6338 } 6339 function objSet(obj, path, value) { 6340 const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g); 6341 pathArray.reduce((acc, key, i) => { 6342 if (acc[key] === undefined) acc[key] = {}; 6343 if (i === pathArray.length - 1) acc[key] = value; 6344 return acc[key]; 6345 }, obj); 6346 } 6347 function arrayEach(array, iteratee) { 6348 var index = -1; 6349 var length = array.length; 6350 while (++index < length) { 6351 if (iteratee(array[index], index, array) === false) { 6352 break; 6353 } 6354 } 6355 return array; 6356 } 6357 function selectPageRangeMode(e) { 6358 pageRange = e.matches ? mobilePageRange : desktopPageRange; 6359 renderPaginationList(); 6360 } 6361 paginationMql.addEventListener('change', selectPageRangeMode); 6362})('section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f', JSON.parse("{\"pageSize\":\"12\",\"resource\":\"properties\",\"variables\":{\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"sort\":\"createdAt\",\"limit\":12,\"sortDir\":\"DESC\",\"leaseProperty\":false,\"salesPriceGTE\":1000000,\"advancedFilters\":{\"query\":{\"statusIds\":{\"in\":[\"5f528253-abb7-484e-95c3-330269ac1105\",\"88b4ace6-f39b-4b25-a051-8f6dba976833\",\"96031d77-bbe5-4de3-90d8-1e4e70de8ca8\"]},\"addressCity\":{\"ciin\":[\"Town and Country\",\"Clayton\",\"Ladue\",\"Olivette\",\"Frontenac\",\"Creve Coeur\",\"Kirkwood\",\"Chesterfield\",\"Huntleigh\",\"Des Peres\"]}}},\"featuredListing\":true,\"neighborhoodIds\":[\"3f64c91f-ab46-4f34-bf1c-42230d461dc1\",\"19757a45-9d5c-4b66-b36d-1f556cb5532d\",\"215c5015-bfd7-44b8-ae56-c3bf8db88191\",\"f87d4d91-8af3-40dd-af17-dfdd9d3f77ba\",\"4fd4a1e2-9bb1-494d-b35d-418b2be68b72\",\"748c281d-0526-4014-9d4c-7e364d8cf0ed\",\"f34ab16c-e5e3-434c-a435-aedbcf8e8d3b\",\"1ebf33c6-1f51-4294-b66a-94bf792b44e4\",\"85ae01c8-07ff-46d8-b4b7-fa096dbb70ec\",\"0b4cb910-b255-4525-8a87-20903be28402\"],\"propertyTypeIds\":[\"9a70fec3-5946-4d04-9acb-74d98781f636\",\"daf8aaa2-8b6f-4f2d-a324-754e0316d2b6\",\"c68279bc-2904-4ab8-9e84-42ecf6af008c\"],\"backfillBoundary\":{\"east\":180,\"west\":-180,\"north\":90,\"south\":-90},\"displayMLSListings\":\"onlyMls\",\"hostname\":\"nikaleoni.com\",\"websiteId\":\"52ee6f11-4e7f-4972-85fe-8e9497b3e0a1\"},\"hidePaginationOnFirstPage\":true,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":16,\"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}}")); 6363} catch(e) { 6364console.log(e); 6365} 6366 try { 6367(function init(sectionDomId) { 6368 var $section = $('#' + sectionDomId); 6369 var $dataContainer = $section.find('.data-container'); 6370 if ($dataContainer.length) { 6371 $dataContainer.on('data', function (e) { 6372 $section.find('.properties-grid').removeClass('not-shown'); 6373 }); 6374 } 6375})('section-e2b5d5ab-860a-4dc9-955a-c5ee8d55d02f', JSON.parse("{\"resource\":\"properties\",\"useRouterApi\":false,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":16,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 6376} catch(e) { 6377console.log(e); 6378} 6379 try { 6380(function init(sectionDomId) {})('section-c2dd9381-8f0d-44cf-9ba2-37c83031e947', 'undefined'); 6381} catch(e) { 6382console.log(e); 6383} 6384 try { 6385(function init(sectionDomId) {})('section-71056696-cad2-4a42-8255-6ecef3540f66', 'undefined'); 6386} catch(e) { 6387console.log(e); 6388} 6389 try { 6390(function init(sectionDomId) { 6391 $('#' + sectionDomId + ' .share-container button').click(function (e) { 6392 $(this).parent().toggleClass('share-container--opened'); 6393 e.stopPropagation(); 6394 }); 6395 $(window).click(function () { 6396 $('#' + sectionDomId + ' .share-container').removeClass('share-container--opened'); 6397 }); 6398})('section-13773fa6-c310-4ff1-858d-28f1871153b3', 'undefined'); 6399} catch(e) { 6400console.log(e); 6401} 6402 try { 6403(function init(sectionDomId) {// please write all js here and use sectionDomId in selectors in order of DOM encapsulation 6404})('section-2e41d253-7222-45d6-9fc6-c2ec279fcbc2', 'undefined'); 6405} catch(e) { 6406console.log(e); 6407} 6408 try { 6409(function init(sectionDomId) { 6410 $('#' + sectionDomId + ' .share-container button').click(function (e) { 6411 $(this).parent().toggleClass('share-container--opened'); 6412 e.stopPropagation(); 6413 }); 6414 $(window).click(function () { 6415 $('#' + sectionDomId + ' .share-container').removeClass('share-container--opened'); 6416 }); 6417})('section-d59ca6ec-64c5-48cc-b47c-46f4fe89712c', 'undefined'); 6418} catch(e) { 6419console.log(e); 6420} 6421 try { 6422(function init(sectionDomId) {})('section-9ac16ee8-b4c0-4415-b4d6-836d55039f6b', 'undefined'); 6423} catch(e) { 6424console.log(e); 6425} 6426 try { 6427(function init(sectionDomId) {})('section-53f2f743-0b9b-4fd0-bcfc-c4f08a723ae1', JSON.parse("{\"resource\":\"posts\",\"useRouterApi\":true,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":23,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 6428} catch(e) { 6429console.log(e); 6430} 6431 try { 6432(function init(sectionDomId) {})('section-2edeb2f8-6b40-4210-a4bf-7ecc67c1975e', 'undefined'); 6433} catch(e) { 6434console.log(e); 6435} 6436 try { 6437(function init(sectionDomId) { 6438 var $contactForm = $('#' + sectionDomId + ' .newsletter-signup__form'); 6439 $contactForm.find('.contact-form__reset').click(function (e) { 6440 e.preventDefault(); 6441 $(this).closest('form').removeClass('success').trigger("reset"); 6442 }); 6443 $contactForm.find('input[name="name"]').on("keyup", function () { 6444 if (this.value.replaceAll(/\d/g, "").trim() === "") { 6445 this.setCustomValidity("Please enter your name."); 6446 } else { 6447 this.setCustomValidity(""); 6448 } 6449 }); 6450 const form = $("#" + sectionDomId).find("form"); 6451 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 6452 form.on("reset", function () { 6453 redirectPage(redirectLink); 6454 }); 6455 function redirectPage(link) { 6456 if (link.length) { 6457 const rawHref = link.attr('href'); 6458 link.attr('href', setHttp(rawHref)); 6459 link[0].click(); 6460 } 6461 } 6462 function setHttp(link) { 6463 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 6464 link = 'http://' + link; 6465 } 6466 return link; 6467 } 6468}
6468)('section-310ca97e-e489-4bc6-841e-7fc57568466a', 'undefined'); 6469} catch(e) { 6470console.log(e); 6471} 6472 try { 6473(function init(sectionDomId) { 6474 const $section = $('#' + sectionDomId); 6475 if ($section.find('.parallax').length) $section.addClass('parallax-enabled'); 6476 if ($section.find('.video-wrapper').length) $section.addClass('video'); 6477})('section-8af56bc0-2962-4e51-8713-120a3eaecaf8', 'undefined'); 6478} catch(e) { 6479console.log(e); 6480} 6481 try { 6482(function init(sectionDomId) {// please write all js here and use sectionDomId in selectors in order of DOM encapsulation 6483})('section-13456535-2123-46dd-b423-b2094dd494aa', 'undefined'); 6484} catch(e) { 6485console.log(e); 6486} 6487 try { 6488(function init(sectionDomId, options) { 6489 let section = null; 6490 switch (sectionDomId) { 6491 case 'NAVBAR': 6492 section = document.querySelector('body > nav, #global-navbar'); 6493 break; 6494 case 'FOOTER': 6495 section = document.querySelector('body > footer, #global-footer'); 6496 break; 6497 case 'SIDEMENU': 6498 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 6499 break; 6500 case 'CONTACT': 6501 section = document.querySelector('#modal-global-contact-us'); 6502 break; 6503 case 'MOBILE_CONTACT': 6504 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 6505 break; 6506 case 'SUBSCRIBE': 6507 // Subscribe Not Implemented 6508 section = null; 6509 break; 6510 case 'ACCOUNT': 6511 // Account Not Implemented 6512 section = null; 6513 break; 6514 default: 6515 section = document.querySelector('#' + sectionDomId); 6516 } 6517 if (!section) { 6518 return; 6519 } 6520 var url = window.luxuryPresence.defaults.routerUrl; 6521 var companyId = window.luxuryPresence.defaults.companyId; 6522 var limit = options.limit || 8; 6523 if (typeof limit === 'string') { 6524 limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected 6525 } 6526 var templateSelector = options.templateSelector || '.jsIGTemplate'; 6527 var containerSelector = options.containerSelector || '.jsIGContainer'; 6528 var hasDataClass = options.hasDataClass || 'has-data'; 6529 var hideActivateMessage = options.hasDataClass || false; 6530 var payload = { 6531 companyId: companyId, 6532 limit: limit 6533 }; 6534 if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) { 6535 payload.resourceId = options.resourceId; 6536 // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase 6537 payload.resource = String(options.resource || 'agent').toUpperCase(); 6538 payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true; 6539 } 6540 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'; 6541 var templateHTML = section.querySelector(templateSelector)?.innerHTML || ''; 6542 var template = Handlebars.compile(templateHTML); 6543 var container = section.querySelector(containerSelector); 6544 if (options.variables) { 6545 Object.keys(options.variables).forEach(function (key) { 6546 if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) { 6547 payload[key] = options.variables[key]; 6548 } 6549 }); 6550 } 6551 function getData() { 6552 var feed = { 6553 error: true 6554 }; 6555 if (payload.companyId == null || payload.companyId === '') { 6556 // instagramContentFeed requires companyId (ID!) â nothing to fetch without it. 6557 // Checked after the options.variables merge, which may override the default. 6558 // Deferred so element listeners (attached after this template runs) still receive it. 6559 setTimeout(function () { 6560 section.dispatchEvent(new CustomEvent('ig-data', { 6561 detail: feed 6562 })); 6563 }, 0); 6564 return; 6565 } 6566 superagent.post(url + '/graphql').send({ 6567 query: query, 6568 variables: payload 6569 }).then(res => {
6570 try { 6571 if (!res.body.errors) { 6572 feed = res.body.data.instagramContentFeed; 6573 if (!feed.active) { 6574 if (!hideActivateMessage && sectionDomId === 'section-temp' && container) { 6575 if (payload.resourceId) { 6576 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>'; 6577 } else { 6578 container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>'; 6579 } 6580 } 6581 } else { 6582 if (feed.items.length) { 6583 if (hasDataClass) { 6584 section.classList.add(hasDataClass); 6585 } 6586 const feedName = feed.username; 6587 section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl)); 6588 section.querySelectorAll('.jsIGName').forEach(name => { 6589 name.textContent = '@' + feedName; 6590 name.setAttribute('title', '@' + feedName); 6591 }); 6592 if (container && template) { 6593 container.innerHTML = template(feed); 6594 } 6595 } 6596 } 6597 } 6598 } catch (e) {} 6599 section.dispatchEvent(new CustomEvent('ig-data', { 6600 detail: feed 6601 })); 6602 }).catch(e => { 6603 console.log('err', e); 6604 section.dispatchEvent(new CustomEvent('ig-data', { 6605 detail: feed 6606 })); 6607 }); 6608 } 6609 getData(); 6610})('section-865e8019-f87e-4788-905e-08ea887d0c12', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"3877a1e7-ce9a-4a11-879b-311730a5a5c5\",\"fallbackToNoResource\":\"true\",\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":28,\"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}}")); 6611} catch(e) { 6612console.log(e); 6613} 6614 try { 6615(function init(sectionDomId) { 6616 const $section = $('#' + sectionDomId); 6617 var templateHTML = $section.find('.jsIGItem').html(); 6618 var itemTemplate = templateHTML && Handlebars.compile(templateHTML); 6619 const $container = $section.find('.ig-feed-feed'); 6620 const $topPrev = $section.find('.top-nav-prev'); 6621 const $topNext = $section.find('.top-nav-next'); 6622 const $bottomPrev = $section.find('.bottom-nav-prev'); 6623 const $bottomNext = $section.find('.bottom-nav-next'); 6624 let limit = 33; 6625 try { 6626 limit = parseInt($container[0].dataset['limit']); 6627 } catch (e) {} 6628 if (!limit) { 6629 limit = 33; 6630 } 6631 let igFeed = {}; 6632 let usedWidth = 0; 6633 let slider = null; 6634 $section.on('ig-data', function (ev, feed) { 6635 feed = ev.detail || feed; 6636 igFeed = feed; 6637 if (feed.active && feed.items.length) { 6638 buildSlider(); 6639 } 6640 }); 6641 $(window).on('resize.lpui-auto-clean', onResize); 6642 let timer = null; 6643 function onResize() { 6644 clearTimeout(timer); 6645 timer = window.setTimeout(buildSlider, 50); 6646 } 6647 function getLayout(w, n) { 6648 if (w > 1100) { 6649 if (n > 7) { 6650 return { 6651 type: 'type1', 6652 single: 1, 6653 multi: n, 6654 slides: 3, 6655 slider: n > 9 6656 }; 6657 } 6658 if (n > 5) { 6659 return { 6660 type: 'type1', 6661 single: 2, 6662 multi: n, 6663 slides: 3, 6664 slider: false 6665 }; 6666 } 6667 return { 6668 type: 'type1', 6669 single: n, 6670 multi: n, 6671 slides: 3, 6672 slider: n > 3 6673 }; 6674 } else if (w > 880) { 6675 if (n > 4) { 6676 return { 6677 type: 'type2', 6678 single: 1, 6679 multi: n, 6680 slides: 2.5, 6681 slider: n > 7 6682 }; 6683 } 6684 return { 6685 type: 'type1', 6686 single: n, 6687 multi: n, 6688 slides: 3, 6689 slider: n > 3 6690 }; 6691 } else if (w > 767) { 6692 if (n > 4) { 6693 return { 6694 type: 'type3', 6695 single: 1, 6696 multi: n, 6697 slides: 2, 6698 slider: n > 5 6699 }; 6700 } 6701 return { 6702 type: 'type4', 6703 single: n, 6704 multi: n, 6705 slides: 2, 6706 slider: n > 2 6707 }; 6708 } else if (w > 460) { 6709 return { 6710 type: 'type4', 6711 single: n, 6712 multi: n, 6713 slides: 2, 6714 slider: n > 2 6715 }; 6716 } 6717 return { 6718 type: 'type5', 6719 single: n, 6720 multi: n, 6721 slides: 1, 6722 slider: n > 1 6723 }; 6724 } 6725 function ensureClass($el, className) { 6726 if ($el.hasClass(className)) { 6727 return; 6728 } 6729 $el.addClass(className); 6730 } 6731 function makeSquare($el) { 6732 const el = $el[0]; 6733 el.style.width = ''; 6734 el.style.height = ''; 6735 const rect = el.getBoundingClientRect(); 6736 if (rect.width !== rect.height) { 6737 el.style.width = rect.height + 'px'; 6738 } 6739 } 6740 function buildSlider() { 6741 const cWidth = $container[0].getBoundingClientRect().width; 6742 if (cWidth === usedWidth) { 6743 return; 6744 } 6745 $container.empty();
6746 slider = $('<div class="ig-feed-slider"></div>'); 6747 const items = igFeed.items.slice(0, limit); 6748 const layout = getLayout(cWidth, items.length); 6749 let i = 0; 6750 let slide = null; 6751 while (i < layout.single) { 6752 slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider); 6753 i++; 6754 } 6755 while (i < layout.multi) { 6756 slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider); 6757 let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide); 6758 const lim = i + 4; 6759 while (i < lim && i < layout.multi) { 6760 slideContent.append(itemTemplate(items[i])); 6761 i++; 6762 } 6763 } 6764 $container.append(slider); 6765 if (layout.slider) { 6766 $topPrev.removeClass('hidden-control'); 6767 $topNext.removeClass('hidden-control'); 6768 $bottomPrev.removeClass('hidden-control'); 6769 $bottomNext.removeClass('hidden-control'); 6770 let prev, next; 6771 if ($bottomPrev.parent()[0].getBoundingClientRect().width) { 6772 prev = $bottomPrev; 6773 next = $bottomNext; 6774 } else { 6775 prev = $topPrev; 6776 next = $topNext; 6777 makeSquare($topPrev); 6778 makeSquare($topNext); 6779 } 6780 slider.children().each(function () { 6781 this.style.width = this.getBoundingClientRect().width + 'px'; 6782 }); 6783 slider.slick({ 6784 dots: false, 6785 prevArrow: prev, 6786 nextArrow: next, 6787 slidesToScroll: 1, 6788 infinite: false, 6789 slidesToShow: layout.slides 6790 }); 6791 } else { 6792 ensureClass($topPrev, 'hidden-control'); 6793 ensureClass($topNext, 'hidden-control'); 6794 ensureClass($bottomPrev, 'hidden-control'); 6795 ensureClass($bottomNext, 'hidden-control'); 6796 } 6797 } 6798})('section-865e8019-f87e-4788-905e-08ea887d0c12', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"5f42fdf3-775e-422d-bb6f-1f7748a181a2\",\"usePageResource\":false,\"sectionIndex\":28,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 6799} catch(e) { 6800console.log(e); 6801} 6802 6803 var { body } = document; 6804 var globalNav = body.querySelector(':scope > nav'); 6805 var globalSideMenu = body.querySelector(':scope > div.sidemenu'); 6806 6807 document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => { 6808 modalCloseBtn.addEventListener('click', function() { 6809 window.lpUI.hideClosestModal(modalCloseBtn); 6810 }); 6811 }); 6812 6813 window.addEventListener('click', function() { 6814 document.querySelectorAll('.share-popup').forEach(sharedPopup => { 6815 sharedPopup.style.display = 'none' ; 6816 }); 6817 }); 6818 6819 /* Misc Partials / Addons */ 6820 function initWOW() { 6821 if (wow) { 6822 wow.init(); 6823 wow.scrollHandler(); 6824 setTimeout(function () { 6825 const wowHideStyle = document.getElementById('wow-hide-elements'); 6826 if(wowHideStyle) { 6827 wowHideStyle.disabled = true; 6828 } 6829 }, 1); 6830 } 6831 } 6832 6833 const wowHideElements = document.getElementById('wow-hide-elements'); 6834 if (wowHideElements) { 6835 wowHideElements.disabled = false; 6836 } 6837 6838 initWOW(); 6839 6840 /* Generic Navbar Handling */ 6841 globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => { 6842 hamburgerComponent.addEventListener('click', function() { 6843 window.lpUI.sideMenuToggle(); 6844 }); 6845 }); 6846 globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => { 6847 toggleEl.addEventListener('click', function() { 6848 window.lpUI.sideMenuToggle(); 6849 }); 6850 }); 6851 6852 document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => { 6853 linkEl.addEventListener('click', function(e) { 6854 e.preventDefault(); 6855 e.stopPropagation();
6856 var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav'); 6857 if (subNav && subNav.classList.contains('visible')){ 6858 subNav.classList.remove('visible'); 6859 } else { 6860 globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => { 6861 globalSubNav.classList.remove('visible'); 6862 }); 6863 globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => { 6864 sideMenuSubNav.classList.remove('visible'); 6865 }); 6866 subNav?.classList.add('visible'); 6867 } 6868 }); 6869 }); 6870 window.addEventListener('click', function() { 6871 document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => { 6872 subNavEl.classList.remove('visible'); 6873 }); 6874 }); 6875 6876 } 6877 6878 document.addEventListener('DOMContentLoaded', lpGlobalInit); 6879 6880 </script>
6880 6881 6882
6882<script type="module"> 6883 function selectorExists(selector) { 6884 return document.querySelector(selector) !== null; 6885 } 6886 6887 // Function to initialize the third-party library 6888 function initParoller(selector = '.my-paroller') { 6889 var $parollerElements = $(selector); 6890 if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') { 6891 $parollerElements.paroller(); 6892 } 6893 } 6894 6895 const parollerSelector = '.my-paroller'; 6896 6897 if (selectorExists(parollerSelector)) { 6898 window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() { 6899 initParoller(parollerSelector); 6900 window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true; 6901 }); 6902 } 6903 </script>
6903 6904 6905 <!-- Follow Up Boss Page View Tracker--> 6906
6906<script type="text/plain" data-consent-category="analytics"> 6907 window.widgetTracker("send", "pageview"); 6908 </script>
6908 6909 <!-- End Follow Up Boss Page View Tracker --> 6910 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 6910-6911
6910 6911 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
6911GTM-T9SFQGHZ
vendor: 107 bytes, lines 6911-6913
6911" 6912 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 6913
6913<!-- End Google Tag Manager --> 6914 6915 6916
6916<script 6917 src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js" 6918 data-website-id="52ee6f11-4e7f-4972-85fe-8e9497b3e0a1" 6919 6920 defer></script>
vendor: 1 bytes, line 6920
6920
6921<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:'a423399e0bc421b1',t:'MTc5MDYwMzUwOQ=='};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>
6921<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>
6921 6922</body> 6923</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.