<!DOCTYPE html>
<html class="no-js" lang=en>
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="twitter:card" content="summary_large_image">
        <title>Tennessee Real Estate Agent – Discover Your Dream Home</title>
        <meta property="og:title" content="Tennessee Real Estate Agent – Discover Your Dream Home">
        <meta name="twitter:title" content="Tennessee Real Estate Agent – Discover Your Dream Home">
        <meta name="description" content="Looking for a Tennessee real estate agent? Robin Skeen offers expert guidance to buy, sell, or invest. Start your journey today!">
        <meta property="og:description" content="Looking for a Tennessee real estate agent? Robin Skeen offers expert guidance to buy, sell, or invest. Start your journey today!">
        <meta name="twitter:description" content="Looking for a Tennessee real estate agent? Robin Skeen offers expert guidance to buy, sell, or invest. Start your journey today!">
        <meta property="og:image" content="https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park">
        <meta name="twitter:image" content="https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park">
        <meta property="og:url" content="https://robinskeen.com/">
        <link rel="canonical" href="https://robinskeen.com/">
    <script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cardo:400,400i,700"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto%20Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i">
    <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'">
    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
    <link rel="icon" type="image/x-icon" href="/favicon.ico">
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
    <style id="global-css">:root{--global-primary-font-family:Cardo,serif;--global-primary-font-family-short:Cardo;--global-secondary-font-family:'Noto Sans',sans-serif;--global-secondary-font-family-short:Noto Sans;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:65px;--global-h2-font-size:50px;--global-h3-font-size:37px;--global-h4-font-size:28px;--global-h5-font-size:22px;--global-h6-font-size:20px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:'Noto Sans',sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:Cardo,serif;}h1{font-size:65px;}h2{font-size:50px;}h3{font-size:37px;}h4{font-size:28px;}h5{font-size:22px;}h6{font-size:20px;}</style>
        <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/masterpiece/index.css" />
    <style id="website-css">nav#global-navbar .lp-container.header__container{max-width:1500px!important;}nav#global-navbar .navigation__item.navigation__item{padding-left:0px;}nav#global-navbar .navigation .navigation__link{white-space:pre;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;}@media (max-width: 768px){body>div.mobile-contact-wrapper .pop-up .close-btn{margin:0px auto 0!importan;}}@media (max-width: 768px){body>div.mobile-contact-wrapper .lp-tcr-content{font-size:10px!important;}}nav .header{padding-top:10px;padding-bottom:20px;}nav.scroll .header{padding-top:10px;padding-bottom:10px;}nav#global-navbar .header .header__logo a.logo{height:90px;}@media screen and (max-width: 768px){nav#global-navbar .header .header__logo a.logo{height:60px;width:200px;}}.hyperlink-style-1:before,.hyperlink-style-2:before{content:""""""""!important;}:root{--black:#000000;--black2:#555555;--black3:#999999;--white:#ffffff;--white2:#cecece;--white3:#eeede9;--primary:#383732;--accent:#A2A08B;--block:#CBC5B3;--trans:transparent;--titlecase:uppercase;}.lp-link{-webkit-font-smoothing:unset;-webkit-transition:0.3s linear;transition:0.3s linear;-webkit-text-decoration:none;text-decoration:none;position:relative;color:inherit;display:inline-block;}.lp-link:hover{outline-width:0;}.lp-link:before{content:"";position:absolute;display:block;width:0;height:1px;-webkit-transition:0.3s linear;transition:0.3s linear;background:currentColor!important;bottom:0!important;left:0;}.lp-link:before{width:100%;opacity:0.3;}.lp-link:after{content:"";position:absolute;display:block;width:0;height:1px;-webkit-transition:0.3s linear;transition:0.3s linear;background:currentColor!important;bottom:0!important;left:0;}@media (hover: hover) and (pointer: fine){.lp-link:hover:after{width:100%;}}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;}h1,.lp-h1,h2,.lp-h2,h3,.lp-h3,h4,.lp-h4,h5,.lp-h5{text-transform:var(--titlecase);}@media (max-width: 620px){.lp-h2{font-size:30px;}}.cta-block .lp-h2 p{margin-bottom:0;}.hyperlink-style-1:before,.hyperlink-style-2:before{content:""!important;}@media (max-width: 768px){.lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding-left:10px!important;padding-right:10px!important;}.lp-socials li{padding-right:7px;padding-left:7px;padding-top:10px;margin-right:0px;}.lp-socials>li:not(:last-child){padding-right:7px;}#global-sidemenu .sidemenu__socials{margin-right:auto;}#global-footer .lp-socials{margin:0 auto 10px auto;}}nav#global-navbar{background-color:unset!important;}nav#global-navbar .header.theme-light .lp-container .logo img.light{display:block;}nav#global-navbar .header.theme-light .lp-container .logo img.dark{display:none;}nav#global-navbar .header.theme-light .header__hamburger circle{fill:var(--white);}nav#global-navbar .header.theme-light .header__hamburger svg rect{fill:var(--primary)!important;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item{color:var(--white);}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .sub-nav__link{font-weight:400!important;background-color:var(--white);color:var(--black);text-transform:var(--titlecase);}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .sub-nav__link:hover{background-color:var(--primary);color:var(--white);}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .navigation__link{text-transform:var(--titlecase);font-size:16px;}nav#global-navbar .header.theme-light ul.navigation li.navigation__item .navigation__link:after{background:var(--white);}nav#global-navbar .header .lp-container .logo img.light{display:none;}nav#global-navbar .header .lp-container .logo img.dark{display:block;}nav#global-navbar .header .header__hamburger circle{fill:var(--primary);}nav#global-navbar .header .header__hamburger svg rect{fill:var(--white)!important;}nav#global-navbar .header ul.navigation li.navigation__item{color:var(--black);}nav#global-navbar .header ul.navigation li.navigation__item .sub-nav__link{background-color:var(--white);color:var(--black);text-transform:var(--titlecase);}nav#global-navbar .header ul.navigation li.navigation__item .sub-nav__link:hover{background-color:var(--primary);color:var(--white);}nav#global-navbar .header ul.navigation li.navigation__item .navigation__link{text-transform:var(--titlecase);font-size:16px;}nav#global-navbar .header ul.navigation li.navigation__item .navigation__link:after{background:var(--accent);}nav#global-navbar.scroll .header{background-color:var(--white);}nav#global-navbar.scroll .header .lp-container .logo img.light{display:none;}nav#global-navbar.scroll .header .lp-container .logo img.dark{display:block;}nav#global-navbar.scroll .header .header__hamburger circle{fill:var(--primary);}nav#global-navbar.scroll .header .header__hamburger svg rect{fill:var(--white)!important;}nav#global-navbar.scroll .header ul.navigation li.navigation__item{color:var(--black);}nav#global-navbar.scroll .header ul.navigation li.navigation__item .sub-nav__link{background-color:var(--white);color:var(--black);text-transform:var(--titlecase);}nav#global-navbar.scroll .header ul.navigation li.navigation__item .sub-nav__link:hover{background-color:var(--primary);color:var(--white);}nav#global-navbar.scroll .header ul.navigation li.navigation__item .navigation__link:after{background:var(--accent);}body>div.sidemenu .sidemenu__header{padding-bottom:5px;}.sidemenu .sidemenu__nav .navigation__item{border-color:var(--accent);}div#global-sidemenu .navigation .navigation__link{font-size:19px!important;text-transform:var(--titlecase);font-family:var(--global-secondary-font-family)!important;}div#global-sidemenu .navigation .navigation__link:hover{color:var(--primary);}body>div.sidemenu .sub-nav__link{font-size:19px!important;text-transform:var(--titlecase);font-family:var(--global-secondary-font-family)!important;}body>div.sidemenu .sidemenu__header{padding-bottom:0;}body>div.sidemenu .navigation__link{padding:6px 12px 6px 70px;}@media (max-width: 710px){body>div.sidemenu .sidemenu__socials{margin-right:auto;}body>div.sidemenu .sidemenu__socials ul.lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}body>div.sidemenu .sidemenu__header{padding-bottom:5px;}body>div.sidemenu .sidemenu__header{padding-bottom:5px!important;}footer .site-footer__logo-bar{padding-bottom:0!important;}footer .site-footer__logo-bar{padding-bottom:40px;}footer .site-footer__col-content{opacity:1.0!important;padding-bottom:16px;}footer h5{text-transform:uppercase;}footer .site-footer__disclaimer{padding-top:40px;opacity:1.0!important;}footer .site-footer__col-content{text-transform:var(--titlecase);font-size:14px;}footer .site-footer__col-content a:hover{color:var(--accent)!important!;}footer#global-footer .site-footer .footer-navigation__link{-webkit-text-decoration:underline;text-decoration:underline;text-transform:var(--titlecase);text-underline-offset:4px;letter-spacing:-0.5px;}footer#global-footer .site-footer .footer-navigation__link:hover{color:var(--primary);}footer .site-footer__disclaimer a{-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:4px;letter-spacing:-0.5px;color:var(--black);}footer .site-footer__disclaimer a:hover{color:var(--primary);}footer#global-footer .lp-container .site-footer__copy a{position:relative;display:inline-block;color:var(--black);}footer#global-footer .lp-container .site-footer__copy a:before,footer#global-footer .lp-container .site-footer__copy a:after{content:"";position:absolute;display:block;width:100%;height:1px;opacity:.9;-webkit-transition:0.3s linear;transition:0.3s linear;background:currentColor;bottom:0;left:0;}footer#global-footer .lp-container .site-footer__copy a:after{opacity:1;width:0;}footer#global-footer .lp-container .site-footer__copy a:hover{color:var(--primary);}footer#global-footer .lp-container .site-footer__copy a:hover:after{opacity:1;width:100%;color:var(--primary);}footer .site-footer__navigation-wrap{padding-top:21px;}footer .site-footer__copy img{max-height:40px;-webkit-filter:invert(0);filter:invert(0);}@media (max-width: 420px){footer .site-footer__socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-left:auto;gap:0px;}footer .site-footer__socials li:first-child{margin-left:0;}footer .site-footer__socials li{margin:0;}}footer .site-footer__logo-bar img{max-height:200px!important;}@media (max-width: 420px){footer .site-footer__logo-bar img{max-height:95px!important;}}@media (max-width: 420px){footer .site-footer__logo-bar{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}footer .site-footer__disclaimer .trec-link{text-transform:var(--titlecase);}@media (max-width: 420px){footer .site-footer__disclaimer .trec-link{font-size:12px!important;}}footer .site-footer__col-content a:hover{color:var(--primary)!important;}.site-footer__logo-bar{margin-bottom:20px;}@media(max-width : 520px){.site-footer__logo-bar{margin-bottom:0;}}.site-footer__col-content .qr-txt{display:none;}.site-footer__col-content .qr-img{width:160px;}@media(max-width : 520px){.site-footer__col-content .qr-img{width:110px;}}#modal-global-contact-us h5.contact-form__title1{text-transform:var(--none)!important;color:var(--white)!important;}#modal-global-contact-us input,#modal-global-contact-us textarea{color:var(--white);border-color:var(--white2);}#modal-global-contact-us span.input-icon{-webkit-filter:brightness(0.8);filter:brightness(0.8);}#modal-global-contact-us .company{text-transform:var(--titlecase);color:var(--black)!important;}#modal-global-contact-us .company a:hover{color:var(--accent)!important;}@media only screen and (min-width: 769px){div#modal-global-contact-us div.contact-form__close.close{color:var(--black);opacity:1;}}@media only screen and (max-width: 1024px){div#modal-global-contact-us div.contact-form__close.close{color:var(--white);opacity:1;}}@media(max-width: 1024px){body>.modal .close{top:1vh;}}@media (max-width: 767px){#modal-global-contact-us .socials .lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#modal-global-contact-us .socials .lp-socials li{padding:8px 4px;}}div#global-mobile-contact .pop-up input,div#global-mobile-contact .pop-up textarea{color:var(--black);border-color:var(--black3);}div#global-mobile-contact .pop-up button.lp-btn{border-color:var(--primary);background-color:var(--trans);color:var(--primary);}div#global-mobile-contact .pop-up button.lp-btn:hover{border-color:var(--primary);background-color:var(--primary);color:var(--white);}div.popup-modal button.popup-modal__close{opacity:0.8!important;}@media(max-width : 768px){div.popup-modal button.popup-modal__close:before,div.popup-modal button.popup-modal__close:after{background-color:#000000!important;box-shadow:0px 0px 18px 5px rgba(255,255,255,0.75);}}div.popup-modal h2.lp-h2{font-size:30px;letter-spacing:-1px;}@media(max-width : 768px){div.popup-modal h2.lp-h2{font-size:25px;}}div.popup-modal .lp-h4{font-size:24px;letter-spacing:-1px;text-transform:none!important;}@media(max-width : 768px){div.popup-modal .lp-h4{font-size:20px;}}div.popup-modal span.lp-tcr-message a:hover{color:var(--black2);}footer#global-footer .site-footer__logo-bar .site-footer__logo-container img{max-width:300px!important;height:120px;}.mobile-contact-wrapper{position:fixed;z-index:101!important;}div.site-footer__disclaimer a{font-weight:400;}</style>
    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
        <style id="page-css">
            #section-509111ce-3482-45d6-a565-8c08f1473bed{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;}@media (min-width: 1200px){#section-509111ce-3482-45d6-a565-8c08f1473bed .btn-container .lp-btn{width:275px;}}#section-509111ce-3482-45d6-a565-8c08f1473bed div.collection .lp-text--pretitle{text-transform:none;color:#fff;font-weight:400;font-style:normal;}#section-509111ce-3482-45d6-a565-8c08f1473bed div.collection .slick-dots button{display:none;}#section-509111ce-3482-45d6-a565-8c08f1473bed .container .buttons a{-webkit-text-decoration:none;text-decoration:none;border:2px solid #ffffff;padding:15px 40px;width:240px;font-size:14px;color:#ffffff;text-transform:uppercase;display:inline-block;}#section-509111ce-3482-45d6-a565-8c08f1473bed .container .buttons a:before,#section-509111ce-3482-45d6-a565-8c08f1473bed .container .buttons a:after{height:0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .container .buttons a:hover{background-color:#ffffff;color:var(--primary)!important;}@media (max-width: 620px){#section-509111ce-3482-45d6-a565-8c08f1473bed .container .buttons a{margin-bottom:15px!important;}}#section-509111ce-3482-45d6-a565-8c08f1473bed{overflow:visible;z-index:1;}#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.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-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe,#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper video{pointer-events:none;-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;max-width:none;}#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper.playing iframe,#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper.playing video{opacity:1;}#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe{position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);pointer-events:none;}@media (min-aspect-ratio: 16/9){#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe{height:56.25vw;}}@media (max-aspect-ratio: 16/9){#section-509111ce-3482-45d6-a565-8c08f1473bed>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe{width:177.78vh;}}#section-509111ce-3482-45d6-a565-8c08f1473bed .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}#section-509111ce-3482-45d6-a565-8c08f1473bed .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search{position:relative;--top-padding:170px;--bottom-padding:30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:770px;padding-top:var(--top-padding);padding-bottom:var(--bottom-padding);}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search.height-class-Full{min-height:100vh;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search.height-class-600px{min-height:600px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .bottom-spacer{position:relative;z-index:0;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;max-height:calc(var(--top-padding) - var(--bottom-padding));}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .center-block{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center;position:relative;z-index:1;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .opening-description{letter-spacing:.1em;margin-bottom:15px;}@media (max-width: 768px){#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .opening-description a{white-space:pre-line;}}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .opening-title{margin-bottom:15px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .opening-button{margin:0 15px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .lp-title-group{max-width:100%;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-form{margin-top:30px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-form.with-filters{padding-top:32px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-button{margin:5px;border-radius:0;outline:none;background-color:#000;color:#fff;height:44px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:50px;padding-right:50px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-button:hover{background-color:#fff;color:#000;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-lease-tabs{position:absolute;left:0;bottom:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-lease-tab{padding:4px 20px;background-color:#000;color:#fff;cursor:pointer;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-lease-tab.active{background-color:#fff;color:#000;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-wrapper{margin:5px;letter-spacing:normal;width:100%;max-width:444px;position:relative;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-input-container{width:100%;border:none;height:43px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 16px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-input-container .search-icon{color:#c0c0c0;margin-right:10px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:20px;line-height:0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-input-container .search-input{color:#000;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:50px;border:none;border-radius:0;outline:none;background:transparent;font-size:16px;padding:0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-results{line-height:normal;text-align:left;background-color:rgba(0, 0, 0, 0.8);position:absolute;width:100%;left:0;top:100%;border:none;overflow:hidden;-webkit-transition:height 0.3s ease;transition:height 0.3s ease;height:0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-container,#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .predefined-links{padding:10px 0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-container a,#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .predefined-links a{color:#b6b6b6;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-container a:hover,#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .predefined-links a:hover{color:#fff;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .predefined-links{max-height:400px;overflow:auto;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-block{margin:15px 0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-block-title{margin:0;padding:0 48px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-block-title .results-title-label{margin:0 20px 10px 0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-block-title .search-near-container{margin-bottom:15px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-block:nth-child(n + 2) .search-near-container{display:none;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-link{display:block;padding:4px 48px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .results-link.selected-link{color:#fff;background-color:rgba(255, 255, 255, 0.2);}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-in-progress{padding:30px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:30px;opacity:0.5;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .not-visible{display:none!important;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .nothing-found{width:100%;padding:20px;}@media (max-width: 560px){#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-form{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-button{width:100%;max-width:444px;}}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening-with-search .search-near{cursor:pointer;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-transition:background-color 0.3s ease;transition:background-color 0.3s ease;background-color:transparent;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-wrap{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:20px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-clip-path:polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);clip-path:polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);-webkit-transition:clip-path 0.4s ease;transition:clip-path 0.4s ease;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-modal{border-radius:20px;padding:10px 20px 20px;max-width:400px;min-width:100px;background-color:rgba(0,0,0,0.9);color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;max-height:100%;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-close{position:absolute;width:40px;height:40px;top:10px;right:10px;cursor:pointer;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-close:before{content:'';width:20px;height:2px;background-color:#fff;position:absolute;left:10px;top:19px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-close:after{content:'';width:20px;height:2px;background-color:#fff;position:absolute;left:10px;top:19px;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-close:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}#section-509111ce-3482-45d6-a565-8c08f1473bed .search-near-hidden .search-near-container{display:none;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-title{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:20px;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-container{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;overflow:auto;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-container p{margin:0;}#section-509111ce-3482-45d6-a565-8c08f1473bed .loc-msg-container p+p{margin-top:1em;}#section-509111ce-3482-45d6-a565-8c08f1473bed.visible-loc-msg{z-index:1000;}#section-509111ce-3482-45d6-a565-8c08f1473bed.visible-loc-msg .loc-msg-backdrop{background-color:rgba(255,255,255,0.4);}#section-509111ce-3482-45d6-a565-8c08f1473bed.visible-loc-msg .loc-msg-wrap{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0%);clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0%);}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening__carousel .title-item{display:none;}#section-509111ce-3482-45d6-a565-8c08f1473bed .opening__carousel.visible .title-item{display:block;}#section-509111ce-3482-45d6-a565-8c08f1473bed >*:last-child{position:relative;}#section-509111ce-3482-45d6-a565-8c08f1473bed .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-509111ce-3482-45d6-a565-8c08f1473bed .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}@media screen and (max-width: 900px){#section-509111ce-3482-45d6-a565-8c08f1473bed .video-wrapper.hidable{display:none;}}#section-509111ce-3482-45d6-a565-8c08f1473bed .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-509111ce-3482-45d6-a565-8c08f1473bed video{position:absolute;z-index:-1000;width:100%;object-fit:cover;}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#section-509111ce-3482-45d6-a565-8c08f1473bed 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-509111ce-3482-45d6-a565-8c08f1473bed .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-509111ce-3482-45d6-a565-8c08f1473bed .poster{display:block;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#ffffff;}@media (max-width: 1023px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .col-1-2{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .section{position:relative;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .section .row{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-wrap{padding-right:130px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}@media (max-width: 1200px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-wrap{padding-right:80px;}}@media (max-width: 1023px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-wrap{padding-right:0;padding-bottom:48px;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .agent-image{display:block;width:100%;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .agent-name{margin-bottom:16px;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .agent-position{text-transform:uppercase;margin-bottom:0;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .agent-description{padding:24px 0 48px;}@media (max-width: 767px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .agent-description{padding-bottom:34px;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .content-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.2);border-bottom:1px solid hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.2);padding-top:17px;padding-bottom:17px;}@media (max-width: 767px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .content-footer{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;border:none;padding:0;}}@media (max-width: 1024px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .content-footer{border-top:none;border-bottom:none;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .socials{margin:-8px;}@media (max-width: 767px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .socials{padding-top:34px;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .socials li{margin:0;padding:8px;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .cta .lp-link{text-transform:uppercase;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-full .agent-details{padding:30px 24px 30px 0;}@media (max-width: 992px){#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-full .agent-details{padding:30px 24px;}}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee .image-full .lp-container{padding:0;}#section-46898bca-8f08-459b-8713-fb7ac0cbbbee>div:last-child{padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-f7947a30-739d-4767-bae4-04884aa2f991{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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));background-color:#ffffff;}#section-f7947a30-739d-4767-bae4-04884aa2f991{overflow:hidden;}#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__row{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;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:-64px;padding-top:32px;}#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__row--four .company-stats__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}@media (max-width: 768px){#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__row--four .company-stats__col{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;width:100%;}}#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__col{padding-left:15px;padding-right:15px;width:100%;min-height:1px;max-width:33.33%;-webkit-flex-basis:33.33%;-ms-flex-preferred-size:33.33%;flex-basis:33.33%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 768px){#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__col{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;width:100%;}}#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__cta-wrap{text-align:center;padding-top:96px;}@media (max-width: 768px){#section-f7947a30-739d-4767-bae4-04884aa2f991 .company-stats__cta-wrap{padding-top:48px;}}#section-f7947a30-739d-4767-bae4-04884aa2f991 .stat-card{max-width:364px;margin-left:auto;margin-right:auto;padding-bottom:64px;text-align:center;}#section-f7947a30-739d-4767-bae4-04884aa2f991 .stat-card__value{margin-top:0;margin-bottom:16px;line-height:1;min-height:var(--global-h3-font-size);}@media (max-width: 768px){#section-f7947a30-739d-4767-bae4-04884aa2f991 .stat-card__value{min-height:auto;}}#section-f7947a30-739d-4767-bae4-04884aa2f991 .stat-card__title{margin-top:0;margin-bottom:0;}#section-f7947a30-739d-4767-bae4-04884aa2f991 .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-f7947a30-739d-4767-bae4-04884aa2f991>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#A2A08B;--bgColor_H:55;--bgColor_S:11%;--bgColor_L:59%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#A2A08B;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 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;letter-spacing:0;text-transform:var(--titlecase);}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.row.gallery-component__row.cols-3 .gallery-component__col{padding-right:15px;padding-left:15px;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:20px;padding-left:20px;height:310px;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.gallery-component__col .gallery-card::before{background-image:linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0),
      rgba(0, 0, 0, 0.95)
    )!important;}@media (max-width: 768px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:0px;padding-left:0px;height:310px;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card__title:after{display:none;}@media (min-width: 992px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component .lp-container .gallery-component__col:nth-last-child(-n+3){margin-bottom:0!important;}}@media (max-width: 991px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component .lp-container .gallery-component__col:last-child{margin-bottom:0!important;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component .lp-container{padding-top:0!important;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.gallery-component{padding-top:96px;padding-bottom:86px;}@media(width < 540px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 div.gallery-component{padding-top:64px;padding-bottom:64px;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header{max-width:790px!important;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component{padding:80px 0 60px;}}@media (min-width: 1200px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header{margin-bottom:70px;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header img{max-width:260px;height:auto;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__heading{margin-bottom:20px;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__col:first-child{margin-left:auto;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card:hover:before{background-color:#000;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57 .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-e70a3855-d8f5-4a59-9b03-062a2dcef951{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#eeede9;--bgColor_H:48;--bgColor_S:13%;--bgColor_L:92%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#eeede9;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.30));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/0c772b82-8626-41c6-9c64-71a29ac8d5f4');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section svg path{fill:var(--accent);fill-opacity:1;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section svg circle{fill:var(--white);fill-opacity:1;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section div.bottom p.num-pages.js-num-pages{color:var(--white);}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951{overflow:hidden;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951.parallax-enabled{-webkit-clip-path:polygon(0px -2px, 100% -2px, 100% 102%, 0% 102%);clip-path:polygon(0px -2px, 100% -2px, 100% 102%, 0% 102%);}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-1;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951.parallax-enabled .testimonials-section:before{display:block;content:'';left:0;top:0;width:100vw;height:100vh;background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;pointer-events:none;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonial-container{overflow:hidden;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:200px;padding-right:200px;outline:none;}@media (max-width: 1200px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container{padding-left:100px;padding-right:100px;}}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container{padding-left:0;padding-right:0;}}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-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-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider{width:200px;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .slick-list,#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .slick-track{width:100%;height:100%;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .slick-list{overflow:visible;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar-slide{opacity:0;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar-slide.slick-active{opacity:1;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar{position:relative;border-radius:50%;overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:200px;height:200px;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar{width:135px;height:135px;margin:0 auto 24px;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar svg{position:absolute;width:100%;height:100%;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .avatar-slider .avatar img{position:absolute;width:100%;height:100%;object-fit:cover;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .list-slider{width:70%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .sliders-container .list-slider{width:100%;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section h2{margin:0 0 29px 0;}@media (max-width: 560px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section h2{margin:0 0 40px 0;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list:not(.slick-initialized) .list-cell{display:none;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list:not(.slick-initialized) .list-cell:first-child{display:block;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list .slick-list{overflow:hidden;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list .slick-list{overflow:hidden;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .quote{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-bottom:70px;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .quote{-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;margin-bottom:20px;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .author{margin-top:48px;text-transform:uppercase;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .author{margin-bottom:0;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .position{color:#BDBDBD;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .text{padding-left:74px;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .text{padding-left:0;text-align:center;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .title{font-family:var(--global-primary-font-family);text-transform:uppercase;white-space:pre-line;margin-bottom:48px;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .body{white-space:pre-line;margin-bottom:48px;font-weight:400;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .body:before,#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .list-cell .body:after{content:'"';}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .lp-btn{margin-top:48px;-webkit-order:1;-ms-flex-order:1;order:1;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom.no-arrows .arrows-container{display:none;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom.no-arrows .num-pages{padding-left:0;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .num-pages{margin-bottom:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-left:274px;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .num-pages span{font-weight:bold;}@media (max-width: 1200px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .num-pages{padding-left:174px;}}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .num-pages{padding-left:0;margin-bottom:48px;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .arrows-container{width:200px;}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .arrows-container .lp-arrow--prev{margin-right:16px;}@media (max-width: 768px){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951 .testimonials-section .bottom .arrows-container{width:auto;-webkit-order:1;-ms-flex-order:1;order:1;}}#section-e70a3855-d8f5-4a59-9b03-062a2dcef951>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}@media (min-width: 960px) and (orientation: landscape){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951{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/0c772b82-8626-41c6-9c64-71a29ac8d5f4');}}@media (min-width: 1280px) and (orientation: landscape){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951{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/0c772b82-8626-41c6-9c64-71a29ac8d5f4');}}@media (min-width: 1920px) and (orientation: landscape){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951{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/0c772b82-8626-41c6-9c64-71a29ac8d5f4');}}@media (min-width: 2560px) and (orientation: landscape){#section-e70a3855-d8f5-4a59-9b03-062a2dcef951{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/0c772b82-8626-41c6-9c64-71a29ac8d5f4');}}#section-22433166-14d5-4eeb-8211-440b28393cc3{color:#000000;--fontColor:#000000;--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-22433166-14d5-4eeb-8211-440b28393cc3 .lp-vertical-paddings{padding-top:96px;padding-bottom:96px;}@media(width < 540px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .lp-vertical-paddings{padding-top:64px;padding-bottom:64px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item p.status{background:var(--accent)!important;color:var(--white)!important;}#section-22433166-14d5-4eeb-8211-440b28393cc3 div.featured-properties .item__text p.bf1{text-transform:var(--titlecase);}#section-22433166-14d5-4eeb-8211-440b28393cc3 div.arrows .lp-arrow.lp-arrow--dark{border:solid 2px var(--primary);background-color:var(--trans);}#section-22433166-14d5-4eeb-8211-440b28393cc3 div.arrows .lp-arrow.lp-arrow--dark:before{border-color:var(--primary);}#section-22433166-14d5-4eeb-8211-440b28393cc3 div.arrows .lp-arrow.lp-arrow--dark:hover{border:solid 2px var(--primary);background-color:var(--primary);}#section-22433166-14d5-4eeb-8211-440b28393cc3 div.arrows .lp-arrow.lp-arrow--dark:hover:before{border-color:var(--white);}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .lp-text--subtitle p{margin:0;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .collection{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 -10px 50px;}@media (max-width: 767px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .collection{margin-bottom:24px;}}@media (min-width: 1024px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .collection:not(.collection--3) .image-wrap{height:472px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .slick-slide{margin:0 8px;width:350px;}@media (max-width: 768px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .slick-slide{margin:0;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item{-webkit-text-decoration:none;text-decoration:none;color:var(--currentColor);display:block;position:relative;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item .image-wrap{display:block;position:relative;height:310px;background:var(--themeGray);overflow:hidden;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__picture{display:block;height:100%;}@media (max-width: 768px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__picture{height:100%;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__picture .img{width:100%;height:100%;object-fit:cover;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__text{padding-top:16px;width:100%;overflow:hidden;pointer-events:none;min-height:110px;}@media (max-width: 768px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__text{min-height:120.92px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__text h5{margin-bottom:4px;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__text .bf1{margin-bottom:4px;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__info{margin:0 0 10px;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;text-transform:uppercase;}@media (max-width: 768px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__info{margin-bottom:25px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__info li{margin:0;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item__info li:not(:last-child):after{content:'|';margin:0 5px;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item .status{position:absolute;top:10px;right:10px;text-align:left;color:var(--themeBlack);background:rgba(255, 255, 255, .8);padding:7px 10px 6px;text-transform:uppercase;z-index:10;}@media (max-width: 768px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .item .status{right:12px;top:11px;right:11px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .bottom-bar{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: 767px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .bottom-bar{-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;}}@media (max-width: 560px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .bottom-bar .button-holder{width:100%;}}@media (max-width: 767px){#section-22433166-14d5-4eeb-8211-440b28393cc3 .featured-properties .arrows{margin-bottom:24px;}}#section-22433166-14d5-4eeb-8211-440b28393cc3 .label-house{position:absolute;bottom:10px;left:10px;background:rgba(0, 0, 0, 0.8);padding:6px 10px;line-height:22px;color:#ffffff;text-transform:uppercase;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .mls-compliance-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;position:relative;padding-top:16px;gap:10px;}#section-22433166-14d5-4eeb-8211-440b28393cc3 .lp-mls-compliance__mls-logo{margin-left:auto;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4{color:#fff;--fontColor:#fff;--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;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .lp-link--dark:hover{color:#000!important;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .lp-link--dark:after{background-color:#000!important;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__title{font-size:25px!important;text-transform:uppercase;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist--small{text-transform:uppercase;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .content h2.lp-h2{text-align:center;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 ul.benefits{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 ul.benefits .benefit{text-transform:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .benefits .benefit{text-transform:var(--titlecase);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .background>img{object-position:0% 50%;}@media(max-width : 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-wrapper button.lp-btn.home-val-btn{border-color:var(--white)!important;background-color:transparent!important;color:var(--white)!important;padding:20px 20px!important;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-wrapper button.lp-btn.home-val-btn:hover{border-color:var(--white)!important;background-color:var(--white)!important;color:var(--primary)!important;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 h3.mb-1{font-size:21px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 a.lp-link:before{background-color:var(--black);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 a.lp-link:after{background-color:var(--black2);}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .opening-wrapper{min-height:64vh!important;}}@media (max-width: 400px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .opening-wrapper{min-height:84vh!important;}}@media(max-width : 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form__footer button.lp-btn.home-val-btn{padding:20px 30px!important;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 div.loader .line{background:var(--accent);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-icon svg path{fill:var(--accent);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4{--lp-icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none'%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6.5 12.26 4.15 4.15 8-8'/%3E%3C/svg%3E");--lp-dropdown-arrow:url("data:image/svg+xml,%3Csvg width='13' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 1.167 6.333 5.833 1.667 1.167' stroke='%23C8E2E8' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='square'/%3E%3C/svg%3E");--lp-icon-back:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 5-7 7 7 7'/%3E%3C/svg%3E");--lp-icon-done:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none'%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6.5 12.26 4.15 4.15 8-8'/%3E%3C/svg%3E");--lp-icon-success: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='M22 11.0799V11.9999C21.9988 14.1563 21.3005 16.2545 20.0093 17.9817C18.7182 19.7088 16.9033 20.9723 14.8354 21.5838C12.7674 22.1952 10.5573 22.1218 8.53447 21.3744C6.51168 20.6271 4.78465 19.246 3.61096 17.4369C2.43727 15.6279 1.87979 13.4879 2.02168 11.3362C2.16356 9.18443 2.99721 7.13619 4.39828 5.49694C5.79935 3.85768 7.69279 2.71525 9.79619 2.24001C11.8996 1.76477 14.1003 1.9822 16.07 2.85986' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 4L12 14.01L9 11.01' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-close: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='M1.72102 22.2787C1.79068 22.3485 1.8734 22.4038 1.96444 22.4415C2.05549 22.4793 2.15309 22.4987 2.25165 22.4987C2.35021 22.4987 2.44781 22.4793 2.53885 22.4415C2.6299 22.4038 2.71262 22.3485 2.78227 22.2787L11.9998 13.0612L21.221 22.2787C21.3618 22.4195 21.5526 22.4985 21.7516 22.4985C21.9507 22.4985 22.1415 22.4195 22.2823 22.2787C22.423 22.138 22.5021 21.9471 22.5021 21.7481C22.5021 21.5491 22.423 21.3582 22.2823 21.2175L13.061 12L22.2785 2.77872C22.4193 2.63799 22.4983 2.44712 22.4983 2.2481C22.4983 2.04907 22.4193 1.8582 22.2785 1.71747C22.1378 1.57674 21.9469 1.49768 21.7479 1.49768C21.5489 1.49768 21.358 1.57674 21.2173 1.71747L11.9998 10.9387L2.77852 1.72122C2.63505 1.59835 2.45049 1.53415 2.26173 1.54144C2.07298 1.54873 1.89392 1.62698 1.76035 1.76055C1.62678 1.89412 1.54853 2.07318 1.54124 2.26193C1.53395 2.45069 1.59815 2.63525 1.72102 2.77872L10.9385 12L1.72102 21.2212C1.58134 21.3617 1.50293 21.5518 1.50293 21.75C1.50293 21.9481 1.58134 22.1382 1.72102 22.2787Z' fill='%23212227'/%3E%3C/svg%3E");--lp-icon-location:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M5 10.5C5 6 8 3 12.5 3S20 6.75 20 10.5c0 2.33-2.18 5.54-6.53 9.6a1.5 1.5 0 0 1-2 .06C7.17 16.51 5 13.29 5 10.5Zm7.5 1.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");--lp-icon-mail: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='M4 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 6L12 13L2 6' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-question-mark: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='M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.08984 9.00002C9.32495 8.33169 9.789 7.76813 10.3998 7.40915C11.0106 7.05018 11.7287 6.91896 12.427 7.03873C13.1253 7.15851 13.7587 7.52154 14.2149 8.06355C14.6712 8.60555 14.9209 9.29154 14.9198 10C14.9198 12 11.9198 13 11.9198 13' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 17H12.01' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-checkmark: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='M9 11L12 14L22 4' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21 12V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H16' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-data: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='M14 2H6C5.46957 2 4.96086 2.21071 4.58579 2.58579C4.21071 2.96086 4 3.46957 4 4V20C4 20.5304 4.21071 21.0391 4.58579 21.4142C4.96086 21.7893 5.46957 22 6 22H18C18.5304 22 19.0391 21.7893 19.4142 21.4142C19.7893 21.0391 20 20.5304 20 20V8L14 2Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 2V8H20' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 13H8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 17H8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 9H9H8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-home: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='M3 9L12 2L21 9V20C21 20.5304 20.7893 21.0391 20.4142 21.4142C20.0391 21.7893 19.5304 22 19 22H5C4.46957 22 3.96086 21.7893 3.58579 21.4142C3.21071 21.0391 3 20.5304 3 20V9Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 22V12H15V22' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lp-icon-thunder-move:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='m16.37 19.94 5.85-8.77A.75.75 0 0 0 21.6 10H17V4.48a.75.75 0 0 0-1.37-.42l-5.85 8.77A.75.75 0 0 0 10.4 14H15v5.52a.75.75 0 0 0 1.37.42ZM4.5 5h5a1.5 1.5 0 0 1 0 3h-5a1.5 1.5 0 1 1 0-3Zm0 12h5a1.5 1.5 0 0 1 0 3h-5a1.5 1.5 0 0 1 0-3Zm-2-6h4a1.5 1.5 0 0 1 0 3h-4a1.5 1.5 0 0 1 0-3Z' /%3E%3C/svg%3E");--col-padding:16px;--textNeutralColor:#848484;position:relative;overflow:visible;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation{padding:var(--header-height, 96px) 72px 0 72px;}@media (max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation{padding:0;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation__container{width:100%;max-width:none;padding-left:72px;padding-right:72px;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation__container{padding-left:16px;padding-right:16px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation--fullbleed{padding:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .opening-wrapper{min-height:calc(60vh - var(--header-height, 96px));position:relative;width:100%;height:100%;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .opening-wrapper{min-height:80vh;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .background{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .background:after{content:"";display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(180deg, rgba(33, 34, 39, 0) 0%, #212227 100%);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .background>img{object-fit:cover;height:100%;width:100%;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .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;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:224px 112px min(15vh, 80px) 112px;}@media (max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .content{padding:216px 24px 60px 24px;}}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .content{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding-top:124px;padding-bottom:24px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .benefits{margin:0;list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16px 24px;font-size:14px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .benefits .benefit{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;margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .benefits .benefit::before{content:"";-webkit-mask-image:var(--lp-icon-check);mask-image:var(--lp-icon-check);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;width:24px;height:24px;margin-right:12px;background-color:var(--highlightColor, currentColor);}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .benefits .benefit{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper{position:relative;margin-top:22px;padding:24px;background-color:#fff;color:#000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper{padding:0;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;background-color:transparent;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-icon{padding:0 12px;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: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-icon{display:none;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input{-webkit-box-flex:100;-webkit-flex-grow:100;-ms-flex-positive:100;flex-grow:100;border:none;padding:12px 24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input:focus{outline:none;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input{width:100%;margin-bottom:0.5rem;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .lp-btn{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist{margin:0;list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16px 24px;padding:0;font-size:14px;line-height:2;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist li{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;margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist li::before{font-size:inherit;content:"";display:inline-block;vertical-align:middle;-webkit-mask-image:var(--lp-icon-done);mask-image:var(--lp-icon-done);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;width:24px;height:24px;margin-right:12px;background-color:var(--bgcolor, currentColor);}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist li{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist--golden li::before{background-color:var(--highlightColor, #CCB091);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist--small{margin-left:0;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:24px 16px;font-size:12px;line-height:1.33333;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist--small li{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-checklist--small li::before{width:16px;height:16px;margin-right:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-wrapper{position:absolute;left:0;top:100%;width:100%;max-width:584px;z-index:12;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-wrapper{top:46px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-results{line-height:normal;text-align:left;background-color:var(--lp-color-light, #fff);position:relative;top:0;width:100%;border:none;overflow:hidden;border-radius:0;-webkit-transition:height 0.3s ease;transition:height 0.3s ease;height:0;z-index:1;box-shadow:0px 15px 40px rgba(0, 0, 0, 0.08);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-results.show{margin-top:4px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-results.on-top{top:auto;bottom:calc(100% + 1.25rem);box-shadow:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .search-in-progress{padding:30px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:30px;opacity:0.5;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .not-visible{display:none!important;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .nothing-found{width:100%;padding:20px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .predefined-links{max-height:400px;overflow-x:hidden;overflow-y:auto;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-container,#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .predefined-links{padding:12px 24px;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-container,#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .predefined-links{padding-top:8px;padding-bottom:8px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-search__input{font-size:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link{cursor:pointer;width:100%;padding-top:18px;padding-bottom:17px;border-bottom:1px solid #f3f3f3;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-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;color:#848484;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;white-space:nowrap;overflow:hidden;font-weight:400;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link:last-child{border-bottom:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link .highlighted{color:var(--lp-color-dark, #000);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link .main-text{max-width:100%;text-overflow:ellipsis;overflow:hidden;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link .secondary-text{margin-left:0.3em;-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%;text-overflow:ellipsis;overflow:hidden;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link:hover,#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-link.selected-link{color:var(--lp-color-dark-2, #000);font-weight:500;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-block-title{margin-bottom:0.125rem;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .results-title-label{padding-left:var(--res-h-pads);padding-right:var(--res-h-pads);font-weight:700;line-height:1.625;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal{position:fixed;top:0;left:0;width:100%;height:100%;padding:0;background-color:rgba(0,0,0,.75);z-index:1010;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal.visible{-webkit-animation:fadeIn .6s ease;animation:fadeIn .6s ease;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal:not(.visible){display:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal ::-webkit-scrollbar{width:6px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal ::-webkit-scrollbar-track{border-radius:6px;background-color:#f3f3f3;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal ::-webkit-scrollbar-thumb{border-radius:6px;background-color:#c4c4c4;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__content{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:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;height:100%;margin:auto;background-color:#fff;color:#000;overflow:hidden;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__back{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;margin-bottom:16px;font-size:12px;line-height:16px;font-weight:600;border:none;background:transparent;-webkit-text-decoration:none;text-decoration:none;padding:0;cursor:pointer;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__back .hv-icon{margin-right:8px;font-size:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__back .hv-icon::after{width:16px;height:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow-y:auto;scrollbar-color:#C4C4C4 #f3f3f3;scrollbar-width:thin;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__row{height:100%;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:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:-16px;margin-right:-16px;}@media(max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__row{margin-left:0;margin-right:0;-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;height:-webkit-max-content;height:-moz-max-content;height:max-content;min-height:100%;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__sso-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:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:12px;margin-bottom:24px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__col{position:relative;max-width:50%;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;padding-left:16px;padding-right:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__col:not(:first-child)::before{content:"";position:absolute;left:-0.5px;top:0;height:100%;border-right:1px solid #E7E7E7;pointer-events:none;}@media (max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__col:not(:first-child)::before{display:none;}}@media(max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__col{max-width:100%;-webkit-flex:0;-ms-flex:0;flex:0;padding:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__col:not(:first-child){border-top:1px solid #e7e7e7;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__content-block{padding-top:40px;padding-bottom:40px;width:max(415px, 66.66667%);margin:15vh auto;}@media(max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__content-block{width:100%;margin:auto;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__title{margin-bottom:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__lead{margin-bottom:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__powered-by{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:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__powered-by svg{margin-left:.5em;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-modal__how-calc{margin-top:12px;margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .content-item:not(:last-of-type){padding-bottom:24px;border-bottom:1px solid #e7e7e7;margin-bottom:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .content-item__label{margin-bottom:8px;font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:0.5px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .content-item__address{margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .plunk-result{-webkit-order:2;-ms-flex-order:2;order:2;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form{width:100%;margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form__line{margin-bottom:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form__footer{margin-top:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form__footer:only-child{margin-top:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-form__footer .lp-btn{width:100%;margin-bottom:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__avatar{width:72px;height:72px;-webkit-flex:0 0 72px;-ms-flex:0 0 72px;flex:0 0 72px;border-radius:50%;margin-right:20px;overflow:hidden;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__avatar{width:56px;height:56px;-webkit-flex-basis:56px;-ms-flex-preferred-size:56px;flex-basis:56px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__avatar>img{width:100%;height:100%;object-fit:cover;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__avatar>img.portrait{object-position:top;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__name{margin-bottom:4px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__name:last-child{margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__label{margin-bottom:0;font-size:14px;line-height:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .agent-card__label .hv-icon:after{width:16px;height:16px;vertical-align:middle;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon{font-size:inherit;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon:after{--width:24px;--height:24px;--bgcolor:var(--lp-color-dark);content:"";display:inline-block;vertical-align:middle;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;width:var(--width, 1em);height:var(--height, 1em);background-color:var(--bgcolor, currentColor);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-success:after{-webkit-mask-image:var(--lp-icon-success);mask-image:var(--lp-icon-success);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-done:after{-webkit-mask-image:var(--lp-icon-done);mask-image:var(--lp-icon-done);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-close{width:21px;height:21px;background:transparent;cursor:pointer;border:unset;}@media (hover: hover) and (pointer: fine){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-close:hover{opacity:0.7;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-close:focus{outline:none;opacity:0.7;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-close:after{-webkit-mask-image:var(--lp-icon-close);mask-image:var(--lp-icon-close);height:100%;width:100%;background-color:var(--lp-color-primary-dark-blue);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-location:after{-webkit-mask-image:var(--lp-icon-location);mask-image:var(--lp-icon-location);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-mail:after{-webkit-mask-image:var(--lp-icon-mail);mask-image:var(--lp-icon-mail);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-question-mark:after{-webkit-mask-image:var(--lp-icon-question-mark);mask-image:var(--lp-icon-question-mark);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-checkmark:after{-webkit-mask-image:var(--lp-icon-checkmark);mask-image:var(--lp-icon-checkmark);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-back:after{-webkit-mask-image:var(--lp-icon-back);mask-image:var(--lp-icon-back);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-data:after{-webkit-mask-image:var(--lp-icon-data);mask-image:var(--lp-icon-data);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-home:after{-webkit-mask-image:var(--lp-icon-home);mask-image:var(--lp-icon-home);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-icon-thunder-move:after{-webkit-mask-image:var(--lp-icon-thunder-move);mask-image:var(--lp-icon-thunder-move);}@-webkit-keyframes grow{from{width:40%;}to{width:100%;}}@keyframes grow{from{width:40%;}to{width:100%;}}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);transform-origin:50% 50%;}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);transform-origin:50% 50%;}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);transform-origin:50% 50%;}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);transform-origin:50% 50%;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-placeholder{max-width:200px;margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-placeholder::before,#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-placeholder::after{content:"";display:block;width:80px;height:.5rem;background-color:#f3f3f3;border-radius:1rem;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-placeholder::before{width:144px;margin-bottom:.75rem;-webkit-animation-delay:2s;animation-delay:2s;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-output{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;gap:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-output .lp-socials{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-bottom:-1em;row-gap:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .valuation-output .lp-socials li{margin-bottom:1em;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .text-neutral{color:var(--textNeutralColor, #848484);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mb-0{margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mb-1{margin-bottom:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mb-2{margin-bottom:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mb-3{margin-bottom:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mt-0{margin-bottom:0;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mt-1{margin-top:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mt-2{margin-top:16px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .mt-3{margin-top:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup{height:100vh;width:100%;padding:24px;background-color:rgba(0, 0, 0, 0.3);position:fixed;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;top:0;left:0;z-index:1010;overflow-y:auto;scrollbar-color:#C4C4C4 #f3f3f3;scrollbar-width:thin;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup ::-webkit-scrollbar{width:6px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup ::-webkit-scrollbar-track{border-radius:6px;background-color:#f3f3f3;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup ::-webkit-scrollbar-thumb{border-radius:6px;background-color:#c4c4c4;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__text-header{padding-right:80px;margin-bottom:24px;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__text-header{padding-right:40px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__title{margin-bottom:8px;padding-right:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__lead{margin-bottom:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__close{position:absolute;right:40px;top:44px;cursor:pointer;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__close{right:16px;top:24px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__container{position:relative;width:100%;max-width:631px;margin:auto;background:#fff;color:#000;padding:40px;-webkit-animation-duration:.3s;animation-duration:.3s;}@media (max-width: 620px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__container{padding:24px 16px;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__label{display:block;margin-bottom:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__btn-group{margin-top:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__btn-group button,#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__btn-group .lp-btn{display:block;width:100%;margin-top:12px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hv-popup__footer{margin-top:12px;text-align:center;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .close-icon{width:24px;height:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .close-icon:after{content:'';display:block;background-color:#000000;width:24px;height:24px;-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='M7 7L17 17' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M7 17L17 7' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E%0A");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='M7 7L17 17' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M7 17L17 7' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E%0A");-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='M7 7L17 17' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M7 17L17 7' stroke='black' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E%0A");}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .map-container{width:100%;height:152px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .hint{cursor:pointer;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 [hidden]{display:none!important;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .redesign p{white-space:normal;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .conditional-desktop-only{display:block;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .conditional-mobile-only{display:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .schedule-consultation{border-top:none!important;}@media (max-width: 1024px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown:not(:first-child){border-bottom:1px solid #e7e7e7;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown .hv-modal__col{border-top:none;-webkit-order:2;-ms-flex-order:2;order:2;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown .plunk-result{-webkit-order:-1;-ms-flex-order:-1;order:-1;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown .conditional-desktop-only{display:none;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .js-result-shown .conditional-mobile-only{display:block;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .loader{position:absolute;right:0;left:0;bottom:-36px;color:var(--fontColor, #ffffff);}@media(max-width: 768px){#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .loader{margin-top:.75rem;}}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .loader .line-wrapper{background:#ffffff;height:3px;position:relative;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .loader .line{position:absolute;top:0;left:0;bottom:0;right:0;height:3px;width:0;background-color:var(--highlightColor);}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .loader .text{margin-top:8px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .lp-h5{text-transform:none;font-weight:400;font-family:var(--global-primary-font-family);font-size:24px;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .lp-input{color:currentColor;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input::-webkit-input-placeholder{color:#848484;opacity:1;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input::-moz-placeholder{color:#848484;opacity:1;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input:-ms-input-placeholder{color:#848484;opacity:1;}#section-e5c9524f-e805-4382-87ab-d0f7f2c145b4 .home-valuation .search-wrapper .search-input::placeholder{color:#848484;opacity:1;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--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;}@media (max-width: 768px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .lp-btn{min-width:310px!important;}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid{text-align:center;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .lp-text--pretitle,#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .lp-text--subtitle{margin-left:auto;margin-right:auto;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items{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-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items.items-1 .item{margin-left:auto;margin-right:auto;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items.three-columns .item{width:calc(100% / 3);}@media (max-width: 768px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items.three-columns .item{width:100%;}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item{width:50%;overflow:hidden;}@media (max-width: 768px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item{width:100%;}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item h3{margin-bottom:1.666rem;}@media (max-width: 768px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item h3{margin-bottom:0;}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper{padding-bottom:70%;position:relative;display:block;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .image-holder{-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out;position:absolute;left:0;right:0;top:0;bottom:0;background:center no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#eeeeee;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .image-holder img{position:absolute;width:100%;height:100%;top:0;left:0;object-fit:cover;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .overlay{position:absolute;left:0;right:0;top:0;bottom:0;background-color:rgba(0, 0, 0, 0.3);}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .content-container{color:white;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%);max-width:600px;width:70%;}@media (max-width: 1024px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .content-container{width:calc(100% - 40px);}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .content-container .button-wrapper{-webkit-transition:all linear 0.4s;transition:all linear 0.4s;}@media (min-width: 1025px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .content-container .button-wrapper{max-height:0;opacity:0;}}@media (max-width: 1024px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item .item-wrapper .content-container .button-wrapper{display:none;}}@media (min-width: 1025px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item:hover .item-wrapper .image-holder{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}}@media (min-width: 1025px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .featured-neighborhoods-grid .items .item:hover .item-wrapper .content-container .button-wrapper{max-height:90px;opacity:1;}}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .neighborhood-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .button-container{padding-top:60px;}@media(max-width: 768px){#section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd .button-container{padding-top:40px;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#A2A08B;--bgColor_H:55;--bgColor_S:11%;--bgColor_L:59%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#A2A08B;}@media (max-width: 768px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 div.newsletter-signup{min-height:unset;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 input.lp-input{border-color:var(--white3);color:var(--white);}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 input.lp-input:focus{border-color:var(--white);}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .lp-disclaimer a:hover{color:var(--accent);}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .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-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup{min-height:80vh;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup .lp-container-custom{padding:0 25px;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form{margin:0;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form.success .newsletter-signup__form-container{display:none;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .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-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__inputs-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-container{position:relative;z-index:1;}@media (max-width: 768px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-container .lp-h2{margin-bottom:32px;}}@media (max-width: 768px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-container .lp-text--subtitle{margin-bottom:32px;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:16px;}@media (max-width: 768px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:0px;margin-top:32px;}}@media (min-width: 769px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-item.lp-input{padding-top:0;padding-bottom:0;width:250px;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-item.lp-btn{text-transform:uppercase;font-weight:700;}@media (min-width: 769px){#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup__form-item.lp-btn{width:200px;}}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .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-fb1a9254-6541-4e75-ad06-56093140b8a9 .newsletter-signup .success-block.hide{display:none;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .lp-h-pot{max-width:1px;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 .lp-title-group{max-width:unset;padding:0 20px;}#section-fb1a9254-6541-4e75-ad06-56093140b8a9 input:-webkit-autofill,#section-fb1a9254-6541-4e75-ad06-56093140b8a9 input:-webkit-autofill:hover,#section-fb1a9254-6541-4e75-ad06-56093140b8a9 input:-webkit-autofill:focus,#section-fb1a9254-6541-4e75-ad06-56093140b8a9 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-fb1a9254-6541-4e75-ad06-56093140b8a9 .lp-disclaimer{max-width:730px;margin:20px auto 0 auto;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b{display:none;color:#000000;--fontColor:#000000;--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-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .collection{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;margin:0 -10px 50px;}@media (max-width: 767px){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .collection{margin-bottom:24px;}}@media (min-width: 1024px){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .collection:not(.collection--3) .item figure{height:472px;}}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .slick-track{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;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item{margin:0 10px;-webkit-text-decoration:none;text-decoration:none;color:#211F1F;}@media (hover: hover) and (pointer: fine){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item:hover img{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item figure{position:relative;overflow:hidden;margin:0 0 24px;background-color:#f2f2f2;height:310px;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item img{-webkit-transition:all .3s;transition:all .3s;height:100%;width:100%;object-fit:cover;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item .label{position:absolute;top:10px;right:10px;padding:6px 10px;background-color:rgba(255,255,255, .8);margin:0;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-transform:uppercase;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item .lp-h5{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item .bf1{margin:0 0 8px;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .item-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .bottom-bar{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: 767px){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .bottom-bar{-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;}}@media (max-width: 767px){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .bottom-bar .button-holder{width:100%;}}@media (max-width: 767px){#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .arrows{margin-bottom:24px;}}#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .slick-list,#section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b .slick-track{min-width:100%;}#section-0923d516-1d3f-461f-9f05-dc166f462b51{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.25));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/04c2f323-d822-4a26-b944-6cf2281cb75d');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-0923d516-1d3f-461f-9f05-dc166f462b51 div.lp-container.lp-vertical-paddings{z-index:9;}#section-0923d516-1d3f-461f-9f05-dc166f462b51.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-0923d516-1d3f-461f-9f05-dc166f462b51.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-0923d516-1d3f-461f-9f05-dc166f462b51.parallax-enabled .work-with-us:before{display:block;content:'';left:0;top:0;width:100%;background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-0923d516-1d3f-461f-9f05-dc166f462b51 .section{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;min-height:780px;text-align:center;position:relative;z-index:2;}@media (max-width: 767px){#section-0923d516-1d3f-461f-9f05-dc166f462b51 .section{min-height:100vh;}}#section-0923d516-1d3f-461f-9f05-dc166f462b51 .section:before{content:'';position:absolute;bottom:0;left:0;height:50%;width:100%;pointer-events:none;z-index:3;-webkit-transform:translateZ(1px);-moz-transform:translateZ(1px);-ms-transform:translateZ(1px);transform:translateZ(1px);background:linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,  var(--opacityColor) 100%);}#section-0923d516-1d3f-461f-9f05-dc166f462b51 .section .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-0923d516-1d3f-461f-9f05-dc166f462b51 .section .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}#section-0923d516-1d3f-461f-9f05-dc166f462b51 .lp-container{-webkit-transform:translateZ(1px);-moz-transform:translateZ(1px);-ms-transform:translateZ(1px);transform:translateZ(1px);}@media (min-width: 960px) and (orientation: landscape){#section-0923d516-1d3f-461f-9f05-dc166f462b51{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/04c2f323-d822-4a26-b944-6cf2281cb75d');}}@media (min-width: 1280px) and (orientation: landscape){#section-0923d516-1d3f-461f-9f05-dc166f462b51{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/04c2f323-d822-4a26-b944-6cf2281cb75d');}}@media (min-width: 1920px) and (orientation: landscape){#section-0923d516-1d3f-461f-9f05-dc166f462b51{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/04c2f323-d822-4a26-b944-6cf2281cb75d');}}@media (min-width: 2560px) and (orientation: landscape){#section-0923d516-1d3f-461f-9f05-dc166f462b51{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/04c2f323-d822-4a26-b944-6cf2281cb75d');}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d{color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(255, 255, 255, 1);}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d div.section h3{color:#000000;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .section{display:none;overflow:hidden;}@media(min-width: 993px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .lp-container{padding-bottom:200px;}}@media(min-width: 769px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .lp-container{padding-bottom:194px;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .title-group{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;display:block;margin-bottom:48px;}@media(min-width: 769px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .title-group{display:none;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection{width:100%;min-width:400px;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection:not(.slick-initialized) .item-box:nth-child(n+6){display:none;}@media(max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection:not(.slick-initialized){-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-track{margin-left:0;margin-right:0;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-list{overflow:visible;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection img{max-width:100%;}@media(min-width: 1025px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:not(:nth-child(4n-2)){opacity:.3;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n-2) .item__img{opacity:.3;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;-webkit-transform:translate(-50%, 45px);-moz-transform:translate(-50%, 45px);-ms-transform:translate(-50%, 45px);transform:translate(-50%, 45px);}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n-2) .item__img svg{display:block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n-2) .item__info{-webkit-transform:translate(0, calc(50% + 45px));-moz-transform:translate(0, calc(50% + 45px));-ms-transform:translate(0, calc(50% + 45px));transform:translate(0, calc(50% + 45px));}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n-2) .media-type-icon{top:50%;-webkit-transform:translate(0, calc(50% + 35px));-moz-transform:translate(0, calc(50% + 35px));-ms-transform:translate(0, calc(50% + 35px));transform:translate(0, calc(50% + 35px));}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-active:not(:nth-child(4n-2)){opacity:1;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-active:nth-child(4n-2) .item__img{opacity:1;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}}@media (min-width: 769px) and (max-width: 1025px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:not(:nth-child(even)){opacity:.3;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(even) .item__img{opacity:.3;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;-webkit-transform:translate(-50%, 45px);-moz-transform:translate(-50%, 45px);-ms-transform:translate(-50%, 45px);transform:translate(-50%, 45px);}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(even) .item__img svg{display:block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(even) .item__info{-webkit-transform:translate(0, calc(50% + 45px));-moz-transform:translate(0, calc(50% + 45px));-ms-transform:translate(0, calc(50% + 45px));transform:translate(0, calc(50% + 45px));}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(even) .media-type-icon{top:50%;-webkit-transform:translate(0, calc(50% + 35px));-moz-transform:translate(0, calc(50% + 35px));-ms-transform:translate(0, calc(50% + 35px));transform:translate(0, calc(50% + 35px));}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-active:not(:nth-child(even)){opacity:1;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-active:nth-child(even) .item__img{opacity:1;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}}@media(max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide{opacity:.3;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-active{opacity:1;-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n-1),#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection .slick-slide:nth-child(4n){-webkit-transform:translate(-200%, 100%);-moz-transform:translate(-200%, 100%);-ms-transform:translate(-200%, 100%);transform:translate(-200%, 100%);}}@media(min-width: 1440px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .collection{overflow:hidden;height:514px;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .slider-holder{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media(max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .slider-holder{height:calc(100vw - 24px);}}@media(min-width: 1440px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .slider-holder{width:1440px;margin-left:auto;margin-right:auto;height:310px;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;z-index:1;width:310px;height:310px;overflow:visible;margin-right:67px;cursor:default;}@media(max-width: 1024px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item{width:298px;height:298px;margin-right:44px;}}@media(max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item{margin-right:0;margin-bottom:0;width:calc(50vw - 48px);height:calc(50vw - 48px);}}@media(max-width: 560px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item{margin-right:0;margin-bottom:0;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__img{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;height:100%;width:100%;background-color:gray;-webkit-background-size:cover;background-size:cover;-webkit-background-position:center center;background-position:center center;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;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all linear 0.2s;transition:all linear 0.2s;transform-origin:bottom;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__img svg{display:none;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;overflow:hidden;height:100%;width:100%;word-break:break-all;}@media (max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text{display:none;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text .username-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text .username-group .lp-h5{cursor:pointer;display:inline-block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text .username-group .lp-h5 span{-webkit-transition:0.2s all;transition:0.2s all;display:inline-block;}@media (hover: hover) and (pointer: fine){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text .username-group .lp-h5:hover span{-webkit-transform:translateX(5px);-moz-transform:translateX(5px);-ms-transform:translateX(5px);transform:translateX(5px);}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__text .username-group .arrow-icon{display:inline-block;margin-top:9px;width:21px;}@media (max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item-box{padding:13px;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .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.7);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;cursor:pointer;}@media (hover: hover){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__info:hover{opacity:1;}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .item__caption{text-overflow:ellipsis;-webkit-line-clamp:5;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d h5{color:var(--userColor);text-transform:uppercase;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d h3{color:var(--fontColor);margin-bottom:16px;white-space:pre-line;}@media (max-width: 768px){#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d h3{width:calc(100vw - 50px);}}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d a{-webkit-text-decoration:none;text-decoration:none;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .media-type-icon{position:absolute;top:10px;right:10px;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d .has-data .section{display:block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d.has-data .section{display:block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d#section-temp .section{display:block;}#section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d>div:last-child{padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#modal-global-contact-us>.close{display:none;}#modal-global-contact-us .contact-form{--colorLighter1:hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.5);--colorLighter2:hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.3);width:100%;background:center no-repeat;-webkit-background-size:cover;background-size:cover;min-height:800px;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;background-color:#fff;color:#000;-webkit-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around;}#modal-global-contact-us .contact-form ::parent{-webkit-align-items:unset;-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset;}@media (max-width: 1024px){#modal-global-contact-us .contact-form{min-height:100vh;height:auto;display:block;}}#modal-global-contact-us .contact-form .input-container{width:100%;}#modal-global-contact-us .contact-form .input-container+.input-container{margin-top:8px;}#modal-global-contact-us .contact-form__container{z-index:2;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media (max-width: 1024px){#modal-global-contact-us .contact-form__container{padding:0;width:100%;display:block;}}#modal-global-contact-us .contact-form__close{position:absolute;right:5px;top:5px;z-index:10;background-color:transparent;border:none;width:40px;height:40px;cursor:pointer;opacity:0.2;}#modal-global-contact-us .contact-form__close.close{color:#000;}#modal-global-contact-us .contact-form__close:before,#modal-global-contact-us .contact-form__close:after{display:block;content:'';position:absolute;width:20px;height:2px;background-color:currentColor;left:50%;top:50%;}@media (max-width: 768px){#modal-global-contact-us .contact-form__close{top:1vh;}}@media (min-width: 768px) and (max-width: 810px),(min-height: 1024px) and (max-height: 1080px){#modal-global-contact-us .contact-form__close{top:3vh;}}#modal-global-contact-us .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__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__form{width:100%;max-width:637px;text-align:center;min-height:463px;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;position:relative;margin-right:110px;padding:64px 65px;margin-bottom:0;}@media (max-width: 1024px){#modal-global-contact-us .contact-form__form{width:100%;max-width:100%;margin-right:0;padding:44px 24px;}}#modal-global-contact-us .contact-form__details{width:100%;max-width:510px;margin-top:66px;}@media (max-width: 1024px){#modal-global-contact-us .contact-form__details{width:100%;max-width:100%;margin-top:48px;padding-left:24px;padding-right:24px;}}#modal-global-contact-us .contact-form__input{width:100%;}#modal-global-contact-us .contact-form__submit{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:16px;width:100%;padding-top:5px;padding-bottom:5px;height:50px;}#modal-global-contact-us .contact-form .thank-you{display:none;padding:24px;}#modal-global-contact-us .contact-form .success .thank-you{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#modal-global-contact-us .contact-form .success .form-group{display:none;}#modal-global-contact-us .contact-form .success .image{display:none;}#modal-global-contact-us .contact-form__title1{margin-bottom:16px;text-align:left;}#modal-global-contact-us .contact-form__title2{margin-bottom:16px;}#modal-global-contact-us .contact-form__description{margin-bottom:48px;}@media (max-width: 1024px){#modal-global-contact-us .contact-form__description{margin-bottom:32px;}}#modal-global-contact-us .form-inputs-wrap.center-aligned{margin-left:auto;margin-right:auto;}#modal-global-contact-us .company{padding-top:24px;padding-bottom:48px;border-top:1px solid rgba(0, 0, 0, 0.5);color:rgba(0, 0, 0, 0.5);}@media (max-width: 1024px){#modal-global-contact-us .company{padding-bottom:32px;}}#modal-global-contact-us .company_title{margin-bottom:0;}#modal-global-contact-us .company .lp-a a{white-space:nowrap;}#modal-global-contact-us .company p{margin-bottom:0;}#modal-global-contact-us .socials{margin:-8px;margin-bottom:20px;}@media (max-width: 767px){#modal-global-contact-us .socials{margin-left:auto;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin-right:auto;max-width:100%;}}#modal-global-contact-us .socials li{margin:0;padding:8px;}#modal-global-contact-us .contact-form__submit{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;}#modal-global-contact-us .sync-icon{display:none;margin-right:10px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#modal-global-contact-us .success-icon{display:none;margin-right:10px;-webkit-transition:0s;transition:0s;visibility:visible;}#modal-global-contact-us .loading{pointer-events:none;}#modal-global-contact-us .loading .sync-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}#modal-global-contact-us .success-text{display:none;}#modal-global-contact-us .success{pointer-events:none;}#modal-global-contact-us .success .success-icon{display:block;}#modal-global-contact-us .success .success-text{display:inline;}nav{-webkit-transition:0.2s all;transition:0.2s all;}nav nav{-webkit-transition:0.2s all;transition:0.2s all;}nav .header{padding-top:30px;padding-bottom:30px;}nav .header__right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}nav .header__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}nav .header__btn-contact{border:1px solid;border-radius:3px;padding:18px 40px;-webkit-transition:0.2s all;transition:0.2s all;text-transform:none;margin-left:40px;font-size:18px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}@media (hover: hover) and (pointer: fine){nav .header__btn-contact:hover{background-color:var(--themeBlack);color:var(--themeWhite);}}@media (max-width: 768px){nav .header__btn-contact{padding:10px;margin-left:5px;margin-right:12px;}}nav .header__hamburger{background-color:transparent;cursor:pointer;outline:none;position:relative;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-left:41px;width:60px;height:60px;border:none;}@media (max-width: 768px){nav .header__hamburger{width:40px;height:40px;margin-left:15px;}}@media (hover: hover) and (pointer: fine){nav .header__hamburger:hover .line--top{width:12px;x:30px;}nav .header__hamburger:hover .line--bottom{width:24px;x:18px;}}nav .header__hamburger svg{width:100%;height:100%;}nav .header__hamburger circle{fill:var(--themeBeige);}nav .header__hamburger .line{fill:var(--themeWhite);height:2px;width:24px;x:18px;y:26px;-webkit-transition:0.2s all;transition:0.2s all;}nav .header__hamburger .line--bottom{width:12px;x:30px;y:32px;}nav .sub-nav{position:absolute;left:0;top:100%;padding:0;max-height:0;z-index:5;margin:0;list-style-type:none;overflow:hidden;visibility:hidden;-webkit-transition:visibility 0s linear 0.3s,max-height 0.3s ease;transition:visibility 0s linear 0.3s,max-height 0.3s ease;}nav .sub-nav.visible{-webkit-transition:visibility 0s linear 0s,max-height 0.3s ease-in;transition:visibility 0s linear 0s,max-height 0.3s ease-in;max-height:100vh;visibility:visible;}nav .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .sub-nav__link{display:block;color:var(--themeWhite);font-size:14px;font-weight:600;padding:10px 18px;position:relative;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:178px;min-width:100%;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;background-color:var(--themeBlack);}@media (hover: hover) and (pointer: fine){nav .sub-nav__link:hover{color:var(--themeWhite);background-color:rgba(75, 75, 75, 1);}}nav .logo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;outline:none;max-width:234px;height:60px;}@media (max-width: 768px){nav .logo{width:145px;}}nav .logo__img{object-fit:contain;object-position:left;max-width:100%;max-height:100%;}nav .logo__img.light{display:none;}nav .logo__img.dark{display:block;}nav .scroll .header{padding-top:22px;padding-bottom:22px;}@media (hover: hover) and (pointer: fine){nav .scroll .header__btn-contact:hover{background-color:var(--themeWhite);color:var(--themeBlack);}}nav .scroll .search__btn{color:var(--themeWhite);}nav .scroll .logo__img.dark{display:none;}nav .scroll .logo__img.light{display:block;}nav .header.theme-light{color:#fff;}nav .header.theme-light .lp-btn.lp-btn--dark.lp-btn--outline{color:var(--themeWhite, #fff);border-color:var(--themeWhite, #fff);}nav .header.theme-light .lp-btn.lp-btn--dark.lp-btn--outline:hover{color:var(--themeBlack, #fff);border-color:var(--themeBlack, #fff);background-color:var(--themeWhite, #fff);}nav .header.theme-light .logo__img.dark{display:none;}nav .header.theme-light .logo__img.light{display:block;}nav.scroll .header{padding-top:22px;padding-bottom:22px;}nav.scroll .lp-btn.lp-btn--dark.lp-btn--outline{color:var(--themeWhite, #fff);border-color:var(--themeWhite, #fff);}nav.scroll .lp-btn.lp-btn--dark.lp-btn--outline:hover{color:var(--themeBlack, #fff);border-color:var(--themeBlack, #fff);background-color:var(--themeWhite, #fff);}nav.scroll .search__btn{color:var(--themeWhite);}nav.scroll .logo__img.dark{display:none;}nav.scroll .logo__img.light{display:block;}nav .navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;list-style-type:none;margin:0;padding:0;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex:1;-ms-flex:1;flex:1;}@media (max-width: 1024px){nav .navigation{display:none;}}nav .navigation__item{padding:0;margin:0;visibility:hidden;height:0;}nav .navigation__item+.navigation__item{padding-left:20px;}@media (hover: hover) and (pointer: fine){nav .navigation .navigation__item:not(.sub-nav-container) .navigation__link:after{content:'';position:absolute;display:block;width:0;height:2px;-webkit-transition:width .3s linear;transition:width .3s linear;background:var(--themeBeige);bottom:0;left:0;}nav .navigation .navigation__item:not(.sub-nav-container) .navigation__link:hover:after{width:100%;}}nav .navigation__link{display:block;position:relative;font-size:18px;line-height:18px;background-color:transparent;border:none;border-bottom:2px solid transparent;border-top:2px solid transparent;cursor:pointer;padding:21px 10px;max-width:180px;z-index:2;outline:none;color:inherit;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;-webkit-font-smoothing:unset;-webkit-transition:color .3s linear;transition:color .3s linear;}nav .navigation__link:focus,nav .navigation__link:active{outline:none;}nav .sub-nav-container{position:relative;padding-right:21px;}nav .sub-nav-container:after{display:block;content:'';width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;position:absolute;right:3px;top:50%;-webkit-transform:translate(0, calc(-50% - 3px)) rotate(45deg);-moz-transform:translate(0, calc(-50% - 3px)) rotate(45deg);-ms-transform:translate(0, calc(-50% - 3px)) rotate(45deg);transform:translate(0, calc(-50% - 3px)) rotate(45deg);-webkit-transition:-webkit-transform 0.2s linear;transition:transform 0.2s linear;}nav .sub-nav-container.active:after{-webkit-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);-moz-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);-ms-transform:translate(0, calc(-50% + 3px)) rotate(-135deg);transform:translate(0, calc(-50% + 3px)) rotate(-135deg);}nav .search{position:relative;}nav .search__btn{border:none;background-color:transparent;margin-left:20px;cursor:pointer;display:block;color:inherit;}@media (max-width: 768px){nav .search__btn{margin-left:0;}}nav .search__btn svg{display:block;}@media (max-width: 768px){nav .hide-mobile{display:none;}}body>div.sidemenu{background-color:rgba(255, 255, 255, 1);color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}body>div.sidemenu{--colorLighter1:hsla(var(--fontColor_H), var(--fontColor_S), var(--fontColor_L), 0.1);width:100%;display:block;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:.1s all ease-out 2s;transition:.1s all ease-out 2s;background:transparent;}body>div.sidemenu .sidemenu__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu.visible{-webkit-transition:0s all;transition:0s all;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);z-index:900;background-color:transparent;}body>div.sidemenu.visible .sidemenu__img{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000);transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000);}body>div.sidemenu.visible .sidemenu__wrapper{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000);transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000);}body>div.sidemenu.visible .sidemenu__toggle{pointer-events:auto;}body>div.sidemenu .sidemenu__img{background:center no-repeat;-webkit-background-size:cover;background-size:cover;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000) .5s;transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000) .5s;}@media (max-width: 768px){body>div.sidemenu .sidemenu__img{display:none;}}body>div.sidemenu .sidemenu__wrapper{background-color:var(--bgColor, #211F1F);-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;height:100vh;padding:80px 0 66px 0;overflow-y:auto;max-width:700px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000) .5s;transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000) .5s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar{width:4px;background-color:transparent;}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar-thumb{background-color:var(--fontColor, #ffffff);}body>div.sidemenu .sidemenu__wrapper::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 4px rgba(0,0,0,0.3);background-color:var(--bgColor, #211F1F);}@media (max-width: 768px){body>div.sidemenu .sidemenu__wrapper{padding:40px 0 66px 0;}}body>div.sidemenu .sidemenu__toggle{height:48px;margin-right:auto;margin-left:70px;position:relative;border:none;background-color:transparent;outline:none;color:var(--fontColor, #ffffff);padding-right:50px;font-family:inherit;pointer-events:none;cursor:pointer;}@media (max-width: 768px){body>div.sidemenu .sidemenu__toggle{margin-left:20px;}}body>div.sidemenu .sidemenu__toggle--right{margin-left:auto;margin-right:70px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__toggle--right{margin-right:20px;}}body>div.sidemenu .sidemenu__toggle:focus{outline:none;}body>div.sidemenu .sidemenu__toggle:before,body>div.sidemenu .sidemenu__toggle:after{content:'';display:block;position:absolute;width:20px;height:2px;background-color:currentColor;right:0;top:50%;}body>div.sidemenu .sidemenu__toggle:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidemenu__toggle:after{-webkit-transform:translate(-50%, -50%) rotate(-225deg);-moz-transform:translate(-50%, -50%) rotate(-225deg);-ms-transform:translate(-50%, -50%) rotate(-225deg);transform:translate(-50%, -50%) rotate(-225deg);}body>div.sidemenu .sidemenu__nav{margin-bottom:auto;padding:0;}body>div.sidemenu .sidemenu__socials{margin-left:auto;padding-top:30px;padding-right:70px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__socials{padding-right:20px;padding-left:20px;}}body>div.sidemenu .sidemenu__socials .lp-socials li{margin-bottom:14px;}body>div.sidemenu .sidemenu__header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-bottom:93px;}@media (max-width: 768px){body>div.sidemenu .sidemenu__header{padding-bottom:59px;}}body>div.sidemenu .sidemenu__logo{display:none;}@media (max-width: 768px){body>div.sidemenu .sidemenu__logo{display:block;}}body>div.sidemenu .sidemenu__logo-img{display:block;max-height:50px;}body>div.sidemenu .navigation{list-style-type:none;margin:0;padding:0;max-width:100%;}body>div.sidemenu .navigation__item{border-bottom:1px solid var(--colorLighter1);margin:0;overflow:hidden;}body>div.sidemenu .navigation__link{padding:12px 12px 12px 70px;display:block;font-size:22px;font-weight:400;line-height:48px;color:var(--fontColor, #ffffff);-webkit-transition:0.2s all;transition:0.2s all;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;font-family:var(--global-primary-font-family);-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0;position:relative;transition-property:transform,opacity,color;transition-duration:0.55s,0.55s,0.3s;transition-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1),ease-in-out,ease-in-out;}@media(max-width: 768px){body>div.sidemenu .navigation__link{padding-left:20px;padding-right:20px;padding-bottom:16px;}}@media (hover: hover) and (pointer: fine){body>div.sidemenu .navigation__link:hover{color:var(--fontColor, #ffffff);}}body>div.sidemenu .sub-nav{list-style-type:none;display:none;margin:0;padding:10px 0 30px 85px;}@media(max-width: 768px){body>div.sidemenu .sub-nav{padding-bottom:16px;padding-left:35px;}}body>div.sidemenu .sub-nav__item{padding-bottom:10px;margin:0;opacity:0;}body>div.sidemenu .sub-nav__item.fadeInUp{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:var(--delay);animation-delay:var(--delay);}body>div.sidemenu .sub-nav__link{font-size:16px;font-weight:400;cursor:pointer;color:var(--fontColor, #ffffff);font-family:var(--global-secondary-font-family);-webkit-text-decoration:none;text-decoration:none;}body>div.sidemenu .sub-nav.visible{display:block;}body>div.sidemenu .lp-socials__link{opacity:0;-webkit-transform:translateY(-50px);-moz-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px);position:relative;transition-property:transform,opacity,color;transition-duration:0.55s,0.55s,0.3s;transition-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1),ease-in-out,ease-in-out;}body>div.sidemenu body>div.sidemenu{width:100%;}body>div.sidemenu body>div.sidemenu.visible{-webkit-transition:0s all;transition:0s all;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);z-index:900;background-color:transparent;}body>div.sidemenu body>div.sidemenu.visible .sidemenu__img{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000);transition:.7s cubic-bezier(0.645,  0.045, 0.355, 1.000);}body>div.sidemenu body>div.sidemenu.visible .sidemenu__wrapper{-webkit-transform:translateY(0%);-moz-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000);transition:1s cubic-bezier(0.645,  0.045, 0.355, 1.000);}body>div.sidemenu body>div.sidemenu.visible .sidemenu__toggle{pointer-events:auto;}body>div.sidemenu .fade-in{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}body>div.sidemenu .arrow{vertical-align:middle;margin-bottom:10px;-webkit-transition:.4s;transition:.4s;}body>div.sidemenu .arrow.active{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-transition:.4s;transition:.4s;}footer{background-color:#ffffff;color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}footer .lp-input--dark{background-color:#fff;}footer .site-footer__subscribe{padding-top:92px;padding-bottom:92px;background-color:rgba(0,0,0,0.1);}@media (max-width: 768px){footer .site-footer__subscribe{padding-top:64px;padding-bottom:64px;}}footer .site-footer__logo-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:64px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){footer .site-footer__logo-bar{padding-bottom:24px;}}footer .site-footer__logo-container img{max-width:268px;max-height:56px;object-fit:contain;display:block;object-position:left top;}footer .site-footer__logo-container+.site-footer__logo-container{margin-left:50px;}@media (max-width: 768px){footer .site-footer__logo-container+.site-footer__logo-container{margin-left:0;margin-top:16px;width:100%;}}footer .site-footer__info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}@media (max-width: 768px){footer .site-footer__info{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .site-footer__info .lp-a a{white-space:nowrap;}footer .site-footer__col{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-right:32px;}footer .site-footer__col-title{width:100%;margin-bottom:16px;min-height:29px;}footer .site-footer__col-content{opacity:0.5;padding-bottom:16px;}footer .site-footer__col-content p{margin-bottom:0;}footer .site-footer__col-content a{color:inherit;}footer .site-footer__col-content+.site-footer__col-content{padding-left:40px;}@media (max-width: 768px){footer .site-footer__col-content+.site-footer__col-content{padding-left:0;}}footer .site-footer__navigation-wrap{width:100%;padding-top:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 992px){footer .site-footer__navigation-wrap{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:18px;}}@media (max-width: 768px){footer .site-footer__navigation-wrap{padding-top:24px;padding-bottom:0;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}footer .site-footer__socials{margin-left:auto;}@media (max-width: 992px){footer .site-footer__socials{margin-left:0;}}@media (max-width: 768px){footer .site-footer__socials{margin-right:auto;}}footer .site-footer__socials li{margin-bottom:0;}footer .site-footer__disclaimer{padding-top:64px;padding-bottom:32px;position:relative;opacity:0.5;}@media (max-width: 768px){footer .site-footer__disclaimer{padding-top:18px;padding-bottom:25px;}}footer .site-footer__disclaimer:after{content:'';display:block;position:absolute;left:0;bottom:0;right:0;height:1px;background-color:currentColor;opacity:0.2;}footer .site-footer__copy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:32px;font-size:18px;}@media (max-width: 768px){footer .site-footer__copy{padding-top:15px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}footer .site-footer__copy>div:first-child{margin-bottom:15px;}}footer .site-footer__copy a{color:inherit;}footer .site-footer__copy-lp span{margin-right:5px;}footer .site-footer__copy-lp img{margin-right:30px;}@media (max-width: 768px){footer .site-footer__copy-lp img{margin-right:0;margin-bottom:15px;}}@media (min-width: 769px){footer .site-footer__copy-lp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}footer .site-footer__bottom{padding-top:96px;padding-bottom:96px;}@media (max-width: 768px){footer .site-footer__bottom{padding-top:64px;padding-bottom:64px;}}footer .footer-contact{margin-bottom:13px;}footer .footer-contact p{margin-bottom:0;opacity:.7;}footer .footer-contact ul{list-style:none;padding-left:0;margin:0;}footer .footer-subscribe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){footer .footer-subscribe{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .footer-subscribe__title-wrap{padding-right:50px;}@media (max-width: 768px){footer .footer-subscribe__title-wrap{padding-right:0;padding-bottom:32px;}}footer .footer-subscribe__title{margin-bottom:8px;}footer .footer-subscribe__sub-title{margin-bottom:0;}footer .footer-subscribe__form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-width:330px;margin-bottom:0;position:relative;}footer .footer-subscribe__submit{margin-top:16px;}footer .footer-subscribe__success-msg{position:absolute;top:100%;width:100%;text-align:center;opacity:.7;padding-top:10px;}footer .footer-navigation{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 20px 0 0;margin:0 -30px;}@media (max-width: 992px){footer .footer-navigation{margin-bottom:36px;}}@media (max-width: 768px){footer .footer-navigation{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 0 36px;}}footer .footer-navigation__item{margin:0 30px;}@media (max-width: 768px){footer .footer-navigation__item{margin:0 0 10px;}}footer .footer-navigation__link{color:inherit;-webkit-text-decoration:none;text-decoration:none;font-size:14px;line-height:14px;background-color:transparent;border:none;font-family:inherit;cursor:pointer;padding-left:0;padding-right:0;-webkit-transition:0.2s all;transition:0.2s all;}@media (hover: hover) and (pointer: fine){footer .footer-navigation__link:hover{color:var(--themeBeige);}}footer .lp-socials li{margin-bottom:14px;}footer .sync-icon{display:none;margin-right:10px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}footer .success-icon{display:none;margin-right:10px;-webkit-transition:0s;transition:0s;visibility:visible;}footer .loading{pointer-events:none;}footer .loading .sync-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}footer .success .success-icon{display:block;}footer .lp-footer-disclaimers{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:20px;margin-top:32px;padding-top:32px;}@media (max-width: 768px){footer .lp-footer-disclaimers{padding-top:15px;margin-top:15px;}}body>div.mobile-contact-wrapper{z-index:200;position:relative;}body>div.mobile-contact-wrapper .lp-ico:before{content:'';width:1em;height:1em;background-color:currentColor;-webkit-background-size:cover;background-size:cover;display:block;-webkit-mask-position:center;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-transition:all .3s;transition:all .3s;}body>div.mobile-contact-wrapper .lp-ico-search:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' 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");-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.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");-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.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");-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 (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up{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;-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;height: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);}}
        </style>
    <style id="custom-style-css">.button-style-1{color:#383732!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#383732!important;}.button-style-1:hover{color:#FFFFFF!important;background-color:#383732!important;border-color:#383732!important;}.pagination-style-1 li a{color:#383732!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-1 li a:hover{color:#FFFFFF!important;background-color:#383732!important;border-color:#383732!important;}.pagination-style-1 li.active a{color:#FFFFFF!important;background-color:#383732!important;border-color:#383732!important;}.hyperlink-style-1{color:#000000!important;}.hyperlink-style-1:hover{color:#383732!important;}.social_icons-style-1 a{border-color:#383732!important;background-color:#383732!important;color:#FFFFFF!important;}.social_icons-style-1 a:hover{border-color:#383732!important;background-color:rgba(0, 0, 0, 0)!important;color:#383732!important;}.social_icons-style-1 a i{color:inherit!important;}.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.button-style-2{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}.button-style-2:hover{color:#383732!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.hyperlink-style-2{color:#FFFFFF!important;}.hyperlink-style-2:hover{color:#CECECE!important;}.social_icons-style-2 a{border-color:#FFFFFF!important;background-color:#FFFFFF!important;color:#383732!important;}.social_icons-style-2 a:hover{border-color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;color:#FFFFFF!important;}.social_icons-style-2 a i{color:inherit!important;}.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.pagination-style-2 li a{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-2 li a:hover{color:#383732!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.pagination-style-2 li.active a{color:#383732!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.hyperlink-style-3{color:#000000!important;}.hyperlink-style-3:hover{color:#383732!important;}.hyperlink-style-4{color:#FFFFFF!important;}.hyperlink-style-4:hover{color:#CECECE!important;}</style>


        <script>
            (function utmParse() {
                const url = new URL(window.location.href);
                if (url.search) {
                    const utm = url.search.split(/\?|&/g).reduce((acc, current) => {
                        const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g);
                        if (matched) {
                        acc[matched[0]] = current.replace(`${matched[0]}=`, '');
                        }
                        return acc;
                    }, {});
                    if (Object.keys(utm).length) {
                        window.localStorage.setItem('utm_vars', JSON.stringify(utm));
                    } else {
                        // Remove old utm vars
                        window.localStorage.removeItem('utm_vars');
                    }
                }
                // Set referrer in local storage
                // This is meant to be stored once to avoid self-referrals and to have the first referrer only.
                if (!window.localStorage.getItem('referrer')) {
                    // Capture the Referrer URL
                    const referrer = document.referrer;
                    if (referrer) {
                        // Only store the referrer if it comes from outside the current domain (to avoid self-referrals)
                        const currentDomain = window.location.hostname;
                        const referrerDomain = new URL(referrer).hostname;

                        if (referrerDomain !== currentDomain) {
                            // Store it in localStorage
                            localStorage.setItem('referrer', referrer);
                        }
                    }
                }
            })();
        </script>
        <!-- Bing Webmaster Tools Verification -->
<script>
// Check if on the homepage before the body loads
if (window.location.pathname === '/' || window.location.pathname === '/index.html') {
document.write('<meta name="msvalidate.01" content="18166674FE9A03570D2BCFB935D429DC" />');
}
</script>
    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
</head>
<body>
    <div id="google_translate_element" style="display: none"></div>

        <nav id="global-navbar" data-el-id="b395957e-29e6-4bd5-99ee-352fbee7732a">
            <div class="header theme-auto">
  <div class="lp-container header__container">
    <div class="header__logo">
      <a href="/" class="logo">
        <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/916e09ab-83e1-4a06-8cd0-0b2954275119" class="logo__img dark" alt="">
        <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/91978204-2834-4da2-9d04-68af7900723a" class="logo__img light" alt="">
      </a>
    </div>

    <div class="header__right"> 
      <ul class="navigation">
        <li class="navigation__item">
          <a  href="/properties" class="navigation__link">Portfolio</a>
        </li>
        <li class="navigation__item">
          <a  href="/home-search/listings" class="navigation__link">Home Search</a>
        </li>
        <li class="navigation__item">
          <a  href="/home-valuation" class="navigation__link">Home Valuation</a>
        </li>
        <li class="navigation__item">
          <a  href="/neighborhoods" class="navigation__link">Neighborhoods</a>
        </li>
        <li class="navigation__item">
          <a  href="/testimonials" class="navigation__link">Testimonials</a>
        </li>
        <li class="navigation__item">
          <a data-type="CONTACT_US" class="navigation__link">Let's Connect</a>
        </li>
        <li class="navigation__item">
          <a  href="tel:8656799933" class="navigation__link">M: (865) 679-9933</a>
        </li>
        <li class="navigation__item">
          <a  href="tel:8659830011" class="navigation__link">O: (865) 983-0011</a>
        </li>

      </ul>
      
      
      


      <button class="hamburger-component header__hamburger">
        <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
          <circle cx="30" cy="30" r="30" />
          <rect class="line line--top" x="18" y="26" width="24" height="2" />
          <rect class="line line--bottom" x="30" y="32" width="12" height="2" />
        </svg>
      </button>
    </div>

  </div>
</div>
        </nav>
        <div id="global-sidemenu" class="sidemenu" data-el-id="1575f740-92ae-4292-919d-936adffb0f46">
            <div class="sidemenu__container">
  

  <div class="sidemenu__img" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/29148df9-c027-4356-a445-833c79372817');">
  </div>
  
  <div class="sidemenu__wrapper">
    <div class="sidemenu__header">
      <button class="sidemenu__toggle toggle sidemenu__toggle--right">Close Menu</button>
    </div>
    
    <div class="sidemenu__nav">
      <ul class="navigation">
        <li class="navigation__item" >
          <a  href="/" class="navigation__link" >Home</a>
        </li>
        <li class="navigation__item" >
          <a  href="/about" class="navigation__link" >About Robin</a>
        </li>
        <li class="navigation__item" >
          <a  href="/properties" class="navigation__link" >Portfolio</a>
        </li>
        <li class="navigation__item" >
          <a  href="/home-search/listings" class="navigation__link" >Home Search</a>
        </li>
        <li class="navigation__item" >
          <a  href="/home-valuation" class="navigation__link" >Home Valuation</a>
        </li>
        <li class="navigation__item" >
          <a  href="/neighborhoods" class="navigation__link" >Neighborhoods</a>
        </li>
        <li class="navigation__item" >
          <a  href="/testimonials" class="navigation__link" >Testimonials</a>
        </li>
        <li class="navigation__item sub-nav-container" data-wow-delay="2.7s">
          <a href="#" class="navigation__link">
          Resources
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="arrow" xmlns="http://www.w3.org/2000/svg">
              <path d="M7.41 8.58984L12 13.1698L16.59 8.58984L18 9.99984L12 15.9998L6 9.99984L7.41 8.58984Z" fill="currentColor"/>
            </svg>
          </a>
          <ul class="sub-nav">
            <li class="sub-nav__item"><a  href="/buyers" class="sub-nav__link feature">Buyer&#x27;s Guide</a></li>
            <li class="sub-nav__item"><a  href="/sellers" class="sub-nav__link feature">Seller&#x27;s Guide</a></li>
          </ul>
    
        </li>
        <li class="navigation__item" >
          <a  href="/mortgage-calculator" class="navigation__link" >Mortgage Calculator</a>
        </li>
        <li class="navigation__item" >
          <a  href="/blog" class="navigation__link" >Blog</a>
        </li>
        <li class="navigation__item" >
          <a  href="/contact-us" class="navigation__link" >Let's Connect</a>
        </li>
        <li class="navigation__item" >
          <a  href="/home-search/account" class="navigation__link" >My Search Portal</a>
        </li>
      </ul>
    </div>
  
    <div class="sidemenu__socials">
          <ul class="lp-socials social_icons-style-1 sidemenu-social-links">
          
                  <li>
                    <a
                      href="https://www.linkedin.com/in/robin-skeen-7969021b"
                      class="lp-socials__link socials__item"
                      data-wow-delay="0s"
                      target="_blank"
                      aria-label="LINKEDIN"
                    >
                        <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
                    </a>
                  </li>
                  <li>
                    <a
                      href="https://www.zillow.com/profile/robinskeen"
                      class="lp-socials__link socials__item"
                      data-wow-delay="0.1s"
                      target="_blank"
                      aria-label="ZILLOW"
                    >
                        <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                    </a>
                  </li>
            </ul>    </div>
  </div>
</div>

        </div>
        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51">
            <div class="btn-holder" 
style="
--backgroundColor: rgba(255, 255, 255, 1); 
--textColor: rgba(0, 0, 0, 1); 
--pillTextColor: rgba(255, 255, 255, 1); 
--pillBackgroundColor: rgba(56, 55, 50, 1);">

    <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Let&#x27;s Connect</button>
</div>


<div class="pop-up" style="--backgroundColor: rgba(255, 255, 255, 1); --textColor: rgba(0, 0, 0, 1);">
  <div class="lp-container">
    <form data-type="contact-form" class="contact-form">
      <div class="contact-form__container">
          <h3 class="lp-h3">Leave a Message</h3>
      
        <div class="contact-form__content">
          <div class="contact-form__inputs-container">
            <div class="contact-form__item">
              <input
                id="__FullName"
                type="text" name="name"
                class="lp-input lp-input--light"
                required
                placeholder="Full Name">
            </div>
            <div class="contact-form__item">
              <input
                id="__Email"
                type="email" name="email"
                class="lp-input js-email-input lp-input--light"
                required
                placeholder="Email">
            </div>
            <div class="contact-form__item"> 
              <input
                class="lp-input lp-input--light"
                type="tel" 
                placeholder="Phone"
                id="__Phone"
                name="phone"
                required>
            </div>

            <div class="contact-form__item input-group-select">
              <select name="interest" id="-field-interest" placeholder="Interest"
                class="lp-input dropdown-select js-select js-form-element lp-input--light" required>
                <option value="" disabled selected data-label="Interest">Interested in...</option>
                <option value="Selling &amp; Buying">Selling &amp; Buying</option>
                <option value="Selling">Selling</option>
                <option value="Buying">Buying</option>
                <option value="Renting">Renting</option>
                <option value="Other">Other</option>
              </select>
              <label for="-field-interest" class="lp-label sr-only">Interest</label>
            </div>

            <div class="contact-form__item">
              <textarea
                name="message"
                rows="4"
                id="__Message"
                class="lp-input lp-input--light"
                placeholder="Message"
                required></textarea>
            </div>
            <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
  <label class='lp-tcr-content'>
    <span class='lp-tcr-checkbox'>
      <input
        type='checkbox'
        id='-termsAccepted'
        name='termsAccepted'
        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
        oninput="this.setCustomValidity('')"
        required
      /></span>
    <span class='lp-tcr-message'>
      
        I agree to be contacted by
        Robin L Skeen
        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
    </span>
  </label>

</div>
            <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit  contact-form__item">Submit</button>
            
            <div class="lp-h-pot">
              <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
            </div>
            
            <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
            <input type="hidden" name="button_text" value="Let&#x27;s Connect">
          </div>
        </div>
      </div>


      <div class="success-block">
          <h3 class="lp-h3 success-message">Thank you for your message. I will be in touch with you shortly.</h3>

      </div>
    </form>

    <button type="button" class="close-btn lp-ico lp-ico-close"></button>
  
  </div>
</div>


        </div>
        <section id="section-509111ce-3482-45d6-a565-8c08f1473bed"  class="video-section is-font-color-light is-background-color-dark" data-el-id="ff2fdff3-a088-41a3-b3e4-21dd3d28f032">
  <div class="video-wrapper">
    <div class="full-screen-video-component">
      <div class="video-wrapper hidable">
        <video class="lazy"
          poster="https://res.cloudinary.com/luxuryp/videos/f_auto,q_auto/so_0,eo_0/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park.jpg"
          style="height:100%;"
          loop
          muted
          autoplay
          playsinline>
          <source data-src="https://res.cloudinary.com/luxuryp/videos/f_webm,vc_vp9,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park.webm" type="video/webm;codecs=vp9">
<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h265,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park.mp4" type="video/mp4;codecs=hvc1">
<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h264,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park.mp4" type="video/mp4">
        </video>
      </div>
        <div class="poster" style="background-image: url('https://res.cloudinary.com/luxuryp/videos/so_0,eo_0,f_auto,q_auto/liuwx8kqiaoxpuviusce/ridge-upon-ridge-of-forest-straddles-the-border-between-north-carolina-and-tennessee-in-great-smoky-mountains-national-park')"></div>
    </div>
  </div>
  <div class="overlay-component"style="--section-overlay: rgba(0, 0, 0, 0.30);"></div>

<div class="redesign opening-with-search height-class-Full" data-only-active="false" data-video-url="" data-show-neighborhood-names="false">
  <div class="center-block"> 
    <div class="container lp-container">
      
      <div class="lp-title-group">
          <h1 class="h1 lp-h1 opening-title">Robin Skeen</h1>
          <div class="opening-description feature lp-pre-line "><p>Tennessee Real Estate Agent</p></div>
      </div>
          
      <div class="buttons">    <a href="/home-search/listings"   class="lp-link lp-link--light link--white opening-button hyperlink-style-2">Home Search</a>
    <a href="/home-valuation"   class="lp-link lp-link--light link--white opening-button hyperlink-style-2">Home Valuation</a>
</div>
    </div>
  </div>
  <div class="bottom-spacer"></div>
</div>
</section>
<section id="section-46898bca-8f08-459b-8713-fb7ac0cbbbee"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="b54544bf-5ee3-4433-bf31-6c6ea38eb1d3">
<div class="section lp-vertical-paddings">
  
  <div class="lp-container">
    <div class="row">
      
      <div class="col col-1-2">
        <div class="image-wrap">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fccec289-8fd3-4ff7-9ea6-e44a2c80e238" 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/fccec289-8fd3-4ff7-9ea6-e44a2c80e238 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fccec289-8fd3-4ff7-9ea6-e44a2c80e238 433w" sizes="(min-width: 1024px) 40vw, 100vw" alt="Robin Skeen Maryville, TN Real Estate Agent Headshot" class="agent-image portrait" loading="lazy">
        </div>
      </div>

      <div class="col col-1-2">
        <div class="agent-details">

          <h2 class="lp-h2 agent-name">
            Meet Robin
          </h2>

          <p class="agent-position bf1">
            REALTOR®
          </p>
          
          <div class="agent-description">
            <p>Having served over 600 clients in almost three decades, Robin brings a broad range of experience&nbsp;and expertise to the closing table. Whether you are an investor, first time home buyer or retiree;&nbsp;Robin has the knowledge and skill to navigate the road to home ownership.&nbsp;</p>
          </div>

          <div class="content-footer">
            <div class="socials">
              
                <ul class="lp-socials social_icons-style-1 lp-socials socials--theme-1">
                
                        <li>
                          <a
                            href="https://www.linkedin.com/in/robin-skeen-7969021b"
                            class="lp-socials__link lp-socials__link"
                            data-wow-delay="0s"
                            target="_blank"
                            aria-label="LINKEDIN"
                          >
                              <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
                          </a>
                        </li>
                        <li>
                          <a
                            href="https://www.zillow.com/profile/robinskeen"
                            class="lp-socials__link lp-socials__link"
                            data-wow-delay="0.1s"
                            target="_blank"
                            aria-label="ZILLOW"
                          >
                              <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                          </a>
                        </li>
                  </ul>        
          </div>

          <div class="cta">
                <a href="/about"   class="lp-link lp-link--dark hyperlink-style-1">Learn More</a>
          </div>
        </div>

      </div>
    </div>
  </div>
</div>

</div>
</section>
<section id="section-f7947a30-739d-4767-bae4-04884aa2f991"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="f5d446fb-a520-4f8d-8eda-49f27fa7ba8b">
  <div class="company-stats lp-vertical-paddings ">
  <div class="lp-container">
    <div class="lp-title-group">
      <h2 class="lp-h2"></h2>
      
      
    </div>
    <div class="company-stats__row ">
      <div class="company-stats__col">
        <div class="stat-card">
          <h3 class="stat-card__value jsValue">30</h3>
          <p class="stat-card__title">
            Years of Experience
          </p>
        </div>
      </div>
      <div class="company-stats__col">
        <div class="stat-card">
          <h3 class="stat-card__value jsValue">600+</h3>
          <p class="stat-card__title">
            Total Sales
          </p>
        </div>
      </div>
      <div class="company-stats__col">
        <div class="stat-card">
          <h3 class="stat-card__value jsValue">100%</h3>
          <p class="stat-card__title">
            5 Star Reviews on Zillow
          </p>
        </div>
      </div>
    </div>
    
  </div>
</div>
</section>
<section id="section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="ee87d271-1520-42d7-88f2-27f85a797fa1">
  <div class="gallery-component redesign">
  <div class="lp-container gallery-component__container">
    <div class="gallery-component__header">
      <h2 class="lp-h2 gallery-component__heading">Helping You Navigate the Road to Home Ownership</h2>
    </div>
    <div class="row gallery-component__row cols-3">
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 href="/buyers"             >
          <div class="gallery-card__preview">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f5ae6bc9-301b-4870-9c54-f3cadd43c8cd" 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/f5ae6bc9-301b-4870-9c54-f3cadd43c8cd 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/f5ae6bc9-301b-4870-9c54-f3cadd43c8cd 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f5ae6bc9-301b-4870-9c54-f3cadd43c8cd 1100w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Buy</h3>
        </a>
      </div>
      
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 data-type="CONTACT_US"           >
          <div class="gallery-card__preview">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/66242891-26b3-40d6-a508-f94557e749f6" 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/66242891-26b3-40d6-a508-f94557e749f6 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/66242891-26b3-40d6-a508-f94557e749f6 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/66242891-26b3-40d6-a508-f94557e749f6 1100w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Let&#x27;s Connect</h3>
        </a>
      </div>
      
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 href="/sellers"             >
          <div class="gallery-card__preview">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8a8f5e0b-0204-4cf1-a568-9d29e0d61ec0" 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/8a8f5e0b-0204-4cf1-a568-9d29e0d61ec0 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/8a8f5e0b-0204-4cf1-a568-9d29e0d61ec0 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8a8f5e0b-0204-4cf1-a568-9d29e0d61ec0 1100w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Sell</h3>
        </a>
      </div>
      
    </div>
  </div>
</div>


</section>
<section  class="image-section is-font-color-light is-background-color-light" id="section-e70a3855-d8f5-4a59-9b03-062a2dcef951" data-el-id="60315b02-0803-4dc1-be5a-360f795dd1a2">
    
    <div class="testimonials-section lp-container lp-vertical-paddings  testimonial-container  parallax">
        <div class="sliders-container">
            <div class="avatar-slider js-avatar-slider">
                    <div class="avatar-slide">
                        <div class="avatar js-animation-target">
                            <svg width="221" height="221" viewBox="0 0 221 221" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <circle cx="110" cy="110" r="110" fill="white" fill-opacity="0.3"/>
                                <path d="M93.0909 108.726C87.4545 108.726 83.697 112.274 82.0061 115.822C82.0061 106.485 86.8909 96.029 100.982 89.8672L100.418 88C86.8909 93.4149 79 104.058 79 117.129C79 127.772 85.9515 133 93.0909 133C99.8545 133 105.303 127.398 105.303 120.863C105.303 114.141 99.8545 108.726 93.0909 108.726ZM128.788 108.726C123.152 108.726 119.394 112.274 117.703 115.822C117.703 106.485 122.588 96.029 136.679 89.8672L136.115 88C122.588 93.4149 114.697 104.058 114.697 117.129C114.697 127.772 121.648 133 128.788 133C135.552 133 141 127.398 141 120.863C141 114.141 135.552 108.726 128.788 108.726Z" fill="black" fill-opacity="0.2"/>
                            </svg>
                        </div> 
                    </div>
                    <div class="avatar-slide">
                        <div class="avatar js-animation-target">
                            <svg width="221" height="221" viewBox="0 0 221 221" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <circle cx="110" cy="110" r="110" fill="white" fill-opacity="0.3"/>
                                <path d="M93.0909 108.726C87.4545 108.726 83.697 112.274 82.0061 115.822C82.0061 106.485 86.8909 96.029 100.982 89.8672L100.418 88C86.8909 93.4149 79 104.058 79 117.129C79 127.772 85.9515 133 93.0909 133C99.8545 133 105.303 127.398 105.303 120.863C105.303 114.141 99.8545 108.726 93.0909 108.726ZM128.788 108.726C123.152 108.726 119.394 112.274 117.703 115.822C117.703 106.485 122.588 96.029 136.679 89.8672L136.115 88C122.588 93.4149 114.697 104.058 114.697 117.129C114.697 127.772 121.648 133 128.788 133C135.552 133 141 127.398 141 120.863C141 114.141 135.552 108.726 128.788 108.726Z" fill="black" fill-opacity="0.2"/>
                            </svg>
                        </div> 
                    </div>
                    <div class="avatar-slide">
                        <div class="avatar js-animation-target">
                            <svg width="221" height="221" viewBox="0 0 221 221" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <circle cx="110" cy="110" r="110" fill="white" fill-opacity="0.3"/>
                                <path d="M93.0909 108.726C87.4545 108.726 83.697 112.274 82.0061 115.822C82.0061 106.485 86.8909 96.029 100.982 89.8672L100.418 88C86.8909 93.4149 79 104.058 79 117.129C79 127.772 85.9515 133 93.0909 133C99.8545 133 105.303 127.398 105.303 120.863C105.303 114.141 99.8545 108.726 93.0909 108.726ZM128.788 108.726C123.152 108.726 119.394 112.274 117.703 115.822C117.703 106.485 122.588 96.029 136.679 89.8672L136.115 88C122.588 93.4149 114.697 104.058 114.697 117.129C114.697 127.772 121.648 133 128.788 133C135.552 133 141 127.398 141 120.863C141 114.141 135.552 108.726 128.788 108.726Z" fill="black" fill-opacity="0.2"/>
                            </svg>
                        </div> 
                    </div>
            </div>
            <div class="list list-slider js-list-slider" data-arrows-style="" data-autoscroll-interval=4>
                <div class="list-cell js-list-cell">
                    <div class="quote"> 
                        <div class="text">
                            <h6 class="title lp-h6">WHAT My CLIENTS SAY</h6>
                            <p class="body">I had the privilege of working with Robin Skeen when selling my previous home and purchasing a new one about eight months ago. Robin is an exceptional agent—she is highly knowledgeable, professional, and deeply committed to representing her clients’ best interests. From start to finish, she guided me through both transactions with expertise and genuine care, making the process smooth and successful. I am...</p>
                            <p class="author bf1">&#8212; Kristin B.</p>
                        </div>
                    </div>
                </div>
                <div class="list-cell js-list-cell">
                    <div class="quote"> 
                        <div class="text">
                            <h6 class="title lp-h6">WHAT My CLIENTS SAY</h6>
                            <p class="body">Robin was excellent and exceeded expectations. We saw the listing as soon as it was posted and jumped on it immediately. She helped with the process and got us in touch with the seller very quickly to make a move on the house</p>
                            <p class="author bf1">&#8212; David G.</p>
                        </div>
                    </div>
                </div>
                <div class="list-cell js-list-cell">
                    <div class="quote"> 
                        <div class="text">
                            <h6 class="title lp-h6">WHAT My CLIENTS SAY</h6>
                            <p class="body">Robin went above and beyond to help us through every step of the process. It is important to understand that my parents moved to their new home prior to listing the home and I too live several hours away, so that none of our family was local. Robin was therefore our &#x27;project manager/expert on the ground&#x27; since we were not present. She was fabulous in this role, helping us with: coordinating the services ...</p>
                            <p class="author bf1">&#8212; Steve A.</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <div class="bottom no-arrows">
            <div class="arrows-container"></div>
            <p class="num-pages js-num-pages"></p>
                    <a
                        href="/testimonials"
                        
                        class="btn btn--link lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width button-style-2"
                        
                        
                        
                        
                        
                        >
                                View All
                        </a>
        </div>
    </div>

</section>
<section id="section-22433166-14d5-4eeb-8211-440b28393cc3"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="fe4fa47b-568b-45f5-ba41-cfc53ad2829b">
<script type="text/x-handlebars-template" class="item pagination-script">  <a class="item"  {{#if fromMLS}}href="/home-search/listings/{{id}}"{{else}}href="/properties/{{slug}}"{{/if}} class="image-wrap">
         {{#if status}}<p class="status bf1">{{formatPropertyStatus status}}</p>{{/if}} 
        <div class="image-wrap">
          {{#if media}}
          <div class="item__picture lp_animation-img-zoom">
              {{{mediaImage media.[0] sizes="(min-width: 768px) 644px, 100vw" class="img" alt=name}}}
                {{#if openHouseHours}}
                  <div class="open-house label-house bf1">Open House: {{openHouseHours}}</div>
                {{/if}}
          </div>
          {{/if}}
        </div>
    <div class="item__text">
        <h5 class="lp-h5">{{formatPropertyPrice this}}</h5>
        {{#if name}}<p class="bf1">{{fullAddress}}</p>{{/if}}
          <ul class="item__info bf2">            
          {{#if bedroomCount}}
            <li>{{bedroomCount}} {{#numCompare bedroomCount 1 ">"}}BEDS{{else}}BED{{/numCompare}}</li>
          {{/if}}
          {{#if bathCount}}
              <li>{{bathCount}} {{#numCompare bathCount 1 ">"}}BATHS{{else}}BATH{{/numCompare}}</li>
          {{/if}}
          {{#if livingSpaceSize}}
              <li>{{lpFormatNumber livingSpaceSize}} {{formatAreaUnit livingSpaceUnits}}</li>
          {{/if}}
        </ul>

        {{#if @root.mlsCompliance.property}}
          {{#if (or mlsAttribution mlsLogo)}}
          <div class="mls-compliance-container"> 
            {{#if mlsAttribution}}<p class="lp-mls-compliance__mls-attribution">{{mlsAttribution}}</p>{{/if}}
            {{{mediaImage mlsLogo class="lp-mls-compliance__mls-logo" alt="MLS logo" sizes="70px"}}}
          </div>
          {{/if}}
        {{/if}}
    </div>
  </a>
</script>


<div class="featured-properties" >
    <div class="lp-container lp-vertical-paddings">
        <div class="lp-title-group">
            <h2 class="lp-h2">Featured Properties</h2>
            
        </div>
        <div class="collection js-collection " data-arrows-style="" data-disable-infinite="false" data-disable-auto-scroll-desktop="false">
            <a class="item"  href="/properties/184-badger-rd-madisonville-tn-37354-20260303125010687144000000" class="image-wrap">
                   <p class="status bf1">For Sale</p> 
                  <div class="image-wrap">
                    <div class="item__picture lp_animation-img-zoom">
                        <img src="https://dlajgvw9htjpb.cloudfront.net/cms/9432ede2-5ddc-46a1-b803-68b15f1e0f98/1331839/-3267737073151758823.jpg" alt="184 Badger Rd" class="img" loading="lazy">
                    </div>
                  </div>
              <div class="item__text">
                  <h5 class="lp-h5">$549,900</h5>
                  <p class="bf1">132 Badger Rd, Madisonville, TN 37354</p>
                    <ul class="item__info bf2">            
                  </ul>
          
              </div>
            </a>
        </div>
        <div class="bottom-bar">
          <div class="arrows js-arrows space-arrows-centered "></div>
          <div class="button-holder">
                    <a
                        href="/properties"
                        
                        class="btn btn--link lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width button-style-1"
                        
                        
                        
                        
                        
                        >
                                View All
                        </a>
          </div>
        </div>
    </div>
</div>
</section>
<section id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4"  class="solid-section is-font-color-light is-background-color-light" data-el-id="297a2620-2ed9-402f-835c-5c1dff0fb23a">
  <div id="modal-home-valuation-plunk" class="modal hv-modal redesign">
  <div class="hv-modal__content">
    <div class="hv-modal__body">
      <div class="lp-container lp-container--l home-valuation__container">
        <div class="hv-modal__row">
          <div class="hv-modal__col">
            <div class="js-scene-1 hv-modal__content-block" data-ui-main="form">
              <button class="hv-modal__back text-neutral js-close-form">
                <span class="hv-icon hv-icon-back"></span>
                Back to search
              </button>
              <h3 class="lp-h3 hv-modal__title mb-1">Get your instant home valuation</h3>
              <p class="hv-modal__lead text-neutral" data-ui-auth="default">Enter your details to see how much your home is worth.</p>
              <p class="hv-modal__lead text-neutral js-auth-failed" data-ui-auth="error" hidden>*Authentication failed.
                Please enter your details below to get your free valuation.</p>
                <!-- Hide SSO until the backend is ready to support it-->
<!--              <div class="hv-modal__sso-row js-auth-row" data-ui-auth="default" hidden>-->
<!--                <div style="width: 321px; border: none; margin: 0;" data-shape="rectangular"-->
<!--                     data-signin-type="google-sign-in"-->
<!--                     class="social-oauth"-->
<!--                     data-on-success-function-name="onSuccessValCb"-->
<!--                     height="40"-->
<!--                     data-size="large"-->
<!--                     data-width="320"-->
<!--                     data-text="signin_with"-->
<!--                     data-shape="circle"-->
<!--                     data-type="standard"-->
<!--                     data-theme="outline">-->


<!--                </div>-->
<!--                <div style="width: 321px; border: none; margin: 0;"-->
<!--                     data-signin-type="facebook-sign-in"-->
<!--                     class="social-oauth"-->
<!--                     data-on-success-function-name="onSuccessValCb"-->
<!--                     height="40"-->
<!--                     data-size="large"-->
<!--                     data-width="320"-->
<!--                     data-button-type="continue_with"-->
<!--                     data-layout="default"-->
<!--                     data-max-rows="1">-->

<!--                </div>-->
<!--              </div>-->

              <form class="hv-form">


                <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-address" style="display: none;">Home Valuation Address</label>
                <input type="hidden" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-address" name="property-address" />

                <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-valuation" style="display: none;">Home Valuation</label>
                <input type="hidden" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-valuation" name="property-valuation" />

                <div class="hv-form__line">
                  <div class="hv-form__group lp-input-group">
                    <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-name" class="lp-label">Full
                      Name*</label>
                    <input type="text" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-name" name="name" class="lp-input"
                      placeholder="Full Name" required />
                  </div>
                </div>

                <div class="h-pot lp-h-pot">
                  <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-middleName">Middle Name</label>
                  <input id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-middleName" name="middleName" value="" autocomplete="off" tabindex="-1" />
                </div>

                <div class="hv-form__line">
                  <div class="hv-form__group lp-input-group">
                    <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-email" class="lp-label">Email*</label>
                    <input type="email" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-email" name="email" class="lp-input js-email-input" placeholder="Email" 
                      required />
                  </div>
                </div>

                <div class="hv-form__line">
                  <div class="hv-form__group lp-input-group">
                    <label for="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-phone" class="lp-label">Phone*</label>
                    <input type="tel" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-hv-phone" name="phone" class="lp-input" placeholder="Phone"
                      pattern="[0-9\-\(\)+\.\+ ]{5,}" required />
                  </div>
                </div>

                <div class="lp-disclaimer">  <label style='display: none;' for='section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-termsAccepted'>Opt In/Disclaimer Consent:</label>
  <label class='lp-tcr-content'>
    <span class='lp-tcr-checkbox'>
      <input
        type='checkbox'
        id='section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-termsAccepted'
        name='termsAccepted'
        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
        oninput="this.setCustomValidity('')"
        required
      /></span>
    <span class='lp-tcr-message'>
      
        I agree to be contacted by
        Robin L Skeen
        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
    </span>
  </label>

</div>

                <div class="submission-error-message" style="display: none;"></div>

                <div class="hv-form__footer">
                  <button type="submit"
                    class="lp-btn home-val-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width custom-ebook__submit-btn button-style-1">Unlock Your Free Valuation</button>
                </div>
                <ul class="hv-checklist hv-checklist--small mt-2">
                  <li class="p14">
                    Instant result
                  </li>
                  <li class="p14">
                    Sell for more
                  </li>
                  <li class="p14">
                    Get expert advice
                  </li>
                </ul>
              </form>
            </div>
            <div class="js-scene-2 hv-modal__content-block" data-ui-main="agent" hidden>
              <button class="hv-modal__back text-neutral js-close-form conditional-desktop-only">
                <span class="hv-icon hv-icon-back"></span>
                Back to search
              </button>
              <div class="content-item schedule-consultation">
                  <h3 class="lp-h3 hv-modal__title mb-1" data-ui-result="default">Get the best price for your home</h3>
                  <h3 class="lp-h3 hv-modal__title mb-1" data-ui-result="error" hidden>Reach out for more information</h3>
                <p class="hv-modal__lead text-neutral mb-0">Schedule a free consultation with a top local agent who can help you estimate and understand your home's value.</p>
              </div>
              <div class="content-item">
                <div class="agent-card">
                  <div class="agent-card__row">
                    <div class="agent-card__avatar">
                      <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fccec289-8fd3-4ff7-9ea6-e44a2c80e238" 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/fccec289-8fd3-4ff7-9ea6-e44a2c80e238 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/fccec289-8fd3-4ff7-9ea6-e44a2c80e238 433w" sizes="72px" alt="Robin Skeen Maryville, TN Real Estate Agent Headshot" class="portrait" loading="lazy">
                    </div>
                    <div class="agent-card__details">
                      <p class="agent-card__name lp-h5">
Robin Skeen                      </p>
                      <p class="agent-card__label text-neutral">
                        <span class="hv-icon hv-icon-thunder-move"></span>
REALTOR®                      </p>
                    </div>
                  </div>
                </div>
              </div>
              <div class="content-item">
                <p class="content-item__label text-neutral">About Me</p>
                <div class="agent-description mb-3">
                  Having served over 600 clients in almost three decades, she brings a broad range of experience and expertise to the closing table.
                </div>
                <div class="hv-form__footer">
                      <a href="/cdn-cgi/l/email-protection#cdbfa2afa4a3bea6a8a8a38daaa0aca4a1e3aea2a0f2beb8afa7a8aeb9f085a2a0a8e8fffd9baca1b8acb9a4a2a3" target="_blank" class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width js-schedule js-mail button-style-1">Schedule
                      free consultation</a>
                      <a href="tel:(865) 679-9933	" data-number="(865) 679-9933	"
                        class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width js-schedule js-phone button-style-1">Call (865) 679-9933	</a>
                </div>
                <ul class="hv-checklist hv-checklist--small mt-2">
                  <li class="p14">
                    Trusted agent
                  </li>
                  <li class="p14">
                    Local expert
                  </li>
                  <li class="p14">
                    Prompt response
                  </li>
                </ul>
              </div>
            </div>
          </div>

          <div class="hv-modal__col plunk-result">
            <div class="hv-modal__content-block">
              <button class="hv-modal__back text-neutral js-close-form conditional-mobile-only">
                <span class="hv-icon hv-icon-back"></span>
                Back to search
              </button>
              <div class="content-item">
                <h5 class="lp-h5 text-neutral mb-2">Luxury Presence Home Value</h5>
                <p class="valuation-placeholder js-valuation-placeholder" data-ui-value="placeholder"
                  data-ui-result="default"></p>
                <div class="valuation-output js-valuation-output" data-ui-value="value" data-ui-result="default" hidden>
                  <h2 id="plunk-value" class="lp-h1 js-plunk-value mb-0">Estimate not available</h2>
                </div>
                <p class="valuation-error js-valuation-error mb-0" data-ui-result="error" hidden>
                  We need more information to provide an accurate estimate for this address.
                  Local expert Robin Skeen will
                  reach out shortly or you can schedule a consultation now.
                </p>
              </div>
              <div class="content-item">
                <p class="content-item__label text-neutral">Property Address</p>
                <p class="content-item__address js-property-address">Address</p>
                <div class="map-container mt-2" id="map" data-ui-result="default">
                  <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=452/https://media-production.lp-cdn.com/media/3ea69cb0-a40c-49b2-ac5a-a31b434b95c1"
                    alt="dummy-map" />
                </div>
                <p class="hv-modal__how-calc text-neutral" data-ui-result="default">
                  <a href="#" class="lp-link lp-link--dark" id="how-calculate-popup">How we calculate your estimate</a>
                </p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="home-valuation home-valuation--fullbleed" style="--highlightColor:rgba(255, 255, 255, 1)">
  <div class="opening-wrapper">
    <div class="background">
      <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/9084cbd1-e568-4d15-83d3-5c98b99579a8" 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/9084cbd1-e568-4d15-83d3-5c98b99579a8 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/9084cbd1-e568-4d15-83d3-5c98b99579a8 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/9084cbd1-e568-4d15-83d3-5c98b99579a8 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9084cbd1-e568-4d15-83d3-5c98b99579a8 1920w" sizes="90vw" class="image" alt="" loading="lazy">
    </div>
    <div class="content">
      <h2 class="lp-h2 h2 title mb-3">How much is your home worth?</h2>
      <ul class="benefits">
        <li class="benefit">
          Instant property valuation
        </li>
        <li class="benefit">
          Expert advice
        </li>
        <li class="benefit">
          Sell for more
        </li>
      </ul>
      <div class="search-wrapper js-address-search">
        <div class="search-icon">
          <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10.5C5 6 8 3 12.5 3C17 3 20 6.75 20 10.5C20 12.8326 17.8237 16.0357 13.471 20.1093C12.9154 20.6293 12.0585 20.6508 11.4775 20.1595C7.15915 16.5078 5 13.288 5 10.5ZM12.5 12C13.8807 12 15 10.8807 15 9.5C15 8.11929 13.8807 7 12.5 7C11.1193 7 10 8.11929 10 9.5C10 10.8807 11.1193 12 12.5 12Z" fill="black"/></svg>
        </div>        
        <input type="text" id="section-e5c9524f-e805-4382-87ab-d0f7f2c145b4-search" name="home-address" class="search-input" placeholder="Enter your home address…" />
        <button
          class="lp-btn home-val-btn lp-btn--filled lp-btn--dark lp-btn--large lp-btn--mob-full-width js-continue button-style-1"
          disabled>Get a Free Home Valuation</button>
        <div class="results-wrapper">
          <div class="search-results">
            <div class="results-container"></div>
            <div class="search-in-progress not-visible">
              <i class="lp-i lp-i--spinner lp-i--pulse"></i>
            </div>
            <div class="predefined-links not-visible">
            </div>
          </div>
        </div>
        <div class="loader" hidden>
          <div class="line-wrapper"><div class="line"></div></div>
          <div class="text wow fadeIn">Loading valuation...</div>
        </div>
      </div> 
    </div>    
  </div>
</div>


</section>
<section id="section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="ef4a3598-d218-4978-bdc4-94d84dee161b">
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="text/x-handlebars-template" class="gridItem pagination-script"><div class="item">
  <a href="/neighborhoods/{{slug}}" class="item-wrapper">
    <div class="image-holder">
      {{{mediaImage media.[0] sizes="(max-width: 768px) 100vw, 50vw"  alt=name}}}
    </div>
    <div class="overlay"></div>
    <div class="content-container">
      <h3 class="lp-h3 neighborhood-name">{{name}}</h3>
      <div class="button-wrapper">
        <span class="lp-btn lp-btn--light lp-btn--filled lp-btn--big button-style-2">Learn More</span>
      </div>
    </div>
  </a>
</div>
</script>

<div class="featured-neighborhoods-grid lp-vertical-paddings redesign">
  <div class="lp-container">
    <div class="lp-title-group">
      
      <h2 class="lp-h2">Neighborhoods</h2>
      
    </div>
  </div>
  
  <div class="items items-3 three-columns ">
          <div class="item">
            <a href="/neighborhoods/maryville" class="item-wrapper">
              <div class="image-holder">
                <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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4" 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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4 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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4 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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4 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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4 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/59f8b48d-1fe0-43c9-ba9d-29e3adae38d4 3456w" alt="Maryville" sizes="(max-width: 768px) 100vw, 50vw" loading="lazy">
              </div>
              <div class="overlay"></div>
              <div class="content-container">
                <h3 class="lp-h3 neighborhood-name">Maryville</h3>
                <div class="button-wrapper">
                  <span class="lp-btn lp-btn--light lp-btn--filled lp-btn--big button-style-2">Learn More</span>
                </div>
              </div>
            </a>
          </div>
          <div class="item">
            <a href="/neighborhoods/alcoa" class="item-wrapper">
              <div class="image-holder">
                <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/ef77f1b6-9d46-4d3d-8d20-cb7dd87c205e" 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/ef77f1b6-9d46-4d3d-8d20-cb7dd87c205e 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/ef77f1b6-9d46-4d3d-8d20-cb7dd87c205e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ef77f1b6-9d46-4d3d-8d20-cb7dd87c205e 1536w" alt="Alcoa" sizes="(max-width: 768px) 100vw, 50vw" loading="lazy">
              </div>
              <div class="overlay"></div>
              <div class="content-container">
                <h3 class="lp-h3 neighborhood-name">Alcoa</h3>
                <div class="button-wrapper">
                  <span class="lp-btn lp-btn--light lp-btn--filled lp-btn--big button-style-2">Learn More</span>
                </div>
              </div>
            </a>
          </div>
          <div class="item">
            <a href="/neighborhoods/knoxville" class="item-wrapper">
              <div class="image-holder">
                <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/1b84968b-5548-4e1c-92f7-2676a1c87e59" 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/1b84968b-5548-4e1c-92f7-2676a1c87e59 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/1b84968b-5548-4e1c-92f7-2676a1c87e59 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/1b84968b-5548-4e1c-92f7-2676a1c87e59 1920w" alt="Knoxville" sizes="(max-width: 768px) 100vw, 50vw" loading="lazy">
              </div>
              <div class="overlay"></div>
              <div class="content-container">
                <h3 class="lp-h3 neighborhood-name">Knoxville</h3>
                <div class="button-wrapper">
                  <span class="lp-btn lp-btn--light lp-btn--filled lp-btn--big button-style-2">Learn More</span>
                </div>
              </div>
            </a>
          </div>
  </div>
  
    <div class="button-container">
              <a
                  href="/neighborhoods"
                  
                  class="lp-btn lp-btn--outline lp-btn--dark lp-btn--big button-style-1"
                  
                  
                  
                  
                  
                  >
                          View All
                  </a>
    </div>
</div>
</section>
<section id="section-fb1a9254-6541-4e75-ad06-56093140b8a9"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="19e4a145-7cee-4338-8873-657ce2636b4c">
  
<div class="newsletter-signup lp-vertical-paddings redesign">
  <div class="lp-container-custom">
    <form data-type="contact-form" class="newsletter-signup__form">
      <div class="newsletter-signup__form-container">
        <div class="lp-title-group">
          <h2 class="lp-h2">Never Miss a New Home Opportunity</h2>
          <div class="lp-text--subtitle"><p>Are you interested in buying a home? Look no further than working with a Tennessee real estate expert.</p></div>
        </div>
        <div class="newsletter-signup-form">
          <div class="newsletter-signup__inputs-container">
              <input id="section-fb1a9254-6541-4e75-ad06-56093140b8a9__newsSignFirstName" type="text" name="name" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Name">
              
            <input id="section-fb1a9254-6541-4e75-ad06-56093140b8a9__newsSignEmail" type="email" name="email" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Email" pattern="[a-zA-Z0-9.!#$%&amp;’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+">
            
            <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>
            
            <div class="lp-h-pot">
              <input id="section-fb1a9254-6541-4e75-ad06-56093140b8a9__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
            </div>
            
            <input style="display: none;" type="text" name="source" value="NEWSLETTER_SIGNUP" />
          </div>
        </div>
        <div class="lp-disclaimer">  <label style='display: none;' for='section-fb1a9254-6541-4e75-ad06-56093140b8a9-termsAccepted'>Opt In/Disclaimer Consent:</label>
  <label class='lp-tcr-content'>
    <span class='lp-tcr-checkbox'>
      <input
        type='checkbox'
        id='section-fb1a9254-6541-4e75-ad06-56093140b8a9-termsAccepted'
        name='termsAccepted'
        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
        oninput="this.setCustomValidity('')"
        required
      /></span>
    <span class='lp-tcr-message'>
      
        I agree to be contacted by
        Robin L Skeen
        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
    </span>
  </label>

</div>
      </div>
      <div class="success-block">
        <div class="lp-title-group">
          <h2 class="lp-h2">Thank You</h2>
          <div class="lp-text--subtitle"><p>You have successfully been added to my Newsletter. Stay tuned for the latest updates sent straight to your inbox!</p></div>
        </div>
      </div>
    </form>
    
  </div>
</div>
</section>
<section id="section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="fc35b329-1f72-443f-a48c-b13b1a6791ab">
  <div class="section lp-vertical-paddings"> 
  <div class="lp-container"> 
    <div class="lp-title-group">
      <h2 class="lp-h2">Real Estate Insights</h2>
      <p class="lp-text--subtitle lp-pre-line">Stay up to date on the latest trends in real estate.</p>
    </div>
    <div class="collection js-slick collection--3" data-arrows-style="">
  			<a class="item" href="/blog/everyday-lake-and-ridge-living-in-anderson-county">
  				<figure>
			          <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/6ad5aec0-f4ac-4017-8a37-8c12d103118c" 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/6ad5aec0-f4ac-4017-8a37-8c12d103118c 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/6ad5aec0-f4ac-4017-8a37-8c12d103118c 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/6ad5aec0-f4ac-4017-8a37-8c12d103118c 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Everyday Lake And Ridge Living In Anderson County</h5>
  				<p class="bf1">
  				   
  				  
  				  June 4, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/how-to-handle-multiple-offers-as-a-knoxville-buyer">
  				<figure>
			          <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/ee014832-f18c-4a2e-ade6-dbcaad6a6245" 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/ee014832-f18c-4a2e-ade6-dbcaad6a6245 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/ee014832-f18c-4a2e-ade6-dbcaad6a6245 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ee014832-f18c-4a2e-ade6-dbcaad6a6245 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">How To Handle Multiple Offers As A Knoxville Buyer</h5>
  				<p class="bf1">
  				   
  				  
  				  May 28, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/lake-and-outdoor-living-in-anderson-county-tn">
  				<figure>
			          <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/5099949e-6cc4-4df6-b4b9-c062f63c53a1" 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/5099949e-6cc4-4df6-b4b9-c062f63c53a1 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/5099949e-6cc4-4df6-b4b9-c062f63c53a1 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/5099949e-6cc4-4df6-b4b9-c062f63c53a1 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Lake And Outdoor Living In Anderson County TN</h5>
  				<p class="bf1">
  				   
  				  
  				  May 21, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/what-to-know-about-new-construction-in-loudon-county">
  				<figure>
			          <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/21c6bb07-498a-4209-8074-dd5543dd406f" 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/21c6bb07-498a-4209-8074-dd5543dd406f 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/21c6bb07-498a-4209-8074-dd5543dd406f 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/21c6bb07-498a-4209-8074-dd5543dd406f 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">What To Know About New Construction In Loudon County</h5>
  				<p class="bf1">
  				   
  				  
  				  May 14, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/considering-a-vacation-home-in-monroe-county-tn">
  				<figure>
			          <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/c83750e1-656a-4e10-907a-e34719985896" 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/c83750e1-656a-4e10-907a-e34719985896 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/c83750e1-656a-4e10-907a-e34719985896 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/c83750e1-656a-4e10-907a-e34719985896 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Considering A Vacation Home In Monroe County TN</h5>
  				<p class="bf1">
  				   
  				  
  				  May 7, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/getting-your-alcoa-home-ready-for-the-market">
  				<figure>
			          <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/931dda3d-7bef-4a85-99d6-6b152122476c" 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/931dda3d-7bef-4a85-99d6-6b152122476c 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/931dda3d-7bef-4a85-99d6-6b152122476c 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/931dda3d-7bef-4a85-99d6-6b152122476c 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Getting Your Alcoa Home Ready For The Market</h5>
  				<p class="bf1">
  				   
  				  
  				  April 23, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/why-alcoa-works-well-for-frequent-flyers-and-commuters">
  				<figure>
			          <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/1e2b0688-dfea-4ac1-8bc9-2d8f97cca81a" 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/1e2b0688-dfea-4ac1-8bc9-2d8f97cca81a 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/1e2b0688-dfea-4ac1-8bc9-2d8f97cca81a 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/1e2b0688-dfea-4ac1-8bc9-2d8f97cca81a 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Why Alcoa Works Well For Frequent Flyers And Commuters</h5>
  				<p class="bf1">
  				   
  				  
  				  April 16, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/small-town-and-mountain-living-in-monroe-county">
  				<figure>
			          <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/2172735b-0fc8-4529-8127-b637184e2a96" 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/2172735b-0fc8-4529-8127-b637184e2a96 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/2172735b-0fc8-4529-8127-b637184e2a96 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/2172735b-0fc8-4529-8127-b637184e2a96 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Small-Town And Mountain Living In Monroe County</h5>
  				<p class="bf1">
  				   
  				  
  				  April 2, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
  			<a class="item" href="/blog/living-near-tellico-lake-in-loudon-county">
  				<figure>
			          <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/9c603388-0cba-4037-9615-0d21e47dd35f" 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/9c603388-0cba-4037-9615-0d21e47dd35f 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/9c603388-0cba-4037-9615-0d21e47dd35f 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9c603388-0cba-4037-9615-0d21e47dd35f 1408w" alt="" sizes="(min-width: 992px) 33vw, (min-width: 769px) 50vw, 100vw" loading="lazy">
  				 
  				</figure>
  				<h5 class="lp-h5">Living Near Tellico Lake In Loudon County</h5>
  				<p class="bf1">
  				   
  				  
  				  March 24, 2026
  			  </p>
  			  <p class="item-text"> </p>
  			</a>
    </div>
    <div class="bottom-bar">
      <div class="arrows space-arrows-centered"></div>
      <div class="button-holder">
                <a
                    href="/blog"
                    
                    class="btn btn--link lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width button-style-1"
                    
                    
                    
                    
                    
                    >
                            View All
                    </a>
      </div>
    </div>
  </div>
</div>

</section>
<section  class="image-section is-font-color-light is-background-color-light" id="section-0923d516-1d3f-461f-9f05-dc166f462b51" data-el-id="60f303de-57c9-4a3b-87cf-c1b576e15623">
    <script>
  (function(){
    const sectionId = 'section-0923d516-1d3f-461f-9f05-dc166f462b51'
    const section = document.querySelector(`#${sectionId}`);
    var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image');

    if('true' === 'true') {
      section.classList.add('parallax-enabled');
      section.style.setProperty('--sectionBackground', sectionBg);
      section.style.setProperty('background', 'none');
    }
  })()
</script>

<div class="section work-with-us parallax" style="--opacityColor:rgba(0, 0, 0, 0);">
  <div class="lp-container lp-vertical-paddings">
    
    <div class="lp-title-group">
        <h2 class="lp-h2">Work With Robin</h2>
      
      <p class="pre-line">Buying and selling real estate can be a stressful life event. Let 30 years of experience work for you! Robin can assist you in working toward a successful transaction.</p>
    </div>




    


    <div class="btn-container">
              <a
                  role="button"
                  data-type="CONTACT_US"
                  class="btn btn--link lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width button-style-2"
                  
                  
                  
                  
                  
                  >
                          Let&#x27;s Connect
                  </a>
    </div>
  </div>
</div>
</section>
<section id="section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="3614c9e1-cfd9-4976-8483-8f4b825fd098">
  <script type="text/x-handlebars-template" class="jsIGTemplate">
    <a href="https://www.instagram.com/{{username}}" target="_blank"  class="title-group js-title-group">
        <h3 class="lp-h3 js-h3"></h3>
         <div class="username-group"><h5 class="lp-h5">@{{username}}</h5><svg class="arrow-icon" width="18" height="12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-.002 7h14.085l-3.558 3.59L11.926 12l5.965-6-5.965-6-1.401 1.41L14.084 5H-.002v2Z" fill="#CCB091"/></svg></div>
    </a>

    {{#each items}}
    {{#if mediaUrl}}
    <div class="item-box">
      <a href="https://www.instagram.com/{{../username}}" target="_blank" class="item insta-type-{{mediaType}}">
          <div class="item__text">
            <h3 class="lp-h3 js-h3"></h3>
           <div class="username-group"> <h5 class="lp-h5">@{{../username}}</h5> <svg class="arrow-icon" width="18" height="12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-.002 7h14.085l-3.558 3.59L11.926 12l5.965-6-5.965-6-1.401 1.41L14.084 5H-.002v2Z" fill="#CCB091"/></svg></div>
        </div>
        <div class="item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{else}}{{mediaUrl}}{{/ifEquals}}');"></div>
        {{#ifEquals mediaType 'VIDEO'}}
          <div class="media-type-icon">
            <svg width="30px" height="30px" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M19.369 6.042H2.082A2.086 2.086 0 000 8.125v13.71a2.086 2.086 0 002.083 2.083h17.285a2.086 2.086 0 002.084-2.083V8.125a2.086 2.086 0 00-2.084-2.083zM22.84 17.833l7.16 3.91V8.262l-7.16 3.908v5.662z"/></svg>
          </div>
        {{/ifEquals}}
        {{#if caption}}
        <div class="item__info"><div class="item__caption">{{caption}}</div></div>
        {{/if}}
      </a>
     </div>
    {{/if}}
    {{/each}}
</script>  

 
<div class="section">
    <div class="lp-container lp-container--l lp-vertical-paddings" style="--userColor: #ccb091;">
      <div class="slider-holder js-slider-holder"  data-title="Follow Us On 
Instagram" >
        <div class="collection js-collection jsIGContainer"></div>
      </div>
    </div>
</div>


</section>

        <div id="modals" class="modals"></div>
        <footer id="global-footer" class="is-font-color-dark is-background-color-light" data-el-id="f3892c1c-f128-483a-b998-cb1ea48c25c1">
            <div class="site-footer">

  <div class="site-footer__bottom"> 
    <div class="lp-container">
      
        <div class="site-footer__logo-bar">
          <div class="site-footer__logo-container">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d66c246c-af3f-4519-bde6-c68da1161011" alt="">
          </div>
          <div class="site-footer__logo-container">
            
          </div>
        </div>

      <div class="site-footer__info">
        <div class="site-footer__col">
            <h5 class="lp-h5 site-footer__col-title">Robin Skeen</h5>

            <div class="site-footer__col-content lp-a"><p>M: <a href="tel:8656799933" target="_blank" rel="noopener">(865) 679-9933</a></p>
<p>O: <a href="tel:8659830011">(865) 983-0011</a><br><a href="/cdn-cgi/l/email-protection#72001d101b1c011917171c32151f131b1e5c111d1f" target="_blank" rel="noopener"><span class="__cf_email__" data-cfemail="285a474a41465b434d4d46684f45494144064b4745">[email&#160;protected]</span></a></p></div>
        </div>

        <div class="site-footer__col">
          <h5 class="lp-h5 site-footer__col-title">Address</h5>

          <div class="site-footer__col-content lp-a"><p>1213 W Lamar Alexander Pkwy<br>Maryville TN 37801</p></div>
        </div>

          <div class="site-footer__col">
              <h5 class="lp-h5 site-footer__col-title">Download the App</h5>

              <div class="site-footer__col-content lp-a"><p><img class="qr-img" src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/53a1e2dd-d4fd-4119-8ec9-6105c2d0f70a" alt=""><span class="qr-txt">&nbsp; </span></p></div>
          </div>
        
        <div class="site-footer__navigation-wrap">
          <ul class="footer-navigation">
            <li class="footer-navigation__item">
              <a  href="/" class="footer-navigation__link">Home</a>
            </li>
            <li class="footer-navigation__item">
              <a  href="/about" class="footer-navigation__link">About Robin</a>
            </li>
            <li class="footer-navigation__item">
              <a  href="/properties" class="footer-navigation__link">Portfolio</a>
            </li>
            <li class="footer-navigation__item">
              <a  href="/neighborhoods" class="footer-navigation__link">Neighborhoods</a>
            </li>
            <li class="footer-navigation__item">
              <a  href="/testimonials" class="footer-navigation__link">Testimonials</a>
            </li>
            <li class="footer-navigation__item">
              <button data-type="CONTACT_US" class="footer-navigation__link" type="button">Let's Connect</button>
            </li>
          </ul>
        
          <ul class="lp-socials social_icons-style-1 site-footer__socials socials">
          
                  <li>
                    <a
                      href="https://www.linkedin.com/in/robin-skeen-7969021b"
                      class="lp-socials__link socials__item"
                      data-wow-delay="0s"
                      target="_blank"
                      aria-label="LINKEDIN"
                    >
                        <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
                    </a>
                  </li>
                  <li>
                    <a
                      href="https://www.zillow.com/profile/robinskeen"
                      class="lp-socials__link socials__item"
                      data-wow-delay="0.1s"
                      target="_blank"
                      aria-label="ZILLOW"
                    >
                        <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                    </a>
                  </li>
            </ul>

        </div>
      </div>
      
      <div class="site-footer__disclaimer"><p style="font-size: 12px;">All information is deemed reliable but not guaranteed and should be independently reviewed and verified.</p>
<p style="opacity: 1;"><img style="margin-top: 0; width: 100px; height: auto; filter: invert(0);" src="https://res.cloudinary.com/luxuryp/images/zbxf1j3xdplm6lhfnqo3/realtor-eho-logo-07232021-update-dark"></p></div>

      <div class="site-footer__copy">
        <div class="lp-a site-footer__copy-lp">
          <div class="site-footer__logo-container">
            <img src="https://media-production.lp-cdn.com/media/f78e371f-8cef-4648-9d4d-fb6d0cdbee59" alt="">
          </div>
        <span>Website designed and developed by</span>
        <a href="https://www.luxurypresence.com/" class="" target="_blank">Luxury Presence</a>
        </div>
        <div>Copyright © <span class="auto-year-update">2026</span> | <a href="/terms-and-conditions">Privacy Policy</a></div>
      </div>
      
    </div>
  </div>

  
    
</div>

        </footer>

        <div id="modal-global-contact-us" class="modal "
            data-el-id=""
            style="background-color: ;"
            >
            <div class="modal-content">
                  <div class="contact-form">
            <div class="contact-form__close close"></div>
            <div class="contact-form__container">
        
              <form class="contact-form__form" data-type="contact-form" style="color: #FFFFFF; background: rgba(162, 160, 139, 1);  fill: #FFFFFF;">
                <h5 class="lp-h5 contact-form__title1">GET IN TOUCH</h5>
                <div class="input-container">
                  <input id="-cmp-name" name="name" type="text" class="lp-input lp-input--light contact-form__input" placeholder="Name" required>
                  <span class="input-icon"></span>
                </div>
        
                <div class="input-container">
                  <input id="-cmp-email" name="email" type="email" class="lp-input lp-input--light contact-form__input" placeholder="Email" required pattern="[a-zA-Z0-9.!#$%&amp;’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+">
                  <span class="input-icon"></span>
                </div>
        
                <div class="input-container">
                  <input id="-cmp-phone" name="phone" type="tel" class="lp-input lp-input--light  contact-form__input" placeholder="Phone" required>
                  <span class="input-icon"></span>
                </div>
        
                <div class="input-container">
                  <textarea id="-cmp-contactMessage" placeholder="Message" name="message" required type="text" class="lp-input lp-input--light  contact-form__input"></textarea>
                  <span class="input-icon"></span>
                </div>
        
                <div class="h-pot">
                  <label for="-cmp-middleName">Middle Name</label>
                  <input id="-cmp-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
                </div>
        
                <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
          <label class='lp-tcr-content'>
            <span class='lp-tcr-checkbox'>
              <input
                type='checkbox'
                id='-termsAccepted'
                name='termsAccepted'
                oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
                oninput="this.setCustomValidity('')"
                required
              /></span>
            <span class='lp-tcr-message'>
              
                I agree to be contacted by
                Robin L Skeen
                via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
                You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
                <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
            </span>
          </label>
        
        </div>
        
                <input type="hidden" name="source" value="CONTACT_INQUIRY">
                <button class="contact-form__submit btn lp-btn lp-btn--filled button-style-2" type="submit">
        
                  <span class="sync-icon lp-i--spin">
                    <svg width="20" height="15" viewBox="0 0 20 15" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
                      <path d="M16.3636 3.66667L12.7273 7.33333H15.4545C15.4545 10.3675 13.0091 12.8333 10 12.8333C9.08182 12.8333 8.20909 12.6042 7.45455 12.1917L6.12727 13.53C7.24545 14.245 8.57273 14.6667 10 14.6667C14.0182 14.6667 17.2727 11.385 17.2727 7.33333H20L16.3636 3.66667ZM4.54545 7.33333C4.54545 4.29917 6.99091 1.83333 10 1.83333C10.9182 1.83333 11.7909 2.0625 12.5455 2.475L13.8727 1.13667C12.7545 0.421666 11.4273 0 10 0C5.98182 0 2.72727 3.28167 2.72727 7.33333H0L3.63636 11L7.27273 7.33333H4.54545Z" />
                    </svg>
                  </span>
        
                  <span class="success-icon">
                    <svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
                      <path d="M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM10 18C5.59 18 2 14.41 2 10C2 5.59 5.59 2 10 2C14.41 2 18 5.59 18 10C18 14.41 14.41 18 10 18ZM14.59 5.58L8 12.17L5.41 9.59L4 11L8 15L16 7L14.59 5.58Z" />
                    </svg>
                  </span>
        
                  Submit<span class="success-text">ted</span>
                </button>
              </form>
              
              <div class="contact-form__details">
                <h5 class="lp-h5 contact-form__title2">Contact Details</h5>
                <div class="company">
                  <div class="company_contact lp-a">
                    <p>Robin Skeen</p>
        <p>M: <a href="tel:8656799933">(865) 679-9933</a></p>
        <p>O: <a href="tel:8659830011">(865) 983-0011</a></p>
        <p><a href="/cdn-cgi/l/email-protection#473528252e29342c22222907202a262e2b6924282a"><span class="__cf_email__" data-cfemail="6c1e030e05021f070909022c0b010d0500420f0301">[email&#160;protected]</span></a></p>
        <p><br><br></p>
        <p>1213 W Lamar Alexander Pkwy<br>Maryville TN 37801</p>
                  </div>
                </div>
                
                <div class="socials">
                  <ul class="lp-socials social_icons-style-1 lp-socials socials--theme-1">
                  
                          <li>
                            <a
                              href="https://www.linkedin.com/in/robin-skeen-7969021b"
                              class="lp-socials__link lp-socials__link"
                              data-wow-delay="0s"
                              target="_blank"
                              aria-label="LINKEDIN"
                            >
                                <span class="lp-i lp-i--linkedin" aria-hidden="true"></span>
                            </a>
                          </li>
                          <li>
                            <a
                              href="https://www.zillow.com/profile/robinskeen"
                              class="lp-socials__link lp-socials__link"
                              data-wow-delay="0.1s"
                              target="_blank"
                              aria-label="ZILLOW"
                            >
                                <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                            </a>
                          </li>
                    </ul>        </div>
              </div>
            </div>
        </div>
        <!-- version 1 -->
            </div>
            <button class="close lp-close" type="button" aria-label="close modal">
                <span class="lp-close-icon" aria-hidden="true"></span>
            </button>
        </div>
        <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;">
          <style>
            #qualifying-questions-modal .custom-select-toggle {
              border: 1px solid #848484;
              border-radius: 8px;
              padding: 12px 16px;
            }
        
            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
              color: #848484;
            }
        
            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
              color: #848484;
              opacity: 1;
            }
        
            #qualifying-questions-modal .disclaimer-more {
              display: none;
            }
        
            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
              display: inline;
            }
        
            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
              display: none;
            }
          </style>
          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
            function toggleDisclaimerQualifyingQuestionsModal() {
              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
        
              if (disclaimerText.classList.contains('collapsed')) {
                disclaimerText.classList.remove('collapsed');
                toggleButton.textContent = 'Read less';
                toggleButton.setAttribute('aria-expanded', 'true');
              } else {
                disclaimerText.classList.add('collapsed');
                toggleButton.textContent = 'Read more';
                toggleButton.setAttribute('aria-expanded', 'false');
              }
            }
          </script>
          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
              <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;">
                <span aria-hidden="true">&times;</span>
              </button>
              <div style="padding: 40px 30px 32px;">
                <div style="text-align: left; margin-bottom: 32px;">
                  <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;">
                    Thanks, please provide more information to help serve you
                  </h2>
                </div>
                <form id="qualifying-questions-modal-form" data-type="contact-form">
                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
                  <label for="qualifying-questions-modal-email" style="display:none;">
                    Email
                  </label>
                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
                    Trigger Source
                  </label>
        
                  <div style="margin-bottom: 20px;">
                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
                      Phone Number
                    </label>
                    <input
                      type="tel"
                      id="qualifying-questions-modal-phoneNumber"
                      name="phoneNumber"
                      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;"
                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
                      required
                      placeholder="Phone"
                      aria-label="Phone Number"
                      inputmode="tel"
                      autocomplete="tel"
                      onfocus="this.style.borderColor='black';"
                      onblur="this.style.borderColor='#848484';"
                    />
                  </div>
        
                  <div style="margin-bottom: 20px;">
                    <label for="qualifying-questions-modal-interest" style="display:none;">
                      Interest
                    </label>
                    <select
                      id="qualifying-questions-modal-interest"
                      name="interest"
                      required
                      data-label="Interest"
                      aria-label="Interest"
                      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;"
                      onfocus="this.style.borderColor='black'; this.style.color='black';"
                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
                    >
                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
                      <option value="Other" style="background: #fff; color: black;">Other</option>
                    </select>
                  </div>
        
                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
                    <label class='lp-tcr-content'>
                      <span class='lp-tcr-checkbox'>
                        <input
                          type='checkbox'
                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
                          name='termsAccepted'
                          aria-describedby='qualifying-questions-modal-disclaimer-text'
                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
                          oninput="this.setCustomValidity('')"
                          required
                        /></span>
                      <span class='lp-tcr-message'>
                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
                          
                            I agree to be contacted by
                            <strong>Robin L Skeen</strong>
                            via call, email, and text <span class="disclaimer-more">for real estate services. 
                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
                            You can also click the unsubscribe link in the emails. 
                            Message and data rates may apply. Message frequency may vary.</span>
                            <span class="disclaimer-ellipsis">...</span>
                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
                        </div>
                        <button
                          id="qualifying-questions-modal-toggle-disclaimer"
                          type="button"
                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
                          aria-expanded="false"
                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
                        >
                          Read more
                        </button>
                      </span>
                    </label>
                  </div>
        
                  <div>
                    <button
                      type="submit"
                      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;"
                      onmouseover="this.style.background='transparent'; this.style.color='black';"
                      onmouseout="this.style.background='black'; this.style.color='white';"
                    >
                      Submit
                    </button>
                  </div>
                </form>
              </div>
            </div>
          </div>
        </div>

    <script>
        (function() {
        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));

        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
            entries.forEach(function(video) {
                if (video.isIntersecting) {
                for (var source in video.target.children) {
                    var videoSource = video.target.children[source];
                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
                    videoSource.src = videoSource.dataset.src;
                    }
                }

                video.target.load();
                video.target.classList.remove("lazy");
                lazyVideoObserver.unobserve(video.target);
                }
            });
            });

            lazyVideos.forEach(function(lazyVideo) {
                lazyVideoObserver.observe(lazyVideo);
            });
        }
        })();
    </script>

        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script defer src="https://www.googletagmanager.com/gtag/js"></script>

            <!-- Google Tag Manager -->
            <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
            <!-- End Google Tag Manager -->


        <!-- LP Tracker (divolte.js) - LP Divolte -->
            <script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
        <!-- LP Tracker (eventBus) - LP EventBus -->
            <script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>

    <script>
        window.dataLayer = window.dataLayer || [];
        document.sendGoogleTagManagerEvent = function() {
            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
            if (window.navigator.globalPrivacyControl) {
                return;
            }

            dataLayer.push(arguments);
        }

        document.sendGoogleTagManagerEvent('js', new Date());
            document.sendGoogleTagManagerEvent('config', 'G-SDGQNM8RSB', { page: location.pathname, location: location.href });
        document.sendGoogleAnalyticsEvent = function(googleEvent) {
            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
                event_category: googleEvent.eventCategory,
                event_label: googleEvent.eventLabel,
                value: googleEvent.eventValue,
                page: googleEvent.page,
                location: googleEvent.location
            })
        };

        document.addEventListener("DOMContentLoaded", function() {
            (function() {
                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
                var date = new Date();
                var elements = document.getElementsByClassName('auto-year-update');
                var i;
                for (i = 0; i < elements.length; i++) {
                    elements[i].innerText = date.getFullYear();
                }
            })();
            if (window.divolteLp) {
                window.divolteLp('sendLpPageView', {});
            }
            if (window.eventBusLp) {
                window.eventBusLp('sendLpPageView', {});
            }
        });
    </script>


    <script>
    // Function to dynamically load a script
    function loadScript(url, callback) {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        script.defer = true;
        script.async = true;
        script.onload = callback;
        document.head.appendChild(script);
    }

    // Function to dynamically load CSS file
    function loadCSS(url) {
        var link = document.createElement("link");
        link.rel = "stylesheet";
        link.href = url;
        document.head.appendChild(link);
    }

    // Global methods / variables that can be accessed by element js
    window.luxuryPresence = {
        libs: {
            loadJs: loadScript,
            loadCss: loadCSS,
            jsLibsMap: {
                paroller: {
                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
                    isLoaded: false,
                },
                ionRangeSlider: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
                    isLoaded: false,
                    requires: ['jquery'],
                },
                splide: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
                    isLoaded: false,
                },
                wow: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
                    isLoaded: false,
                },
                jquery: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
                    isLoaded: false,
                },
                slick: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
                    isLoaded: false,
                    requires: ['jquery'],
                },
                libphonenumber: {
                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
                    isLoaded: false,
                },
            },
        },
    };
    </script>
    <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>
    <script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
    <script defer src="https://cdn.jsdelivr.net/npm/handlebars-intl@1.1.2/dist/handlebars-intl.min.js"></script>
    <script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
    <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>
    <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>
    <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>

    <!-- GOOGLE TRANSLATE SCRIPT -->
    <script>
        function googleTranslateElementInit() {
            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
                translate.innerText = '';
                new google.translate.TranslateElement({
                    pageLanguage: 'en',
                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
                }, translate);
            });
        }
    </script>
    <script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
            <script defer src="https://accounts.google.com/gsi/intermediate"></script>

    <!-- GOOGLE TRANSLATE SCRIPT END-->
    <script>

        // UI helpers
        (function () {

            function getSideMenu () {
                return document.querySelector('body > div.sidemenu');
            }

            function sideMenuHide (instant) {
                var sideMenu = getSideMenu();
                if (!sideMenu || !sideMenu.classList.contains('visible')) {
                  return;
                }
                sideMenu.classList.remove('visible');
                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
            }

            function sideMenuShow () {
                var sideMenu = getSideMenu();
                if (!sideMenu || sideMenu.classList.contains('visible')) {
                  return;
                }
                sideMenu.classList.add('visible');
                sideMenu.dispatchEvent(new Event('lpui-show'));
                window.dispatchEvent(new Event('lpui-sidemenu-show'));
            }

            function sideMenuToggle () {
                var sideMenu = getSideMenu();
                if (!sideMenu) {
                  return;
                }
                var isSideMenuVisible = sideMenu.classList.contains('visible');
                if (isSideMenuVisible) {
                    sideMenuHide();
                } else {
                    sideMenuShow();
                }
            }

            var scrollLockRequests = {};
            window.__debug_scrollLockRequests = scrollLockRequests;
            var hideScrollStyles = ''+
                    'body {'+
                    'overflow: hidden;' +
                    '}';
            var hideScrollId = 'hide-body-scroll-style';

            function scrollLock () {
                var style = document.createElement('style');
                style.id = hideScrollId;
                style.textContent = hideScrollStyles;
                document.head.appendChild(style);
                window.dispatchEvent(new Event('lpui-scroll-locked'));
            }

            function scrollUnlock () {
                document.getElementById(hideScrollId)?.remove();
                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
            }

            function requestScrollLock (lockId) {
                var wasLocked = Object.keys(scrollLockRequests).length > 0;
                scrollLockRequests[lockId || '__anonymous_lock'] = true;
                if (!wasLocked) {
                    scrollLock();
                }
            }

            function releaseScrollLock (lockId) {
                if (lockId) {
                    delete scrollLockRequests[lockId];
                    if (!Object.keys(scrollLockRequests).length) {
                        scrollUnlock();
                    }
                } else {
                    scrollLockRequests = {};
                    window.__debug_scrollLockRequests = scrollLockRequests;
                    scrollUnlock();
                }
            }

            function showModal (modalId, options) {
                var modal = document.getElementById(modalId);
                if (!modal) {
                    return;
                }

                if (!modal.classList.contains('visible')) {
                    modal.classList.add('visible');
                    if (options && options.scrollLock) {
                        window.lpUI.requestScrollLock(modalId);
                    }
                    modal.dispatchEvent(new Event('lpui-show'));
                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
                }

                const visibleModals = document.querySelectorAll('.modal.visible');

                if (visibleModals.length > 1) {

                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
                        const zIndex = window.getComputedStyle(modal).zIndex;
                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
                        return Math.max(maxZIndex, parsedZIndex);
                    }, 0);

                    modal.style.zIndex = maxZIndex + 1;
                }

            }

            function _hideModal (modalEl) {
                if (!modalEl) {
                    return;
                }
                if (!modalEl.classList.contains('visible')) {
                    return;
                }
                modalEl.classList.remove('visible');
                modalEl.style.zIndex = '';
                modalEl.dispatchEvent(new Event('lpui-hide'));
                var modalId = modalEl.getAttribute('id');
                if (modalId) {
                    window.lpUI.releaseScrollLock(modalId);
                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
                }
            }

            function hideModal (modalId) {
                _hideModal(document.getElementById(modalId));
            }

            function hideClosestModal (el) {
              const modal = el?.closest('.modal');
              if (!modal) {
                return;
              }
              if (modal.classList) {
                _hideModal(modal);
                return;
              }
              if (modal.length && modal[0].classList) {
                _hideModal(modal[0]);
              }
            }

            window.lpUI = {
                sideMenuHide: sideMenuHide,
                sideMenuShow: sideMenuShow,
                sideMenuToggle: sideMenuToggle,
                requestScrollLock: requestScrollLock,
                releaseScrollLock: releaseScrollLock,
                showModal: showModal,
                hideModal: hideModal,
                hideClosestModal: hideClosestModal
            }
        })();

        var stringifyPrimitive = function(v) {
            switch (typeof v) {
                case 'string':
                    return v;

                case 'boolean':
                    return v ? 'true' : 'false';

                case 'number':
                    return isFinite(v) ? v : '';

                default:
                    return '';
            }
        };

        function objectToQuerystring(obj, sep, eq, name) {
            // https://github.com/Gozala/querystring/blob/master/encode.js
            sep = sep || '&';
            eq = eq || '=';
            if (obj === null) {
                obj = undefined;
            }

            if (typeof obj === 'object') {
                return Object.keys(obj).map(function(k) {
                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
                    if (Array.isArray(obj[k])) {
                        return obj[k].map(function(v) {
                            return ks + encodeURIComponent(stringifyPrimitive(v));
                        }).join(sep);
                    } else {
                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
                    }
                }).filter(Boolean).join(sep);

            }

            if (!name) return '';
            return encodeURIComponent(stringifyPrimitive(name)) + eq +
                    encodeURIComponent(stringifyPrimitive(obj));
        }

        function getPath(url, options) {
            var parser = document.createElement('a');
            parser.href = url || '';
            var path = parser.pathname || '';
            if (path[0] !== '/') {
              // IE does not return path starting with a slash
              path = '/' + path;
            }

            if (options && options.queryString) {
                path += parser.search;
            }

            return path;
        }

        function getMLSAutocomplete(keyword) {
            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
            var query = {
                kind: 'listings',
                query: keyword
            };

            return superagent
                .get(searchURL)
                .query(query)
                .then(function(res) {
                    var data = res.body || [];
                    /*
                        Of the format:
                          [{
                            "_index": "listing_auto_completes_production_20190723232720775",
                            "_type": "listing_auto_complete",
                            "_id": "235875624",
                            "_score": 0,
                            "status_modified_at": 1553250708,
                            "city": "Jupiter",
                            "price": 1335743,
                            "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478",
                            "sold_price": null,
                            "id": 235875624,
                            "state": "FL",
                            "photo_urls": [
                              "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg"
                            ],
                            "status": "Pending"
                          }, ...]
                      */

                    return data;
                });
        }

        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';

            return superagent
                .get(searchURL)
                .query({ kind: 'listings', query: keyword, ...filters })
                .then(function(res) {
                    /*
                        Of the format:
                          [{
                            "_index": "listing_auto_completes_production_20190723232720775",
                            "_type": "listing_auto_complete",
                            "_id": "235875624",
                            "_score": 0,
                            "status_modified_at": 1553250708,
                            "city": "Jupiter",
                            "price": 1335743,
                            "display_address": "10088 Calabrese Trail Unit: 9 Jupiter FL 33478",
                            "sold_price": null,
                            "id": 235875624,
                            "state": "FL",
                            "photo_urls": [
                              "http://cdn.photos.sparkplatform.com/fl/20190322153144208228000000-o.jpg"
                            ],
                            "status": "Pending"
                          }, ...]
                    */
                    return res.body || [];
                });
        }

        function makeMlsLink(data) {
            // Code Dupe from utils/googlePlace
            // mapping of google data type to mls data type
            var mapping = {
                neighborhood: 'neighborhood',
                locality: 'place',
                administrative_area_level_2: 'county',
                administrative_area_level_1: 'state',
                postal_code: 'postalcode',
            };

            function _filterTypes(types) {
                return types.filter(function(type) { return type !== 'political' });
            }

            if (!data || !Object.keys(data).length) {
                return '/home-search/listings';
            }

            var newData = {};
            _filterTypes(data.types).forEach(function(type) {
                if (mapping[type]) {
                    newData.search_type = mapping[type];
                }
            });
            newData.omnibox = data.formatted_address;
            data.address_components.forEach(function(component) {
                _filterTypes(component.types).forEach(function(type) {
                    if (mapping[type]) {
                        newData[mapping[type]] = component.long_name;
                    }
                });
            });
            var bounds = data.geometry.bounds;
            var convertedData = Object.assign(bounds, newData);

            return '/home-search/listings?' + objectToQuerystring(convertedData);
        }

        function debounce(func, wait) {
            let timeout;
            return function(...args) {
                const context = this;
                clearTimeout(timeout);
                timeout = setTimeout(() => func.apply(context, args), wait)
            }
        }

        // Global methods / variables that can be accessed by element js
        window.luxuryPresence = {
            ...window.luxuryPresence,
            defaults: {
                companyId: '9432ede2-5ddc-46a1-b803-68b15f1e0f98',
                apiGatewayUrl: '/api-gw',
                routerUrl: '/api-nv',
                gql: {"agents":"\n  query Agents (\n    $agentId: ID\n    $agentIds: [ID!]\n    $companyId: String\n    $network: Boolean\n    $networkId: String\n    $officeId: [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      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      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      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      timeZone\n      buyerAgencyCompensation\n      buyerAgencyCompensationType\n      landIdUrl\n    }\n    propertiesCount(\n    \n      agentIds: $agentIds\n      teamIds: $teamIds\n      propertyId: $propertyId\n      propertyIds: $propertyIds\n      prioritizeIds: $prioritizeIds\n      companyId: $companyId\n      network: $network\n      networkId: $networkId\n      statusId: $statusId\n      statusIds: $statusIds\n      excludeStatusId: $excludeStatusId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n      officeIds: $officeIds\n      addressState: $addressState\n      addressCity: $addressCity\n      developmentId: $developmentId\n      featuredListing: $featuredListing\n      leaseProperty: $leaseProperty\n      search: $search\n      searchTermMode: $searchTermMode\n      salesPriceGTE: $salesPriceGTE\n      salesPriceLTE: $salesPriceLTE\n      leasePriceGTE: $leasePriceGTE\n      leasePriceLTE: $leasePriceLTE\n      livingSpaceSizeGTE: $livingSpaceSizeGTE\n      livingSpaceSizeLTE: $livingSpaceSizeLTE\n      bathCountGTE: $bathCountGTE\n      bathCountLTE: $bathCountLTE\n      bedroomCountGTE: $bedroomCountGTE\n      bedroomCountLTE: $bedroomCountLTE\n      architectureStyle: $architectureStyle\n      lifestyle: $lifestyle\n      propertyTypeId: $propertyTypeId\n      propertyTypeIds: $propertyTypeIds\n      spaceTypeIds: $spaceTypeIds\n      tag: $tag\n      archived: $archived\n      globalProperty: $globalProperty\n      withGeo: $withGeo\n      openHouse: $openHouse\n      displayMLSListings: $displayMLSListings\n      advancedFilters: $advancedFilters\n      seasonalPriceId: $seasonalPriceId\n\n    ) {\n      count\n    }\n  }\n","pressReleases":"\n  query PressReleases (\n    $pressReleaseId: ID\n    $companyId: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $categories: [String!]\n    $propertyId: [String!]\n    $developmentId: [String!]\n    $agentId: [String!]\n    $teamId: [String!]\n  ) {\n    pressReleases (\n      pressReleaseId: $pressReleaseId\n      companyId: $companyId\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      categories: $categories\n      propertyId: $propertyId\n      developmentId: $developmentId\n      agentId: $agentId\n      teamId: $teamId\n    ) {\n      id\n      title\n      description\n      author\n      externalUrl\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      publishedAt\n      categories\n    }\n    pressReleasesCount(\n      companyId: $companyId\n      search: $search\n      categories: $categories\n      propertyId: $propertyId\n      developmentId: $developmentId\n      agentId: $agentId\n      teamId: $teamId\n    ) {\n      count\n    }\n  }\n","posts":"\n  query Posts (\n    $postId: ID\n    $companyId: String\n    $offset: Int\n    $limit: Int\n    $order: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $featured: Boolean\n    $categoryId: String\n    $categoryIds: [String!]\n    $neighborhoodId: [String!]\n    ) {\n    posts (\n      postId: $postId\n      companyId: $companyId\n      offset: $offset\n      limit: $limit\n      order: $order\n      sortDir: $sortDir\n      search: $search\n      featured: $featured\n      postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n      categoryId: $categoryId\n      categoryIds: $categoryIds\n      neighborhoodId: $neighborhoodId\n    ) {\n      id\n      title\n      subtitle\n      description\n      status\n      featured\n      slug\n      categories {\n        id\n        name\n      }\n      createdAt\n      publishedAt\n      scheduledAt\n      createdBy {\n        firstName\n        lastName\n      }\n      customAuthor\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n      slug\n    }\n    postsCount(\n      companyId: $companyId\n      search: $search\n      featured: $featured\n      postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n      categoryId: $categoryId\n      categoryIds: $categoryIds\n      neighborhoodId: $neighborhoodId\n    ) {\n      count\n    }\n  }\n","testimonials":"\n  query Testimonials(\n    $testimonialId: ID\n    $agentId: ID\n    $teamId: ID\n    $companyId: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n  ) {\n    testimonials(\n      testimonialId: $testimonialId\n      agentId: $agentId\n      teamId: $teamId\n      companyId: $companyId\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n    ){\n      id\n      body\n      author\n      position\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n      agents {\n        slug\n        email\n        firstName\n        lastName\n        avatar {\n          smallUrl\n          height\n          width\n        }\n      }\n    }\n    testimonialsCount(\n      companyId: $companyId\n      agentId: $agentId\n      teamId: $teamId\n      search: $search\n    ) {\n      count\n    }\n  }\n","neighborhoods":"\n  query Neighborhoods (\n    $neighborhoodId: ID\n    $companyId: String\n    $search: String\n    $tag: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n  ) {\n    neighborhoods (\n      neighborhoodId: $neighborhoodId\n      companyId: $companyId\n      search: $search\n      tag: $tag\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n    ) {\n      id\n      name\n      description\n      descriptionShort\n      slug\n      tags\n      googlePlaceData\n      mlsLink\n      createdAt\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      seoTitle\n      seoDescription\n    }\n    neighborhoodsCount(\n      companyId: $companyId\n      search: $search\n      tag: $tag\n    ) {\n      count\n    }\n  }\n","developments":"\n  query Developments (\n    $developmentId: ID\n    $companyId: String\n    $offset: Int\n    $limit: Int\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $tag: [String!]\n    $agentId: [ID!]\n    $neighborhoodId: ID\n    $neighborhoodIds: [ID!]\n  ) {\n    developments (\n      developmentId: $developmentId\n      companyId: $companyId\n      offset: $offset\n      limit: $limit\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      tag: $tag\n      agentId: $agentId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      id\n      name\n      description\n      descriptionShort\n      slug\n      createdAt\n      media {\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n        height\n        width\n      }\n      googlePlaceData\n      seoTitle\n      seoDescription\n      tags\n    }\n    developmentsCount(\n      companyId: $companyId\n      search: $search\n      tag: $tag\n      agentId: $agentId\n      neighborhoodId: $neighborhoodId\n      neighborhoodIds: $neighborhoodIds\n    ) {\n      count\n    }\n  }\n","pois":"\nquery PointsOfInterest(\n  $regionId: String!,\n  $radius: Int,\n  $offset: Int,\n  $limit: Int,\n  $categories: [PoiCategoryEnum!],\n  $sortBy: PoiSortByEnum\n) {\n pois(\n     regionId: $regionId,\n     radius: $radius,\n     offset: $offset,\n     limit: $limit,\n     categories: $categories,\n     sortBy: $sortBy\n ) {\n  name\n  imageUrl\n  url\n  reviewCount\n  rating\n  price\n  displayPhone\n  distance\n  category\n  location {\n      address1\n      address2\n      address3\n      city\n      zipCode\n      country\n      state\n      }\n  }\n }\n","offices":"\n  query Offices (\n    $officeId: ID\n    $officeIds: [ID!]\n    $companyId: String\n    $slug: String\n    $sort: String\n    $sortDir: SortDirectionEnum\n    $search: String\n    $tags: [String]\n    $offset: Int\n    $limit: Int\n  ) {\n    offices (\n      officeId: $officeId\n      officeIds: $officeIds\n      companyId: $companyId\n      slug: $slug\n      sort: $sort\n      sortDir: $sortDir\n      search: $search\n      tags: $tags\n      offset: $offset\n      limit: $limit\n    ) {\n      id\n      companyId\n      name\n      slug\n      officeMlsId\n      shortDescription\n      fullDescription\n      addressLine1\n      addressLine2\n      addressCity\n      addressState\n      addressPostalCode\n      addressCountry\n      phone\n      email\n      officeHours\n      coordinates\n      googlePlaceData \n      seoTitle\n      seoDescription\n      fullAddress\n      media {\n        id\n        originalUrl\n        thumbnailUrl\n        smallUrl\n        mediumUrl\n        largeUrl\n        xLargeUrl\n        xxLargeUrl\n      }\n    }\n    officesCount(\n      companyId: $companyId\n      officeId: $officeId\n      officeIds: $officeIds\n      slug: $slug\n      search: $search\n      tags: $tags\n    ) {\n      count\n    }\n  }\n","teams":"query TeamsAndCount(\n  $offset: Int\n  $limit: Int\n  $search: String\n  $sort: String\n  $sortDir: SortDirectionEnum\n  $companyId: ID\n) {\n  teams(\n    offset: $offset\n    limit: $limit\n    sort: $sort\n    sortDir: $sortDir\n    search: $search\n    companyId: $companyId\n  ) {\n    \n  id\n  companyId\n  name\n  email\n  shortBio\n  fullBio\n  addressLine1\n  addressLine2\n  addressCity\n  addressState\n  addressCountry\n  phoneNumber1\n  phoneNumber2\n  postalCode\n  avatar {\n    id\n    thumbnailUrl\n    smallUrl\n    mediumUrl\n    largeUrl\n  }\n  urlWebsite\n  socialLinks\n  socialLinksArray\n  tags\n  seoTitle\n  seoDesc\n  slug\n  displayOrder\n\n  }\n  teamsCount(\n    search: $search\n    companyId: $companyId\n  ) {\n    count\n  }\n}"},
                propertyPlaceholderImage: {"id":"0ff2e8c3-94a3-47e3-8070-7182b51d36e1","alt":null,"bytes":32629,"width":1920,"format":"jpeg","height":1200,"pngUrl":"","shared":true,"curated":false,"duration":null,"largeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/19c84135-e9b2-4939-a9e0-890c2174297d","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/19c84135-e9b2-4939-a9e0-890c2174297d","authorUrl":null,"createdAt":"2025-08-15T02:45:22.694Z","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/19c84135-e9b2-4939-a9e0-890c2174297d","sourceUrl":null,"updatedAt":"2025-08-15T02:45:22.694Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/19c84135-e9b2-4939-a9e0-890c2174297d","__typename":"Media","altTagText":null,"authorName":null,"sourceName":"r2","xxLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/19c84135-e9b2-4939-a9e0-890c2174297d","description":null,"displayName":"property-placeholder","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/19c84135-e9b2-4939-a9e0-890c2174297d","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/19c84135-e9b2-4939-a9e0-890c2174297d","originalFileName":"Property-placeholder","cloudinaryPublicId":"19c84135-e9b2-4939-a9e0-890c2174297d"}
            },
            objectToQuerystring: objectToQuerystring,
            getPath: getPath,
            getMLSAutocomplete: getMLSAutocomplete,
            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
            makeMlsLink: makeMlsLink,
            debounce: debounce,
        };

        var wowOffset = 100;
    </script>
    <script>
        (() => {

function $parcel$interopDefault(a) {
  return a && a.__esModule ? a.default : a;
}
// Entry point for lp-sdk bundle
// This file exists to ensure Parcel v2 outputs the correct filename
/* global window */ var $53de3c160faf5a81$exports = {};
/*
WARNING!!! This file is used both on the server and in client's web-browser
please don't require/import any server-side related config/functions here
If we need something, let's pass it as a parameter of the factory
*/ var $0ce6edea77f7b81a$exports = {};
$0ce6edea77f7b81a$exports = {
    getVideoFirstFrame (videoUrl) {
        // The default Cloudinary asset delivery URL has the following structure: https://res.cloudinary.com/<cloud_name>/<asset_type>/<delivery_type>/<transformations>/<version>/<public_id>.<extension>
        //  https://cloudinary.com/documentation/video_manipulation_and_delivery#transformation_url_structure
        // The problem is that <transformations> and <version> are optional, and <transformations> can be chained separated by '/'
        // One more issue to be handled https://cloudinary.com/documentation/advanced_url_delivery_options#seo_friendly_media_asset_urls
        const CLOUDINARY_URL = 'https://res.cloudinary.com/';
        const invalid = !videoUrl || !videoUrl.startsWith(CLOUDINARY_URL);
        if (invalid) return null;
        const urlComponents = videoUrl.replace(CLOUDINARY_URL, '').replace('f_auto:video', 'f_auto').split('/');
        // checking if <asset_type> is not video or videos
        if (urlComponents[1].toLowerCase().indexOf('video') === -1) return null;
        // Filename is last urlComponent <public_id>.<extension>
        let filename = urlComponents[urlComponents.length - 1];
        if (filename.lastIndexOf('.') > -1) filename = `${filename.slice(0, filename.lastIndexOf('.'))}.jpg`;
        else filename += '.jpg';
        urlComponents[urlComponents.length - 1] = filename;
        // We need to add so_0,eo_0 transformation to the url to target the first frame.
        // we want to find the position at which we want to insert it as a chained transformation
        const firstFrameTransformation = 'so_0,eo_0';
        let firstFrameTransformationPosition = 3;
        // checking cases for SEO-friendly URLs
        if (urlComponents[1].toLowerCase() === 'videos' && urlComponents[2] !== '') firstFrameTransformationPosition = 2;
        // checking the last transformation position in the url
        // https://cloudinary.com/documentation/transformation_reference
        // https://regex101.com/r/lE3W6u/1
        const transformationRegex = /^(?:[a-z]{1,3}|\$\w+)_\S+$/;
        while(firstFrameTransformationPosition < urlComponents.length - 1 && transformationRegex.test(urlComponents[firstFrameTransformationPosition]))firstFrameTransformationPosition++;
        urlComponents.splice(firstFrameTransformationPosition, 0, firstFrameTransformation);
        return CLOUDINARY_URL + urlComponents.join('/');
    }
};


/**
 * Create helpers with given Handlebars instance
 *
 * @param {Object} HandlebarsInstance
 * @param {Function} isEqual - we use different implementation if isEqual on server and on client
 * @return {Object}
 */ function $53de3c160faf5a81$var$handlebarsHelpersFactory(HandlebarsInstance, { isEqual: isEqual }) {
    // notice!: code below assumes list is ordered lowest to highest width
    const MEDIA_SIZES = [
        {
            field: 'thumbnailUrl',
            w: 320
        },
        {
            field: 'smallUrl',
            w: 960
        },
        {
            field: 'mediumUrl',
            w: 1280
        },
        {
            field: 'largeUrl',
            w: 1920
        },
        {
            field: 'xLargeUrl',
            w: 2560
        },
        {
            field: 'xxLargeUrl',
            w: 3456
        }
    ];
    const MEDIA_SIZE_FOR_SRC = 1280;
    const lpFormatNumber = function(number, unit, precision) {
        const localization = 'en-US';
        if (!number) return '';
        if (typeof number === 'string') {
            const trimmed = number.trim();
            if (/[^+\-0-9.]/.test(trimmed)) return number; // returning text 'as is' assuming it already has all formatting
            // eslint-disable-next-line
            number = parseFloat(trimmed);
            if (!number) return '';
        }
        const currencyPrecision = typeof precision === 'number' ? precision : 0;
        const currencyFractionDigits = Number.isInteger(number) ? 0 : currencyPrecision;
        const currencyFractionOptions = {
            minimumFractionDigits: currencyFractionDigits,
            maximumFractionDigits: currencyFractionDigits
        };
        if (unit === 'USD') return `$${number.toLocaleString(localization, currencyFractionOptions)}`;
        if (unit === 'CAD') return `$${number.toLocaleString(localization, currencyFractionOptions)} CAD`;
        if (unit === 'EUR') return `\u{20AC}${number.toLocaleString(localization, currencyFractionOptions)}`;
        if (unit === 'GBP') return `\xa3${number.toLocaleString(localization, currencyFractionOptions)}`;
        if (unit === 'PERCENT') return `${number}%`;
        if (precision && typeof precision === 'number' && number > -1) return number.toLocaleString(localization, {
            maximumFractionDigits: precision
        });
        return number.toLocaleString(localization);
    };
    const formatFrequency = function(freqUnit) {
        switch(freqUnit){
            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 '';
        }
    };
    const formatFrequencyShort = function(freqUnit) {
        switch(freqUnit){
            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 '';
        }
    };
    const formatFrequencyStd = function(freqUnit) {
        switch(freqUnit){
            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 '';
        }
    };
    const formatFrequencyExt = function(unit, options) {
        let val;
        let separator;
        const opts = options || {};
        switch(opts.mode){
            case 'short':
                val = formatFrequencyShort(unit);
                separator = opts.frequencySeparator || '/';
                break;
            case 'standard':
            case 'std':
                val = formatFrequencyStd(unit);
                separator = opts.frequencySeparator || '/';
                break;
            case 'long':
            default:
                val = formatFrequency(unit);
                separator = opts.frequencySeparator || ' ';
        }
        if (!val) return '';
        if (!opts.frequencyTag && !opts.frequencyClass) return separator + val;
        return `${separator}<${opts.frequencyTag || 'span'}${opts.frequencyClass ? ` class="${opts.frequencyClass}"` : ''}>${val}</${opts.frequencyTag || 'span'}>`;
    };
    return {
        isEmpty (arg1, options) {
            const result = !arg1 || (typeof arg1 === 'string' ? !arg1.trim() : false) || !Object.keys(arg1).length;
            if (options.fn) return result ? options.fn(this) : options.inverse(this);
            return result;
        },
        ifEquals (arg1, arg2, options) {
            return isEqual(arg1, arg2) ? options.fn(this) : options.inverse(this);
        },
        'raw-helper': function(options) {
            return options.fn();
        },
        striptags (txt) {
            if (!txt) return '';
            // Remove HTML Comments (escaping something to not make real html comment by expression)
            // eslint-disable-next-line no-useless-escape,no-param-reassign
            txt = txt.replace(/<\!--(.|[\r\n])*?-\->/g, '');
            // Remove XML fragments and <style> and <svg> tags with content
            // eslint-disable-next-line
            txt = txt.replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi, '');
            // Replace &nbsp; with space
            // eslint-disable-next-line no-param-reassign
            txt = txt.replace(/&nbsp;/g, ' ');
            // Remove HTML Tags
            const regexp = /<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g;
            return txt.replace(regexp, '');
        },
        striptagsLineBreaks (txt) {
            if (!txt) return '';
            // Remove HTML Comments (escaping something to not make real html comment by expression)
            // eslint-disable-next-line no-useless-escape,no-param-reassign
            txt = txt.replace(/<\!--(.|[\r\n])*?-\->/g, '');
            // Remove XML fragments and <style> and <svg> tags with content
            // eslint-disable-next-line no-param-reassign
            txt = txt.replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi, '');
            // Replace <br> and </p> tags with line break char, skipping last </p> which is not followed by <br> or </p>
            // eslint-disable-next-line no-param-reassign
            txt = txt.replace(/(<br\s*\/?>)|(<\/p\s*>)(?=.*(<\/p\s*>|<br\s*\/?>))/g, '&#10;');
            // Replace &nbsp; with space
            // eslint-disable-next-line no-param-reassign
            txt = txt.replace(/&nbsp;/g, ' ');
            // Remove HTML Tags
            const regexp = /<\/?("[^"]*"|'[^']*'|[^>])*(>|$)/g;
            return txt.replace(regexp, '');
        },
        truncate (text, limit, suffix) {
            if (!text) return '';
            if (text.length > limit) return typeof suffix === 'string' ? text.slice(0, limit - suffix.length) + suffix : text.slice(0, limit);
            return text;
        },
        // eslint-disable-next-line
        setSubArray (items = [], start, end, subArrayName, options) {
            // eslint-disable-next-line
            options.data.root[subArrayName] = items.slice(start, end);
        },
        formatAreaUnit (areaUnit) {
            switch(areaUnit){
                case 'ACRE':
                    return 'Acres';
                case 'SQUARE_METER':
                    return 'Sq.M.';
                case 'SQUARE_YARD':
                    return 'Sq.Yd.';
                default:
                    return 'Sq.Ft.';
            }
        },
        formatFrequency: formatFrequency,
        formatFrequencyShort: formatFrequencyShort,
        lpFormatFrequency (freqUnit, options) {
            return formatFrequencyExt(freqUnit, options && options.hash);
        },
        subArray (index, start, end, options) {
            return index >= start && index < end ? options.fn(this) : options.inverse(this);
        },
        formatPropertyStatus (status) {
            let formattedStatus = '';
            switch(status){
                case 'SOLD':
                    formattedStatus = 'Sold';
                    break;
                case 'FOR_SALE':
                    formattedStatus = 'For Sale';
                    break;
                case 'COMING_SOON':
                    formattedStatus = 'Coming Soon';
                    break;
                case 'INACTIVE':
                    formattedStatus = 'Inactive';
                    break;
                case 'POCKET_LISTING':
                    formattedStatus = 'Pocket Listing';
                    break;
                case 'PENDING':
                    formattedStatus = 'Pending';
                    break;
                case 'UNDER_CONTRACT':
                    formattedStatus = 'Under Contract';
                    break;
                case 'ACTIVE_UNDER_CONTRACT':
                    formattedStatus = 'Active Under Contract';
                    break;
                default:
                    formattedStatus = status;
            }
            return formattedStatus;
        },
        formatGrade (gradeValue) {
            switch(gradeValue){
                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 (uri) {
            return encodeURI(uri);
        },
        encodeURIComponent (txt) {
            return encodeURIComponent(txt);
        },
        hbFormatDate (date, type) {
            const newDate = date === 'current' ? new Date() : new Date(date);
            const months = [
                'January',
                'February',
                'March',
                'April',
                'May',
                'June',
                'July',
                'August',
                'September',
                'October',
                'November',
                'December'
            ];
            if (type === 'YYYY' || type === 'year') return `${newDate.getFullYear()}`;
            if (type === 'MM/DD/YY') {
                let month = newDate.getMonth() + 1;
                if (month < 10) month = `0${month.toString()}`;
                return `${month}/${newDate.getDate()}/${newDate.getFullYear().toString().substr(-2)}`;
            }
            return `${months[newDate.getMonth()]} ${newDate.getDate()}, ${newDate.getFullYear()}`;
        },
        openHousesFormat (startDate, endDate, timeZone) {
            if (!startDate || !endDate) return '';
            /**
       * return formatted time.
       * @param {date} date
       * @return {time} time.
       */ const getTime = (date)=>{
                let hours = date.getHours();
                if (hours > 12) hours -= 12;
                const prefix = '0';
                let time = `${hours}:${date.getMinutes() > 9 ? date.getMinutes() : prefix + date.getMinutes()}`;
                if (date.getHours() > 11) time += 'PM';
                else time += 'AM';
                return time;
            };
            let tz = '';
            let startFDate = startDate;
            let endFDate = endDate;
            if (timeZone) {
                startFDate = new Date(startDate).toLocaleString('en-US', {
                    timeZone: timeZone
                });
                endFDate = new Date(endDate).toLocaleString('en-US', {
                    timeZone: timeZone
                });
                [, , , tz] = new Date(endDate).toLocaleString('en-US', {
                    timeZone: timeZone,
                    timeZoneName: 'short'
                }).split(' ');
            }
            const date = new Date(startFDate);
            const openHouseDate = date.toLocaleDateString('en-US');
            const time1 = getTime(date);
            const date2 = new Date(endFDate);
            const time2 = getTime(date2);
            return `${openHouseDate} ${time1} - ${time2} ${tz}`;
        },
        math (lvalue, operator, rvalue) {
            // eslint-disable-next-line
            lvalue = parseFloat(lvalue);
            // eslint-disable-next-line
            rvalue = parseFloat(rvalue);
            return ({
                '+': lvalue + rvalue,
                '-': lvalue - rvalue,
                '*': lvalue * rvalue,
                '/': lvalue / rvalue,
                '%': lvalue % rvalue
            })[operator];
        },
        findByKey (values, key, value, options) {
            const result = (values || []).find((entry)=>entry[key] === value);
            return options.fn(result);
        },
        capitalize (string, split, options) {
            let capitalized;
            if (typeof string === 'string' && string.length) capitalized = string.toLowerCase().split(split).map((w)=>w.charAt(0).toUpperCase() + w.slice(1)).join(' ').toString();
            return capitalized;
        },
        and (...arg) {
            return Array.prototype.slice.call(arg).every(Boolean);
        },
        or (...arg) {
            return Array.prototype.slice.call(arg, 0, -1).some(Boolean);
        },
        not (arg) {
            return !arg;
        },
        orderByIds (items, orderedIds, options) {
            let ret = '';
            let data = null;
            if (options.data) data = HandlebarsInstance.createFrame(options.data);
            // When passed orderedIds, filter out empty items including empty strings and
            // only show items (and in that order) in a loop
            //  If no orderedIds provided, show all items
            const filteredIds = (orderedIds || []).filter(Boolean);
            if (filteredIds && filteredIds.length) {
                let skippedItems = 0;
                ret = filteredIds.reduce((res, id, idx)=>{
                    const item = (items || []).find((item)=>item.id === id);
                    // ID doesn't exist so ditch it
                    if (!item) {
                        skippedItems += 1;
                        return res;
                    }
                    if (data) data.index = idx - skippedItems;
                    return res + options.fn(item, {
                        data: data
                    });
                }, '');
            } else for(let i = 0, j = (items || []).length; i < j; i++){
                if (data) data.index = i;
                ret += options.fn(items[i], {
                    data: data
                });
            }
            return ret;
        },
        ifIn (elem, list, options) {
            if (list && list.indexOf(elem) > -1) return options.fn(this);
            return options.inverse(this);
        },
        partial (name, options) {
            // Register a partial and output the content in a script for clientside rendering
            HandlebarsInstance.registerPartial(name, HandlebarsInstance.compile(options.fn()));
            // eslint-disable-next-line
            const script = `<script type="text/x-handlebars-template" class="${name} pagination-script">${options.fn()}</${'script'}>`;
            return script;
        },
        numCompare (l, r, operator, options) {
            const operators = {
                '==': function(l, r) {
                    // eslint-disable-next-line
                    return l == r;
                },
                '===': function(l, r) {
                    return l === r;
                },
                '!=': function(l, r) {
                    // eslint-disable-next-line
                    return l != r;
                },
                '<': function(l, r) {
                    return l < r;
                },
                '>': function(l, r) {
                    return l > r;
                },
                '<=': function(l, r) {
                    return l <= r;
                },
                '>=': function(l, r) {
                    return l >= r;
                }
            };
            const result = operators[operator](l, r);
            if (result) return options.fn ? options.fn(this) : true;
            return options.fn ? options.inverse(this) : false;
        },
        lpFormatNumber: lpFormatNumber,
        arrayToHtmlList (arr, options) {
            // eslint-disable-next-line
            return arr.reduce((acc, current)=>{
                try {
                    if (typeof current === 'object' || current === null) return acc;
                    // eslint-disable-next-line
                    return acc += `<li>${current}</li>`;
                } catch (e) {
                /* empty */ }
            }, '');
        },
        join (array, separator, options) {
            if (!array || !array.join) return '';
            return array.join(typeof separator === 'string' ? separator : ', ');
        },
        dedupe (items, key, options) {
            let data = null;
            let skippedItems = 0;
            const list = new Set();
            if (options.data) data = HandlebarsInstance.createFrame(options.data);
            return (items || []).reduce((res, item, idx)=>{
                const val = key ? item[key] : item;
                // Item is unique if we're passed a key that is not defined
                const isUnique = !list.has(val) || key && val === undefined;
                if (isUnique) list.add(val);
                else {
                    skippedItems += 1;
                    return res;
                }
                if (data) data.index = idx - skippedItems;
                return res + options.fn(item, {
                    data: data
                });
            }, '');
        },
        JSONstringify (obj, options) {
            return JSON.stringify(obj);
        },
        // eslint-disable-next-line sonarjs/cognitive-complexity
        formatPropertyPrice (...args) {
            const options = args[args.length - 1];
            const opts = options.hash;
            const property = args.length > 1 ? args[0] : opts.property;
            const precision = opts.precision || 0;
            if (args.length > 2) // eslint-disable-next-line
            opts.mode = args[1];
            if (!opts.mode) opts.mode = 'short';
            let separator = args.length > 3 ? args[2] : opts.separator;
            if (typeof separator !== 'string') separator = ' | ';
            if (property.isPasswordProtected) return 'Exclusive Listing';
            let priceUponRequestText = args.length > 4 ? args[3] : opts.priceUponRequestText;
            if (typeof priceUponRequestText !== 'string') priceUponRequestText = 'Price Upon Request';
            if (property.priceUponRequest) return priceUponRequestText;
            let price = property.salesPrice;
            let reduced = null;
            // eslint-disable-next-line sonarjs/no-collapsible-if
            if (property.status !== 'SOLD' && property.status !== 'Leased') {
                if (property.reducedPrice) {
                    if (!opts.reducedClass) price = property.reducedPrice;
                    else reduced = property.reducedPrice;
                }
            }
            let result = '';
            if (reduced) result += `<${opts.reducedTag || 'span'} class="${opts.reducedClass}">${lpFormatNumber(reduced, property.currency, precision)}</${opts.reducedTag || 'span'}>`;
            if (price) {
                price = lpFormatNumber(price, property.currency, precision);
                if (opts.priceTag || opts.priceClass) result += `<${opts.priceTag || 'span'}${opts.priceClass ? ` class="${opts.priceClass}"` : ''}>${price}</${opts.priceTag || 'span'}>`;
                else result += price;
            }
            const leasePrice = property.leasePrice && lpFormatNumber(property.leasePrice, property.currency, precision);
            if (leasePrice) {
                if (result) result += separator;
                const leaseText = `${leasePrice}${formatFrequencyExt(property.leasePeriod, opts)}`;
                if (opts.leaseTag || opts.leaseClass) result += `<${opts.leaseTag || 'span'}${opts.leaseClass ? ` class="${opts.leaseClass}"` : ''}>${leaseText}</${opts.leaseTag || 'span'}>`;
                else result += leaseText;
            }
            return new HandlebarsInstance.SafeString(result);
        },
        // eslint-disable-next-line sonarjs/cognitive-complexity
        mediaImage (mediaSource, options = {}) {
            if (!mediaSource) return;
            const { lazy: lazy, ...attributes } = options.hash;
            let src = '';
            let srcset = '';
            if (typeof mediaSource === 'string') src = mediaSource;
            else {
                const srcMap = {};
                const { height: height, width: width, altTagText: altTagText } = mediaSource;
                MEDIA_SIZES.forEach((src)=>{
                    if (mediaSource[src.field] && !srcMap[mediaSource[src.field]]) srcMap[mediaSource[src.field]] = src.w;
                });
                const srcs = Object.keys(srcMap);
                if (!srcs.length) return;
                if (altTagText) attributes.alt = altTagText;
                if (height && width) {
                    if (height >= width) {
                        if (attributes.class) attributes.class += ' portrait';
                        else attributes.class = 'portrait';
                    }
                    if ('setDims' in options.hash) {
                        attributes.width = width;
                        attributes.height = height;
                    }
                }
                if (srcs.length > 1 && width && width < srcMap[srcs[srcs.length - 1]]) {
                    const maxSrc = srcs.findIndex((src)=>srcMap[src] >= width);
                    srcs.splice(maxSrc + 1);
                    srcMap[srcs[srcs.length - 1]] = width;
                }
                if (srcs.length > 1) {
                    srcset = srcs.map((s)=>`${s} ${srcMap[s]}w`).join(', ');
                    srcs.sort((a, b)=>Math.abs(srcMap[a] - MEDIA_SIZE_FOR_SRC) - Math.abs(srcMap[b] - MEDIA_SIZE_FOR_SRC));
                }
                // eslint-disable-next-line
                src = srcs[0];
            }
            delete attributes.setDims;
            if (!srcset) delete attributes.sizes;
            if (!('alt' in attributes)) attributes.alt = '';
            if (!('loading' in attributes) && (options?.data?.root?.sectionIndex > 1 || lazy)) attributes.loading = 'lazy';
            const attrs = Object.keys(attributes).map((k)=>`${HandlebarsInstance.escapeExpression(k)}="${HandlebarsInstance.escapeExpression(attributes[k])}"`).join(' ');
            return new HandlebarsInstance.SafeString(// eslint-disable-next-line sonarjs/no-nested-template-literals
            `<img src="${src}"${srcset ? ` srcset="${srcset}"` : ''}${attrs ? ` ${attrs}` : ''}>`);
        },
        bgImage (mediaSource) {
            if (!mediaSource) return '';
            if (typeof mediaSource === 'string') return mediaSource;
            return mediaSource.largeUrl || mediaSource.url || '';
        },
        concat (...rest) {
            let outStr = '';
            // rest params are Array instances while arguments object is not
            for(const arg in rest)if (rest[arg] !== null && rest[arg] !== undefined && typeof rest[arg] !== 'object') outStr += rest[arg];
            return outStr;
        },
        setVideoExtension (uri, format) {
            if (!uri || !format) return '';
            const decodedUri = new URL(uri);
            if (decodedUri.host !== 'res.cloudinary.com') {
                // Not a cloudinary uri, do not rewrite
                if (decodedUri.pathname.endsWith(`.${format}`)) return uri;
                return '';
            }
            // Rewrite the cloudinary uri
            const lastPeriodIdx = decodedUri.pathname.lastIndexOf('.');
            let pathWithoutFormat = decodedUri.pathname;
            if (lastPeriodIdx !== -1) pathWithoutFormat = decodedUri.pathname.substr(0, lastPeriodIdx);
            decodedUri.pathname = `${pathWithoutFormat}.${format}`;
            return decodedUri.toString();
        },
        addVideoSources (uri) {
            if (!uri) return '';
            const VIDEO_VARIANTS = [
                {
                    format: 'webm',
                    codec: 'vp9',
                    htmlCodecs: ';codecs=vp9'
                },
                {
                    format: 'mp4',
                    codec: 'h265',
                    htmlCodecs: ';codecs=hvc1'
                },
                {
                    format: 'mp4',
                    codec: 'h264',
                    htmlCodecs: ''
                }
            ];
            const VIDEO_EXT_REGEXP = /\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/;
            if (!uri.includes('res.cloudinary.com')) // keep existing or no extension for non Cloudinary urls
            return `<source data-src="${uri}">`;
            const uriNoExt = uri.replace(VIDEO_EXT_REGEXP, '');
            const sources = VIDEO_VARIANTS.map((type)=>{
                const cloudinaryFormatUrl = `${uriNoExt.replace(/f_auto(?::video)?/, `f_${type.format},vc_${type.codec}`)}.${type.format}`;
                return `<source data-src="${cloudinaryFormatUrl}" type="video/${type.format}${type.htmlCodecs}">`;
            });
            return sources.join('\n');
        },
        cloudinaryVideoFirstFrame: $0ce6edea77f7b81a$exports.getVideoFirstFrame,
        initials (text, options) {
            if (!text) return '';
            if (options?.hash?.endChar) // eslint-disable-next-line
            text = text.split(options.hash.endChar)[0];
            // eslint-disable-next-line
            const maxChars = +options?.hash?.maxChars || 2; // we do not allow this to be 0
            let result = text.match(/\b\w/g)?.slice(0, maxChars);
            if (!result) return '';
            if (options?.hash?.addText) result = result.map((item)=>item + options.hash.addText);
            return result.join(options?.hash?.joinWith || '').toUpperCase();
        },
        normalizePhone (phone) {
            if (!phone) return '';
            const str = String(phone).trim();
            return (str.startsWith('+') ? '+' : '') + str.replace(/\D/g, '');
        }
    };
}
$53de3c160faf5a81$exports = $53de3c160faf5a81$var$handlebarsHelpersFactory;


/* global window, document */ // eslint-disable-next-line import/prefer-default-export
class $dc851cf3939b6ef5$export$ff0712c26d5458f7 {
    /**
   * Initialize Modal Controller
   * @param {Object} options
   */ constructor(options){
        this.isBuilder = false;
        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 = false;
        this.googleMapsAPIKey = null;
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {}
    /**
   * Set page and supporting data
   * @param {string} pageId
   * @param {Object} options
   */ setPage(pageId, options = {}) {
        this.pageId = pageId;
        this.shareId = options.shareId || null;
        this.pageMeta = {
            sourceResource: options.sourceResource,
            pageElementId: options.pageElementId,
            pageQueryVariables: options.pageQueryVariables || {}
        };
    }
    /**
   * Sets if we are in pagebuilder context or not
   * @param {boolean} isBuilder
   */ setIsBuilder(isBuilder) {
        this.isBuilder = isBuilder;
    }
    /**
   * Set Company and supporting data
   * @param {string} companyId
   * @param {Object} options
   */ setCompany(companyId, options = {}) {
        this.companyId = companyId;
    }
    /**
   * Set website and supporting data
   * @param {string} websiteId
   * @param {Object} options
   */ setWebsite(websiteId, options = {}) {
        this.websiteId = websiteId;
        if (options.myhomeDashboardEnabled) this.myhomeDashboardEnabled = options.myhomeDashboardEnabled;
    }
    /**
   * Set websiteApiGatewayUrl
   * @param {string} websiteApiGatewayUrl
   * @param {Object} options
   */ setWebsiteApiGatewayUrl(websiteApiGatewayUrl, options = {}) {
        this.websiteApiGatewayUrl = websiteApiGatewayUrl;
    }
    /**
   * Set buyerSellerServiceUrl
   * @param {string} buyerSellerServiceUrl
   * @param {Object} options
   */ setBuyerSellerServiceUrl(buyerSellerServiceUrl, options = {}) {
        this.buyerSellerServiceUrl = buyerSellerServiceUrl;
    }
    /**
   * Set divolteServiceUrl and supporting data
   * @param {string} divolteServiceUrl
   * @param {Object} options
   */ setDivolteServiceUrl(divolteServiceUrl, options = {}) {
        this.divolteServiceUrl = divolteServiceUrl;
    }
    /**
   * Set eventBusUrl
   * @param {string} eventBusUrl
   * @param {Object} options
   */ setEventBusUrl(eventBusUrl, options = {}) {
        this.eventBusUrl = eventBusUrl;
    }
    /**
   * Set templateId and supporting data
   * @param {string} templateId
   * @param {Object} options
   */ setTemplateId(templateId, options = {}) {
        this.templateId = templateId;
    }
    /**
   * Set leadIngesterUrl
   * @param {string} leadIngesterUrl
   * @param {Object} options
   */ setLeadIngesterUrl(leadIngesterUrl, options = {}) {
        this.leadIngesterUrl = leadIngesterUrl;
    }
    /**
   * Set googleMapsAPIKey
   * @param {string} googleMapsAPIKey
   * @param {Object} options
   */ setGoogleMapsAPIKey(googleMapsAPIKey, options = {}) {
        this.googleMapsAPIKey = googleMapsAPIKey;
    }
    /**
   * Set eventBus
   * @param {Object} options
   */ setEventBus({ enabled: enabled, apiKey: apiKey, url: url }) {
        this.eventBus = {
            enabled: enabled,
            apiKey: apiKey,
            url: url
        };
    }
}


/* eslint-disable import/prefer-default-export */ // eslint-disable-next-line import/prefer-default-export
class $7c391e2f7931d60d$export$3b5bd9381a52554c {
    /**
   * Initialize Base Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        // TODO: Listen for events from configController to update configuration
        this.config = config;
        this.window = window;
        this.document = document;
        if (!this.destroy) // With turbolinks, we want to ensure that on each page load we have the latest version of the sdk
        //  Controllers are deconstructed and replaced (on the window object) per request
        //  Controllers must use the destory method to remove event handlers to prevent undefined behavior
        throw new Error('Controllers must implement a deconstructor');
    }
}


// eslint-disable-next-line import/prefer-default-export
const $a3e97e89bbc2a366$export$f037eeffb5561205 = 2000;


class $0ead03fdb95fa9ce$export$d507f25e63650365 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Modal Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.setLoginState = this.setLoginState.bind(this);
        this.pageId = null;
        this.modals = [];
        this.exitModalTriggered = {};
        this.exitModalEventListeners = [];
    }
    /**
   * Initialize Modal Controller at run time
   * Attach handlers and events to DOM
   * @param {Object} options
   */ initialize(options) {
        try {
            const { config: config, document: document } = this;
            this.pageId = config.pageId;
            this.modals = document.querySelectorAll('body > #modals > .modal');
            options.modals.forEach((m)=>{
                this._attachModalHandler(m);
            });
        } catch (e) {
            // eslint-disable-next-line no-console
            console.log(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        const { document: document } = this;
        this.exitModalEventListeners.forEach((listener)=>{
            document.removeEventListener('mouseout', listener);
        });
        this.modals = [];
        this.exitModalTriggered = {};
        this.exitModalEventListeners = [];
    }
    /**
   * Set modal to local storage with expiration
   * @param {string} modalId
   */ setModalWithExpiry(modalId) {
        const { window: window } = this;
        const TTL = 86400000; // 24 hours
        const now = new Date();
        const expiry = now.getTime() + TTL;
        const key = `modal-controller-${modalId}`;
        try {
            window.localStorage.setItem(key, JSON.stringify(expiry));
        } catch (err) {
        // catch error when setting item to storage on iOS private browser
        }
    }
    /**
   * Save success login modal to local storage
   */ setLoginState() {
        const { window: window } = this;
        try {
            window.localStorage.setItem('isSignedUp', 'true');
        } catch (err) {
        // catch error when setting item to storage on iOS private browser
        }
    }
    /**
   * Get modal and check expiration
   * @param {string} modalId
   * @return {boolean}
   */ getModalWithExpiry(modalId) {
        const { window: window } = this;
        const storage = window.localStorage;
        const expirationTime = storage.getItem(`modal-controller-${modalId}`);
        if (!expirationTime) return false;
        const expiry = JSON.parse(expirationTime);
        const now = new Date();
        if (now.getTime() > expiry) {
            storage.removeItem(`modal-controller-${modalId}`);
            return false;
        }
        return true;
    }
    /**
   * Make a modal visible
   * @param {string} modalId
   * @param {Object} options
   */ show(modalId, options = {}) {
        // TODO: migrate logic from page.handlebars
        const { window: window } = this;
        const modalViewed = this.getModalWithExpiry(modalId);
        // Only show a modal if it has not been seen
        // Does not affect "show modal on button click"
        if (modalId && !modalViewed || options.forced === true) {
            window.lpUI.showModal(`modal-${modalId}`, options);
            this.setModalWithExpiry(modalId);
        }
    }
    /**
   * Attach events based on Modal type and page settings
   * @param {Modal} modal
   */ _attachModalHandler(modal) {
        const { pageId: pageId } = this;
        const { trigger: trigger, pageSpecific: pageSpecific } = modal;
        if (pageSpecific) {
            const pageIds = modal.pages.map((p)=>p.pageId);
            if (!pageIds.includes(pageId)) // Modal does not belong to this page
            return;
        }
        if (trigger === 'EXIT') this._exitModalHandler(modal);
        else if (trigger === 'TIMER') this._timerModalHandler(modal);
        else if (trigger === 'FORCED') this._forcedModalHandler(modal);
    }
    /**
   * Attach events for exit Modals
   * @param {Modal} modal
   */ _exitModalHandler(modal) {
        // eslint-disable-next-line
        const that = this;
        const { document: document, exitModalTriggered: exitModalTriggered } = this;
        const { modalId: modalId } = modal;
        /**
     * Handle the mouseout dom event
     * @param {Event} event
     */ function triggerExitModal(event) {
            if (exitModalTriggered[modalId]) return;
            if (!event.toElement && !event.relatedTarget) {
                that.show(modalId);
                exitModalTriggered[modalId] = true;
            }
        }
        document.addEventListener('mouseout', triggerExitModal);
        this.exitModalEventListeners.push(triggerExitModal);
    }
    /**
   * Attach events for timer Modals
   * @param {Modal} modal
   */ _timerModalHandler(modal) {
        const { modalId: modalId, timerDelay: timerDelay } = modal;
        setTimeout(()=>{
            this.show(modalId);
        }, timerDelay);
    }
    /**
   * Attach events for Forced Modals
   * @param {Modal} modal
   */ _forcedModalHandler(modal) {
        const { modalId: modalId } = modal;
        const { window: window, document: document } = this;
        const isLoggedIn = window.localStorage.getItem('isSignedUp') === 'true';
        if (!isLoggedIn) {
            // watch for event triggering success login
            const forcedModal = document.querySelector(`#modal-${modalId}`);
            const contactForm = forcedModal?.querySelector('form');
            const MODAL_CLOSE_DELAY = contactForm?.dataset.delay || (0, $a3e97e89bbc2a366$export$f037eeffb5561205);
            // form submit autoclose is handled by contactForms controller
            contactForm.addEventListener('formsubmitted', ()=>{
                this.setLoginState();
            });
            window.addEventListener('oauthSuccess', ()=>{
                this.setLoginState();
                contactForm.classList.add('success');
                setTimeout(()=>{
                    window.lpUI.hideModal(`modal-${modalId}`);
                    contactForm.reset();
                    contactForm.classList.remove('success');
                }, MODAL_CLOSE_DELAY);
            });
            this.show(modalId, {
                forced: true
            });
        }
    }
}


/* eslint-disable import/prefer-default-export */ /* global window */ /* eslint-disable import/prefer-default-export */ /**
 * Handle navigation push
 * @param {string} href
 * @param {boolean} _blank
 */ const $fc0a058ae42af628$export$95e8d77caafa3e06 = (href, _blank = false)=>{
    if (!href) return;
    if (_blank) {
        window.open(href);
        return;
    }
    window.location.assign(href);
};
const $fc0a058ae42af628$export$267a1435fe18b8d4 = (obj, path, defValue)=>{
    if (!path) return undefined;
    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
    const result = pathArray.reduce((prevObj, key)=>prevObj && prevObj[key], obj);
    return result === undefined ? defValue : result;
};



class $d48f9f944810f613$export$ca3218b7861b9cb0 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Button Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this._boundClickHandler = this._buttonClickHandler.bind(this);
    }
    /**
   * Initialize Button Controller at run time
   * Attach handlers and events to DOM
   * @param {Object} options
   */ initialize(options = {}) {
        try {
            const { document: document } = this;
            document.body.removeEventListener('click', this._boundClickHandler);
            document.body.addEventListener('click', this._boundClickHandler);
        } catch (e) {
            // eslint-disable-next-line no-console
            console.error(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        const { document: document } = this;
        document.body.removeEventListener('click', this._boundClickHandler);
    }
    /**
   * Buttons click handler
   * @param {event} e
   */ _buttonClickHandler(e) {
        this._handleButtonClick(e).catch((e)=>console.error(e));
    }
    /**
   * Handle button click
   * We need special function to have easy way to detach listener
   * @param {Event} e
   */ async _handleButtonClick(e) {
        const { window: window, document: document } = this;
        const button = e.target.closest('button, a');
        if (!button) return;
        const type = button.dataset.type || '';
        const href = button.href || button.dataset.href || '';
        const target = button.target || '';
        const { submit: submit } = button.dataset;
        if (submit) {
            try {
                await this._handleSubmit(button);
            } catch (err) {
                // eslint-disable-next-line no-console
                console.error(err);
            }
            (0, $fc0a058ae42af628$export$95e8d77caafa3e06)(href, target === '_blank');
        }
        this._trackConversion(button);
        if (type === 'VIDEO') {
            this._handleVideoButton(button);
            return;
        }
        if (type === 'CONTACT_US') {
            this._handleContactUsButton(button);
            return;
        }
        if (type === 'SUBSCRIBE') {
            // TODO: Extend for an overwritten subscribe
            window.lpUI.showModal('modal-global-subscribe');
            return;
        }
        if (type === 'MY_ACCOUNT') {
            // TODO: Extend for an overwritten subscribe
            window.lpUI.showModal('modal-global-my-account');
            return;
        }
        if (type === 'SHARE_POPUP') {
            // TODO: Extend for an overwritten subscribe
            const sharePopup = button.querySelector('.share-popup');
            if (sharePopup) sharePopup.style.display = 'flex';
            e.stopPropagation(); // this may not work in current 'delegate' mode
            return;
        }
        // Custom modals
        if (type.substring(0, 6) === 'MODAL_') {
            const modalId = type.substring(6);
            window.lpUI.showModal(`modal-${modalId}`);
            return;
        }
        // MAILTO / TEL Event
        if (href?.startsWith('mailto:')) {
            const email = href.substring(7);
            // TODO: Replace with SDK method
            document.sendGoogleAnalyticsEvent({
                hitType: 'event',
                eventCategory: 'button',
                eventAction: 'click',
                eventLabel: 'Email',
                eventValue: email
            });
        } else if (href?.startsWith('tel:')) {
            const phoneNumber = href.substring(4);
            // TODO: Replace with SDK method
            document.sendGoogleAnalyticsEvent({
                hitType: 'event',
                eventCategory: 'button',
                eventAction: 'click',
                eventLabel: 'Phone',
                eventValue: phoneNumber
            });
        }
    }
    /**
   * Handle submit
   * @param {HTMLButtonElement|HTMLAnchorElement} button
   */ async _handleSubmit(button) {
        const form = button.closest('form');
        const { window: window } = this;
        if (form) return await window.luxuryPresence.contactForms.submitForm(form);
        return null;
    }
    _getVimeoSrc(link) {
        if (!link || !link.includes('vimeo.com') || link.length > 2000) return null;
        const matchResult = link.match(/(?:(?:www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player.vimeo.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);
        if (!matchResult) return null;
        const [, vimeoId, vimeoHashParameter] = matchResult;
        let src = `https://player.vimeo.com/video/${vimeoId}?`;
        if (vimeoHashParameter) src += `h=${vimeoHashParameter}&`;
        src += 'autoplay=1';
        return src;
    }
    /**
   * Handle type video click
   * @param {HTMLElement} button
   */ // eslint-disable-next-line sonarjs/cognitive-complexity
    _handleVideoButton(button) {
        const { document: document } = this;
        const section = button.closest('section');
        // Embed youtube/vimeo video url
        let { src: src } = button.dataset;
        let youtubeId = '';
        if (src && (src.includes('youtube.com') || src.includes('youtu.be')) && !src.includes('youtube.com/embed')) {
            // test link: https://regexr.com/3anm9
            const youtubeRegex = /(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=))|youtu.be\/)([a-zA-Z0-9_-]{6,11})/;
            const youtubeResult = src.match(youtubeRegex);
            // eslint-disable-next-line
            if (youtubeResult) youtubeId = youtubeResult[1];
        }
        const vimeoSrc = this._getVimeoSrc(src);
        if (youtubeId) src = `https://youtube.com/embed/${youtubeId}?autoplay=1&controls=0`;
        else if (vimeoSrc) src = vimeoSrc;
        if (!src || !section) return;
        const isVideoFile = src.endsWith('.mp4') || src.endsWith('.webm') || src.includes('cloudinary.com');
        const modalHtml = `
      <div id="modal-${section.id}" class="modal visible">
        <div class="modal-content">
          <div class="lightbox-video">
            <div class="video-player">
              <div class="embed-container">
                ${isVideoFile ? `<video controls autoplay src="${src}"></video>` : `<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${src}"></iframe>`}
              </div>
            </div>
          </div>
        </div>
        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
      </div>
    `;
        document.body.insertAdjacentHTML('beforeend', modalHtml);
        const modal = document.getElementById(`modal-${section.id}`);
        const closeModal = modal.querySelector('.close');
        closeModal.addEventListener('click', ()=>{
            modal.remove();
        });
    }
    /**
   * Handle type contact us click
   * @param {HTMLElement} button
   */ _handleContactUsButton(button) {
        const { window: window, document: document } = this;
        // TODO: Extend for an overwritten contact us
        document.sendGoogleAnalyticsEvent({
            hitType: 'event',
            eventCategory: 'button',
            eventAction: 'click',
            eventLabel: 'contact'
        });
        window.lpUI.showModal('modal-global-contact-us', {
            scrollLock: true
        });
    }
    /**
   * Track conversion
   * @param {HTMLElement} button
   */ _trackConversion(button) {
        const { window: window, document: document } = this;
        // Conversion Tracking Options
        const { gtagConversionId: gtagConversionId, gtagConversionLabel: gtagConversionLabel, fbEventName: fbEventName } = button.dataset;
        if (gtagConversionId && gtagConversionLabel) {
            if (window.dataLayer && window.dataLayer.length) {
                const configured = window.dataLayer.some((layer)=>layer.length && layer[0] === 'config' && layer[1] === gtagConversionId);
                if (!configured) document.sendGoogleTagManagerEvent('config', gtagConversionId);
            }
            const sentTo = `${gtagConversionId}/${gtagConversionLabel}`;
            document.sendGoogleTagManagerEvent('event', 'conversion', {
                send_to: sentTo
            });
        }
        if (window.fbq && fbEventName) window.fbq('track', fbEventName, {});
    }
}


/* eslint-disable import/prefer-default-export */ 
class $68a2d4aa500c7a05$export$61ec8f2b6291ec31 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Validation Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.validatedForms = [];
    }
    /**
   * Initialize Contact Form Controller at run time
   * Attach handlers and events to DOM
   * @param {Object} options
   */ initialize(options = {}) {
        try {
            const { window: window, document: document } = this;
            const { selector: selector } = options;
            let validatedForms = [];
            if (selector) validatedForms = document.querySelectorAll(`${selector} form[data-type="contact-form"]`);
            else validatedForms = document.querySelectorAll('form[data-type="contact-form"]');
            const isPhoneValidationLibRequired = !!document.querySelectorAll('input[type="tel"]').length;
            // we are loading the phone validation lib from the globally defined list of libs
            if (isPhoneValidationLibRequired && !window.libphonenumber && window?.luxuryPresence?.libs) {
                const { loadJs: loadJs, jsLibsMap: jsLibsMap } = window.luxuryPresence.libs;
                const { libphonenumber: libphonenumber } = jsLibsMap;
                loadJs(libphonenumber.jsSrc, this.attachValidation.bind(this, validatedForms));
            } else this.attachValidation(validatedForms);
            this.validatedForms = this.validatedForms.concat(validatedForms);
        } catch (e) {
            // eslint-disable-next-line no-console
            console.log(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        this.validatedForms = [];
    }
    /**
   * Validate all forms in the document
   * @param {NodeListOf<HTMLFormElement>} forms
   */ attachValidation(forms) {
        forms.forEach((form)=>{
            const inputs = form.querySelectorAll('input, select, textarea');
            inputs.forEach((input)=>{
                this.applyFieldValidation(input);
            });
        });
    }
    /**
   * Field Validation Handler from global context
   * @param {HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement} inputField
   */ applyFieldValidation(inputField) {
        const fieldType = inputField.getAttribute('type');
        if (fieldType === 'tel') this._applyPhoneValidation(inputField);
    }
    /**
   * Phone Field Validation Handler
   * @param {HTMLInputElement} inputField
   */ _applyPhoneValidation(inputField) {
        const { window: window } = this;
        if (window.libphonenumber) {
            // https://codepen.io/coinscope/pen/BaXBvBp?editors=1010
            const phoneUtil = window.libphonenumber.isValidPhoneNumber;
            inputField.addEventListener('keyup', function() {
                if (this.hasAttribute('required') || this.value.replace(/\s/g, '').length) try {
                    const phoneNumber = this.value;
                    const region = 'US';
                    const isValidNumber = phoneUtil(phoneNumber, region);
                    if (!isValidNumber) this.setCustomValidity('Please enter a valid phone number.');
                    else this.setCustomValidity('');
                } catch (e) {
                    this.setCustomValidity('Please enter a valid phone number.');
                }
                else this.setCustomValidity('');
            });
        }
    }
}





const $2aefad83322125c9$var$homeValuationRoute = '/api/v1/home-valuation';
class $2aefad83322125c9$export$2e2bcd8739ae039 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    destroy() {
    //
    }
    /**
   * Clean address string by removing call time frame suffix and extra whitespace
   *
   * Handles 17 templates that append ", call time frame: [value]" to the address:
   * - TheTrailblazerSir_2, TheMasterpiece (2x), TheInspirationSir_1, TheIconSir_3
   * - Influencer, GlobalCollective, Evolution, CorcoranAgent_1
   * - CompassSE (2x), CompassPrestige (2x), CompassNavigator
   * - ColdwellBanker (2x), Classic
   *
   * @param {string} address - Raw address string that may contain time frame info
   * @return {string} - Cleaned address string
   */ _cleanAddressString(address) {
        if (!address || typeof address !== 'string') return '';
        let cleaned = address.trim();
        // Fix 1: Handle "User entered address:\n..." pattern from TheProducer templates
        // Extract only the user entered address, ignore geocoded part
        if (cleaned.includes('User entered address:')) {
            const match = cleaned.match(/User entered address:\s*\n?\s*([^\n]+)/);
            if (match && match[1]) cleaned = match[1].trim();
        }
        // Fix 2: Remove ", call time frame: ..." suffix if present (affects 17 templates)
        const timeFrameIndex = cleaned.indexOf(', call time frame:');
        if (timeFrameIndex !== -1) cleaned = cleaned.substring(0, timeFrameIndex).trim();
        return cleaned;
    }
    /**
   * Transform Google Maps address components to structured format
   * @param {Array} addressComponents - Google Maps address components
   * @return {Object} - Structured address object
   */ _transformAddressComponents(addressComponents) {
        const get = (t)=>(addressComponents.find((c)=>c.componentType === t) || {}).componentName?.text;
        const structuredAddress = {};
        const streetNumber = get('street_number');
        const streetName = get('route');
        const state = get('administrative_area_level_1');
        const zipcode = get('postal_code');
        const addressLine2 = get('subpremise');
        // explicit precedence for city
        const city = get('locality') || get('sublocality_level_1') || get('neighborhood');
        if (streetNumber) structuredAddress.streetNumber = streetNumber;
        if (streetName) structuredAddress.streetName = streetName;
        if (city) structuredAddress.city = city;
        if (state) structuredAddress.state = state;
        if (zipcode) structuredAddress.zipcode = zipcode;
        if (addressLine2) structuredAddress.addressLine2 = addressLine2;
        return structuredAddress;
    }
    /**
   * Extract address and coordinates from Google Maps validation data
   * @param {Object} validatedAddressData - Google Maps validation result
   * @return {Object} - Object containing structuredAddress and coordinates
   */ _extractAddressAndCoordinates(validatedAddressData) {
        let structuredAddress = null;
        let coordinates = null;
        if (validatedAddressData?.result) {
            const { result: result } = validatedAddressData;
            // Extract structured address components
            if (result.address?.addressComponents) structuredAddress = this._transformAddressComponents(result.address.addressComponents);
            // Extract coordinates
            if (result.geocode?.location) coordinates = {
                latitude: result.geocode.location.latitude,
                longitude: result.geocode.location.longitude
            };
        }
        return {
            structuredAddress: structuredAddress,
            coordinates: coordinates
        };
    }
    /**
   * Filter out empty string values from an object, keeping only non-empty values
   * @param {Object} obj - Object to filter
   * @return {Object} - Filtered object without empty strings
   */ _filterEmptyStrings(obj) {
        const filtered = {};
        for (const [key, value] of Object.entries(obj))if (value !== '' && value !== null && value !== undefined) filtered[key] = value;
        return filtered;
    }
    /**
   * Extract raw address from form data with priority fallback chain.
   * Order is critical to handle 38 home valuation templates with different field naming:
   *
   * IMPORTANT: contactForms.js (line 189) stores name="message" in comments_attributes[0].text
   * because 'message' is in DEFAULT_LEAD_FIELDS. Fields NOT in DEFAULT_LEAD_FIELDS go to content.
   *
   * Priority (most specific → most generic):
   * 1. address           - Pattern 1: 9 templates (explicit address, stored in content)
   * 2. property-address  - Pattern 3: 4 templates (dash variant with JS, stored in content)
   * 3. property_address  - Pattern 4: 3 templates (underscore, stored in content - handles VanguardProperties!)
   * 4. Property_Address  - Pattern 5: 1 template (capital P - TheProducer/HomeValuationRansomHouse, stored in content)
   * 5. comments_attributes[0].text - Pattern 2: ALL 17 templates with name="message" store HERE!
   *                                   (e.g., Evolution/HomeValuation, TheProducer/HomeValuation, etc.)
   * 6. message           - Pattern 6: 4 templates with JS-populated message (rare, checked last)
   * 7-8. homeValuationAddress, propertyAddress - Legacy/unknown formats
   *
   * Critical: Each field is cleaned BEFORE checking, so dropdown values are skipped and we try next field
   *
   * @param {Object} data - Form data
   * @return {string} - Raw address string (may contain trailing text like ", call time frame: ...")
   */ _getRawAddress(data) {
        const content = data.activity.content || {};
        const comments = data.activity.comments_attributes?.[0]?.text;
        const possibleFields = [
            content.address,
            content['property-address'],
            content.property_address,
            content.Property_Address,
            comments,
            content.message,
            content.homeValuationAddress,
            content.propertyAddress
        ];
        return possibleFields.map((field)=>field && this._cleanAddressString(field)).find(Boolean) || '';
    }
    /**
   * Logs lead-related events for monitoring
   * @param {string} eventType - Type of event
   * @param {Object} data - Form data
   * @param {Error} error - Optional error object
   */ _logLeadEvent(eventType, data, error = null) {
        const eventPayload = {
            event: eventType,
            companyId: this.config.companyId,
            websiteId: this.config.websiteId,
            timestamp: new Date().toISOString(),
            hasEmail: !!data.activity?.author_email,
            hasAddress: !!this._getRawAddress(data)
        };
        if (error) {
            // Use userMessage (sanitized) instead of raw message to prevent PII exposure
            // userMessage is set by _getUserFriendlyErrorMessage() which provides safe messages
            eventPayload.errorMessage = error.userMessage || (error.status ? `Request failed with status ${error.status}` : 'An error occurred');
            eventPayload.errorName = error.name;
            eventPayload.errorStatus = error.status;
        }
        // Log to console with structured format for log aggregation
        // eslint-disable-next-line no-console
        console.error(`[HomeValuation] ${eventType}`, JSON.stringify(eventPayload));
        // If PostHog is available, send event for analytics
        // Wrap in try/catch to prevent SDK failures from blocking submissions
        if (this.window.posthog) try {
            this.window.posthog.capture(eventType, eventPayload);
        } catch (posthogError) {
            // eslint-disable-next-line no-console
            console.error('[HomeValuation] PostHog capture failed:', posthogError);
        }
    }
    /**
   * Maps error types to user-friendly messages
   * @param {Error} error - The error object
   * @returns {string} - User-friendly message
   */ _getUserFriendlyErrorMessage(error) {
        if (error.name === 'AbortError' || error.message?.includes('timeout')) return 'Connection timed out. Please try again.';
        if (error.name === 'TypeError' && error.message?.includes('fetch')) return 'Unable to connect. Please check your internet connection and try again.';
        if (error.status === 503 || error.status === 502 || error.status === 504) return 'Service temporarily unavailable. Please try again in a moment.';
        if (error.status === 400) return 'Please check your information and try again.';
        return 'Something went wrong. Please try again or contact us directly.';
    }
    /**
   * Build formatted address string from structured address components
   * @param {Object} structuredAddress - Structured address object
   * @return {string} - Formatted address string
   */ _formatStructuredAddress(structuredAddress) {
        if (!structuredAddress || Object.keys(structuredAddress).length === 0) return '';
        const parts = [];
        // Line 1: streetNumber streetName addressLine2
        const line1 = [
            structuredAddress.streetNumber,
            structuredAddress.streetName,
            structuredAddress.addressLine2
        ].filter(Boolean).join(' ');
        parts.push(line1);
        // Line 2: city, state zipcode
        const cityState = [
            structuredAddress.city,
            structuredAddress.state
        ].filter(Boolean).join(', ');
        const line2 = [
            cityState,
            structuredAddress.zipcode
        ].filter(Boolean).join(' ');
        parts.push(line2);
        return parts.filter(Boolean).join(', ');
    }
    /**
   * Build home valuation data object
   * @param {Object} data - Form data
   * @param {string} homeValuationEstimate - Home valuation estimate
   * @param {Object} structuredAddress - Structured address object
   * @param {Object} coordinates - Coordinates object
   * @return {Object} - Home valuation data object
   */ _buildHomeValuationData(data, homeValuationEstimate, structuredAddress, coordinates) {
        // Build homeValuationAddress from structured address (validated by Google) if available
        // Format: streetNumber streetName, city, state zipcode, addressLine2
        const homeValuationAddress = this._formatStructuredAddress(structuredAddress) || this._getRawAddress(data);
        // Validate that we have an address before proceeding
        if (!homeValuationAddress) throw new Error('Unable to extract home valuation address from form data');
        // Required fields that must always be included
        const requiredFields = {
            companyId: data.companyId,
            homeValuationAddress: homeValuationAddress,
            homeValuationEstimate: homeValuationEstimate ? new Intl.NumberFormat('en-US', {
                style: 'currency',
                currency: 'USD',
                maximumFractionDigits: 0,
                minimumFractionDigits: 0
            }).format(homeValuationEstimate) : null,
            websiteId: data.page.websiteId,
            sourceUrl: data.activity.source_url
        };
        // Optional fields that will be filtered if empty
        const optionalFields = {
            leadEmailAddress: data.activity.author_email,
            leadFullName: data.activity.author_name,
            leadPhoneNumber: data.activity.author_phone,
            parcelId: data.activity.content?.parcelId,
            resourceId: data.page.pageMeta?.resourceId,
            pageId: data.page.pageId,
            sourceResource: data.page.pageMeta?.sourceResource,
            pageElementId: data.page.pageMeta?.pageElementId,
            formId: data.page.pageMeta?.formId,
            utmSource: data.activity.content?.utm_source,
            utmMedium: data.activity.content?.utm_medium,
            utmCampaign: data.activity.content?.utm_campaign,
            utmTerm: data.activity.content?.utm_term,
            utmContent: data.activity.content?.utm_content,
            utmId: data.activity.content?.utm_id,
            timeToSell: data.activity.content?.timeToSell,
            lookingToBuy: data.activity.content?.lookingToBuy,
            referrer: data.referrer,
            content: data.activity.content || {},
            fields: data.fields || {}
        };
        // Filter out empty strings from optional fields
        const filteredOptionalFields = this._filterEmptyStrings(optionalFields);
        return {
            ...requiredFields,
            ...filteredOptionalFields,
            // Add structured address and coordinates if they exist
            ...structuredAddress && {
                address: structuredAddress
            },
            ...coordinates && {
                coordinates: coordinates
            }
        };
    }
    /**
   * Validate address with Google Maps
   * @param {string} rawAddress - Raw address string
   * @returns {Promise<Object|null>} - Validated address data or null
   * @throws {Error} - If validation fails, error is thrown with userMessage
   */ async _validateAddressSafely(rawAddress) {
        if (!rawAddress) {
            // eslint-disable-next-line no-console
            console.error('Home valuation: No address found in form data');
            return null;
        }
        try {
            return await this._validateAddressWithGoogleMaps(rawAddress);
        } catch (error) {
            // eslint-disable-next-line no-console
            console.error('Error validating address with Google Maps:', error);
            // Attach user-friendly message and throw so user sees the error
            error.userMessage = this._getUserFriendlyErrorMessage(error);
            throw error;
        }
    }
    /**
   * Get home valuation estimate
   * @param {Object} validatedAddressData - Validated address data
   * @returns {Promise<number|null>} - Home valuation estimate or null
   * @throws {Error} - If estimate fetch fails, error is thrown with userMessage
   */ async _getHomeValuationEstimateSafely(validatedAddressData) {
        try {
            return await this._getHomeValuationEstimate(validatedAddressData);
        } catch (error) {
            // eslint-disable-next-line no-console
            console.error('Error getting home valuation estimate:', error);
            // Attach user-friendly message and throw so user sees the error
            error.userMessage = this._getUserFriendlyErrorMessage(error);
            throw error;
        }
    }
    /**
   * Parse response text into payload object
   * @param {string} text - Response text
   * @returns {Object} - Parsed payload
   */ _parseResponsePayload(text) {
        try {
            return text ? JSON.parse(text) : {};
        } catch  {
            return {
                raw: text
            };
        }
    }
    /**
   * Create error from failed response
   * @param {Object} payload - Response payload
   * @param {number} status - HTTP status code
   * @returns {Error} - Error object with status and payload
   */ _createResponseError(payload, status) {
        const errorMessage = payload && typeof payload === 'object' && Object.keys(payload).length ? payload.message || JSON.stringify(payload) : 'Request failed';
        const error = new Error(errorMessage);
        // Preserve payload properties if it's an object
        if (payload && typeof payload === 'object' && Object.keys(payload).length) Object.assign(error, payload);
        // Preserve numeric HTTP status - must be set after Object.assign
        // to ensure it takes precedence over any status in payload
        error.status = status;
        return error;
    }
    /**
   * Submit lead to API endpoint
   * @param {string} leadRoute - API endpoint URL
   * @param {Object} homeValuationData - Data to submit
   * @returns {Promise<Object>} - Submission result
   */ async _submitLead(leadRoute, homeValuationData) {
        const controller = new AbortController();
        const timeoutId = setTimeout(()=>controller.abort(), 10000);
        try {
            const response = await fetch(leadRoute, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(homeValuationData),
                signal: controller.signal
            });
            clearTimeout(timeoutId);
            const text = await response.text();
            const payload = this._parseResponsePayload(text);
            if (!response.ok) throw this._createResponseError(payload, response.status);
            if (payload && payload.status === 'success' && payload.redirectUrl) {
                this.window.location.href = payload.redirectUrl;
                return {
                    redirected: true,
                    url: payload.redirectUrl
                };
            }
            return payload;
        } catch (error) {
            clearTimeout(timeoutId);
            throw error;
        }
    }
    /**
   * Submit home valuation request with Google Maps validation
   * @param {Object} data
   * @return {Promise<Object>}
   */ async _submitHomeValuationRequest(data) {
        const { config: config } = this;
        // Use websiteApiGatewayUrl from config
        if (!config.websiteApiGatewayUrl) throw new Error('websiteApiGatewayUrl not configured for home valuation');
        // Log submission started
        this._logLeadEvent('home_valuation_submission_started', data);
        try {
            // Validate address with Google Maps
            const rawAddress = this._getRawAddress(data);
            let validatedAddressData = null;
            try {
                validatedAddressData = await this._validateAddressSafely(rawAddress);
            } catch (error) {
                // Error already has userMessage from _validateAddressSafely
                this._logLeadEvent('home_valuation_address_validation_failed', data, error);
                throw error;
            }
            // Get home valuation estimate.
            // The estimate is best-effort: many valid properties (e.g. commercial
            // parcels or addresses without AVM coverage) have no estimate and the
            // estimate endpoint returns a non-OK status for them. A missing estimate
            // must never block lead capture, so we log the failure and continue with
            // a null estimate rather than aborting the whole submission.
            let homeValuationEstimate = null;
            try {
                homeValuationEstimate = await this._getHomeValuationEstimateSafely(validatedAddressData);
            } catch (error) {
                // Error already has userMessage from _getHomeValuationEstimateSafely
                this._logLeadEvent('home_valuation_estimate_failed', data, error);
                homeValuationEstimate = null;
            }
            // Extract structured address and coordinates from Google Maps validation
            const { structuredAddress: structuredAddress, coordinates: coordinates } = this._extractAddressAndCoordinates(validatedAddressData);
            const leadRoute = `${config.websiteApiGatewayUrl}${$2aefad83322125c9$var$homeValuationRoute}`;
            const homeValuationData = this._buildHomeValuationData(data, homeValuationEstimate, structuredAddress, coordinates);
            const result = await this._submitLead(leadRoute, homeValuationData);
            // Log success
            this._logLeadEvent('home_valuation_submission_success', data);
            return result;
        } catch (error) {
            // Ensure error has user-friendly message (may already be set by helper methods)
            if (!error.userMessage) error.userMessage = this._getUserFriendlyErrorMessage(error);
            this._logLeadEvent('home_valuation_submission_failed', data, error);
            throw error;
        }
    }
    /**
   * Validate address using Google Maps Address Validation API
   * @param {string} addressStr - The address string to validate
   * @returns {Promise<Object|null>} - Validated address data or null if validation fails
   */ async _validateAddressWithGoogleMaps(addressStr) {
        const { config: config, window: window } = this;
        // Ensure Google Maps API key is loaded
        let apiKey = config.googleMapsAPIKey;
        if (!apiKey && window.luxuryPresence?.mapApiLoader) apiKey = await window.luxuryPresence.mapApiLoader.getMapApiKey();
        if (!apiKey) throw new Error('Google Maps API key not configured');
        const controller = new AbortController();
        const timeoutId = setTimeout(()=>controller.abort(), 10000);
        try {
            const response = await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${apiKey}`, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({
                    address: {
                        addressLines: [
                            addressStr
                        ]
                    },
                    enableUspsCass: false
                }),
                signal: controller.signal
            });
            clearTimeout(timeoutId);
            if (!response.ok) {
                const error = new Error(`Address validation failed: ${response.status}`);
                error.status = response.status;
                throw error;
            }
            return response.json();
        } catch (error) {
            clearTimeout(timeoutId);
            throw error;
        }
    }
    /**
   * Check if structured address has all mandatory fields
   * @param {Object} structuredAddress - Structured address object
   * @return {boolean}
   */ _hasMandatoryAddressFields(structuredAddress) {
        return !!(structuredAddress.streetNumber && structuredAddress.streetName && structuredAddress.city && structuredAddress.state && structuredAddress.zipcode);
    }
    /**
   * Log missing mandatory address fields
   * @param {Object} structuredAddress - Structured address object
   */ _logMissingAddressFields(structuredAddress) {
        const missingFields = [];
        if (!structuredAddress.streetNumber) missingFields.push('streetNumber');
        if (!structuredAddress.streetName) missingFields.push('streetName');
        if (!structuredAddress.city) missingFields.push('city');
        if (!structuredAddress.state) missingFields.push('state');
        if (!structuredAddress.zipcode) missingFields.push('zipcode');
        // eslint-disable-next-line no-console
        console.log('Home valuation estimate skipped - missing required fields:', missingFields.join(', '), 'Available fields:', Object.keys(structuredAddress).join(', '));
    }
    /**
   * Build query string from structured address
   * @param {Object} structuredAddress - Structured address object
   * @return {string}
   */ _buildAddressQueryString(structuredAddress) {
        return Object.entries(structuredAddress).map(([key, value])=>`${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');
    }
    /**
   * GET home valuation estimate
   * @param {string} address
   * @param {Object} validatedAddressData - Google Maps validated address data
   * @return {Promise<number|null>}
   */ async _getHomeValuationEstimate(validatedAddressData = null) {
        const { config: config } = this;
        if (!config.websiteApiGatewayUrl) throw new Error('websiteApiGatewayUrl not configured');
        const base = `${config.websiteApiGatewayUrl}${$2aefad83322125c9$var$homeValuationRoute}`;
        // Check if we have validated address data
        if (!validatedAddressData?.result?.address?.addressComponents) return null;
        const structuredAddress = this._transformAddressComponents(validatedAddressData.result.address.addressComponents);
        // Check if all mandatory fields exist
        if (!this._hasMandatoryAddressFields(structuredAddress)) {
            this._logMissingAddressFields(structuredAddress);
            return null;
        }
        // Build URL with query string
        const qs = this._buildAddressQueryString(structuredAddress);
        const homeValURL = `${base}?${qs}`;
        const controller = new AbortController();
        const timeoutId = setTimeout(()=>controller.abort(), 10000);
        try {
            const response = await fetch(homeValURL, {
                headers: {
                    Accept: 'application/json'
                },
                signal: controller.signal
            });
            clearTimeout(timeoutId);
            if (!response.ok) {
                const error = new Error(`Home valuation estimate failed: ${response.status}`);
                error.status = response.status;
                throw error;
            }
            const data = await response.json();
            return data?.valueDollars ?? null;
        } catch (error) {
            clearTimeout(timeoutId);
            // Re-throw to allow retry logic to handle it
            throw error;
        }
    }
}


const $e10bd00497be8876$export$97de66002300ed70 = 'middleName';
// Default lead fields
const $e10bd00497be8876$var$DEFAULT_LEAD_FIELDS = [
    'name',
    'firstName',
    'lastName',
    $e10bd00497be8876$export$97de66002300ed70,
    'email',
    'phone',
    'phoneNumber',
    'source',
    'message',
    'mlsId',
    'sourceUrl'
];
class $e10bd00497be8876$export$3c5380623cf51249 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Contact Form Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.forms = [];
        this.homeValuationService = new (0, $2aefad83322125c9$export$2e2bcd8739ae039)(config, window, document);
    }
    /**
   * Initialize Contact Form Controller at run time
   * Attach handlers and events to DOM
   * @param {Object} options
   */ initialize(options = {}) {
        try {
            const { document: document } = this;
            const { selector: selector } = options;
            let forms = [];
            if (selector) forms = document.querySelectorAll(`${selector} form[data-type="contact-form"]`);
            else forms = document.querySelectorAll('form[data-type="contact-form"]');
            forms.forEach((form)=>{
                this._attachSubmitHandler(form);
            // this._attachValidation(form);
            });
            this.forms = this.forms.concat(forms);
        } catch (e) {
            // eslint-disable-next-line no-console
            console.log(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        this.forms = [];
    }
    /**
   * Handle submit from global context
   * @param {HTMLFormElement} form
   */ submitForm(form) {
        this._handleSubmit(null, form).catch((e)=>console.error(e));
    }
    /**
   * Attach submit event for form
   * @param {HTMLFormElement} contactForm
   */ _attachValidation(contactForm) {
        const { window: window } = this;
        const inputs = contactForm.querySelectorAll('input, select, textarea');
        inputs.forEach((input)=>{
            window.luxuryPresence.validation.applyFieldValidation(input);
        });
    }
    /**
   * Attach submit event for form
   * @param {HTMLFormElement} contactForm
   */ _attachSubmitHandler(contactForm) {
        contactForm.addEventListener('submit', (e)=>this._handleSubmit(e, contactForm));
    }
    /**
   * Extract and process form values
   * @param {HTMLFormElement} contactForm
   * @return {Object} - Processed form values
   */ _extractFormValues(contactForm) {
        const formData = new FormData(contactForm);
        const values = {};
        const nameParts = [];
        const nameKeyRegex = /^name(?:-\d+)?$/;
        formData.forEach((value, key)=>{
            if (typeof value === 'string') {
                const curr = value.trim();
                if (nameKeyRegex.test(key) && curr) nameParts.push(curr);
                const prev = values[key];
                values[key] = prev ? `${prev} ${curr}` : curr;
            } else values[key] = value;
        });
        if (nameParts.length) values.name = nameParts.join(' ').trim();
        else if (!values.name && values.firstName) {
            values.name = values.firstName;
            if (values.lastName) values.name += ` ${values.lastName}`;
        }
        return values;
    }
    /**
   * Build submission data object
   * @param {Object} values - Form values
   * @param {Object} fields - Form fields
   * @param {HTMLFormElement} contactForm - Form element
   * @return {Object} - Submission data
   */ _buildSubmissionData(values, fields, contactForm) {
        const { window: window, config: config } = this;
        const content = Object.keys(values).filter((key)=>!$e10bd00497be8876$var$DEFAULT_LEAD_FIELDS.includes(key)).reduce((result, key)=>{
            // eslint-disable-next-line
            result[key] = values[key];
            return result;
        }, {});
        const { pageId: pageId, companyId: companyId, websiteId: websiteId, pageMeta: pageMeta } = config;
        const utm = window.localStorage.getItem('utm_vars') || '{}';
        const referrer = window.localStorage.getItem('referrer') || '';
        const formId = this._getFormId(contactForm);
        return {
            activity: {
                author_email: values.email,
                author_name: values.name,
                author_phone: values.phone || values.phoneNumber,
                activity_source: values.source || 'CONTACT_INQUIRY',
                comments_attributes: [
                    {
                        text: values.message || undefined
                    }
                ],
                source_url: window.location.href,
                content: {
                    ...content,
                    ...JSON.parse(utm)
                }
            },
            page: {
                pageId: pageId,
                companyId: companyId,
                websiteId: websiteId,
                pageMeta: {
                    ...pageMeta,
                    formId: formId
                }
            },
            companyId: companyId,
            referrer: referrer,
            fields: fields
        };
    }
    /**
   * Handle successful form submission
   * @param {HTMLFormElement} contactForm - Form element
   */ _handleSubmissionSuccess(contactForm) {
        const { window: window } = this;
        const closeDelay = contactForm.dataset.delay || (0, $a3e97e89bbc2a366$export$f037eeffb5561205);
        contactForm.classList.remove('loading');
        contactForm.classList.remove('error');
        contactForm.classList.add('success');
        // TODO: Review producer and classic to deprecate "hide"
        contactForm.querySelectorAll('.success').forEach((el)=>el.classList.remove('hide'));
        contactForm.dispatchEvent(new Event('formsubmitted'));
        setTimeout(()=>{
            window.lpUI.hideClosestModal(contactForm);
            contactForm.reset();
            window.lpUI.sideMenuHide();
            contactForm.querySelectorAll('.success').forEach((el)=>el.classList.add('hide'));
            contactForm.classList.remove('success');
        }, closeDelay);
    }
    /**
   * Submit Contact Form Handler
   * @param {Event} e
   * @param {HTMLFormElement} contactForm
   * @return {Promise<Object>}
   */ async _handleSubmit(e, contactForm) {
        if (e) e.preventDefault();
        if (contactForm.classList.contains('loading')) // Form already submitting
        return;
        // Hide any previous error message and clear error state
        this._hideSubmissionError(contactForm);
        contactForm.classList.remove('error');
        contactForm.classList.add('loading');
        try {
            // Extract form values first (before async operations)
            const values = this._extractFormValues(contactForm);
            // TODO: HoneyPot should still send request
            if (values.middleName) {
                contactForm.classList.remove('loading');
                return;
            }
            const fields = this._getFields(contactForm);
            const data = this._buildSubmissionData(values, fields, contactForm);
            await this._submitLeadRequest(data);
            this._sendGAEvent(data);
            this._handleSubmissionSuccess(contactForm);
        } catch (err) {
            // eslint-disable-next-line no-console
            console.error('Form submission failed:', err);
            contactForm.dispatchEvent(new Event('formsubmiterror'));
            contactForm.classList.remove('loading');
            contactForm.classList.add('error');
            // Show user-friendly error message if available (from home valuation service)
            if (err.userMessage) this._showSubmissionError(contactForm, err.userMessage);
            else this._showSubmissionError(contactForm, 'Something went wrong. Please try again.');
        }
    }
    /**
   * Alias anonymous user with canonical ID using event bus
   * Links the user's anonymous browsing session to their canonical identity
   * @param {Object} data - Form submission data
   * @private
   */ _aliasUserWithEventBus(data) {
        try {
            // Check if event bus library and required methods are available
            if (!this.window.eventBusProvider?.alias || !this.window.eventBusProvider?.isIdentified || !this.window.eventBusProvider?.getDistinctId || !this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail) return; // Event bus or required methods not available
            // Skip if user is already identified
            if (this.window.eventBusProvider.isIdentified()) {
                console.log('[EventBus] User already identified, skipping alias');
                return;
            }
            const email = data.activity?.author_email;
            const { companyId: companyId } = this.config;
            if (!email || !companyId) {
                console.warn('[EventBus] Missing required data for user alias');
                return;
            }
            // Get the anonymous distinct ID from PostHog
            const anonId = this.window.eventBusProvider.getDistinctId();
            if (!anonId) {
                console.warn('[EventBus] No anonymous ID available for alias');
                return;
            }
            // Generate deterministic canonical ID from company + email
            const canonicalId = this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(companyId, email);
            // Create alias linking anonymous ID to canonical ID
            this.window.eventBusProvider.alias({
                anonId: anonId,
                canonicalId: canonicalId
            });
            console.log('[EventBus] User aliased with canonical ID');
        } catch (error) {
            // Never block form submission due to analytics errors
            console.error('[EventBus] User alias failed:', error);
        }
    }
    /**
   * Send Lead Request
   * @param {Object} data
   * @return {Promise<Object>}
   */ async _submitLeadRequest(data) {
        const { config: config } = this;
        // Alias user with event bus before submitting the lead
        this._aliasUserWithEventBus(data);
        if (config.myhomeDashboardEnabled && (data.activity?.activity_source === 'HOME_VALUATION' || data.activity?.activity_source === 'HOME_VALUE')) return this.homeValuationService._submitHomeValuationRequest(data);
        const leadRoute = `${config.leadIngesterUrl}/api/v1/leads`;
        return fetch(leadRoute, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        }).then((response)=>{
            if (!response.ok) return response.json().then((error)=>{
                throw error;
            });
            return response.json();
        });
    }
    /**
   * Send GA event
   * @param {Object} data
   */ _sendGAEvent(data) {
        const { document: document } = this;
        let event = {
            hitType: 'event',
            eventCategory: 'button',
            eventAction: 'click'
        };
        switch(data.activity.activity_source){
            case 'NEWSLETTER_SIGNUP':
                event.eventLabel = 'Newsletter';
                document.sendGoogleTagManagerEvent('event', 'newsletter_signup');
                break;
            case 'HOME_SEARCH':
                event.eventLabel = 'HomeSearch';
                document.sendGoogleTagManagerEvent('event', 'home_search');
                break;
            case 'HOME_VALUE':
            case 'HOME_VALUATION':
                event.eventLabel = 'HomeValue';
                document.sendGoogleTagManagerEvent('event', 'home_valuation');
                break;
            case 'EBOOK':
                event.eventLabel = 'Ebook';
                document.sendGoogleTagManagerEvent('event', 'ebook_download');
                break;
            case 'CONTACT_INQUIRY':
            default:
                // for contact forms, Marketing has requested that they see a page-view of 'thank-you' as indication of success
                // Note that this will break if we have actual page with url of /thank-you
                event = {
                    hitType: 'pageview',
                    page: '/thank-you'
                };
                document.sendGoogleTagManagerEvent('event', 'contact_inquiry');
                break;
        }
        document.sendGoogleAnalyticsEvent(event);
    }
    /**
   * Gather fields / schema for form, used for display in CRM
   * @param {HTMLFormElement} form
   * @return {Object}
   */ _getFields(form) {
        const inputs = form.querySelectorAll('input, select, textarea');
        const fields = {};
        inputs.forEach((input)=>{
            const { id: id, name: name, type: inputType } = input;
            if (name === $e10bd00497be8876$export$97de66002300ed70) // Honeypot continue
            return true;
            let label = '';
            if (id) {
                const labelNode = form.querySelector(`label[for='${id}']`);
                if (labelNode) label = labelNode.textContent.trim();
                else if (input.placeholder) label = input.placeholder.trim();
            }
            fields[name] = {
                label: label,
                type: input.tagName,
                inputType: input.tagName === 'INPUT' ? inputType : 'text'
            };
        });
        return fields;
    }
    /**
   * Figure out relevant section or div ID for form
   * @param {HTMLFormElement} form
   * @return {string}
   */ _getFormId(form) {
        const SELECTORS = "section[id^='section-'], footer[id], .modal[id^='modal-']";
        const parent = form.closest(SELECTORS);
        return parent?.id ? this._cleanFormId(parent.id) : '';
    }
    /**
   * Remove prefix from formID
   * @param {string} formId
   * @return {string}
   */ _cleanFormId(formId) {
        const PREFIXES = [
            'section-',
            'modal-'
        ];
        for (const prefix of PREFIXES){
            if (formId.startsWith(prefix)) return formId.substring(prefix.length);
        }
        return formId;
    }
    /**
   * Show submission error message on form
   * @param {HTMLFormElement} form
   * @param {string} message
   */ _showSubmissionError(form, message) {
        const errorEl = form.querySelector('.submission-error-message');
        if (errorEl) {
            errorEl.textContent = message || 'Something went wrong. Please try again.';
            errorEl.style.display = 'block';
        }
    }
    /**
   * Hide submission error message on form
   * @param {HTMLFormElement} form
   */ _hideSubmissionError(form) {
        const errorEl = form.querySelector('.submission-error-message');
        if (errorEl) errorEl.style.display = 'none';
    }
}



const $ea6901fdf47e0ec1$var$CALLBACK = '__googleMapsCallback';
const $ea6901fdf47e0ec1$var$GOOGLE_MAPS_URL = 'https://maps.googleapis.com/maps/api/js';
const $ea6901fdf47e0ec1$export$76299006759be400 = 1024;
class $ea6901fdf47e0ec1$export$3c19195edca3fa5c extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Button Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.retries = 3;
        this.callbacks = [];
        this.id = `__googleMapsScriptId${Date.now()}`;
        this._apiKey = '';
        this.reset();
    }
    /**
   * Set the Google Maps api key
   * @param {string} apiKey
   */ set apiKey(apiKey) {
        this._apiKey = apiKey;
        this.config.setGoogleMapsAPIKey(apiKey);
    }
    /**
   * Get the Google Maps api key
   * @return {string}
   */ get apiKey() {
        return this._apiKey;
    }
    /**
   * Reset the loader state.
   */ reset() {
        this.deleteScript();
        this.done = false;
        this.loading = false;
        this.errors = [];
        this.onerrorEvent = null;
    }
    /**
   * Destroy
   */ destroy() {
        this.reset();
    }
    /**
   * get map api Key
   * @return {Promise<string>}
   */ async getMapApiKey() {
        if (this.apiKey) return this.apiKey;
        try {
            const response = await fetch(`${this._getBaseUrl()}/api/v1/map`);
            if (!response.ok) throw new Error('Failed to fetch API key');
            const code = await response.text();
            this.apiKey = code;
            return this.apiKey;
        } catch (e) {
            // eslint-disable-next-line no-console
            console.error(e);
            return '';
        }
    }
    /**
   * CreateUrl returns the Google Maps JavaScript API script url ].
   * @return {string}
   */ async createUrl() {
        let url = $ea6901fdf47e0ec1$var$GOOGLE_MAPS_URL;
        url += `?callback=${$ea6901fdf47e0ec1$var$CALLBACK}`;
        const apiKey = await this.getMapApiKey();
        if (apiKey) url += `&key=${apiKey}`;
        url += `&libraries=places`;
        return url;
    }
    /**
   * Set the script on document.
   */ async setScript() {
        if (this.document.getElementById(this.id)) {
            this.callback();
            return;
        }
        const url = await this.createUrl();
        const script = this.document.createElement('script');
        script.id = this.id;
        script.type = 'text/javascript';
        script.src = url;
        script.onerror = this.loadErrorCallback.bind(this);
        script.defer = true;
        script.async = true;
        this.document.head.appendChild(script);
    }
    /**
   * Function to be called if script tag fails
   * @param {Error} e
   */ loadErrorCallback(e) {
        this.errors.push(e);
        if (this.errors.length <= this.retries) {
            const delay = this.errors.length * 2 ** this.errors.length;
            // eslint-disable-next-line no-console
            console.log(`Failed to load Google Maps script, retrying in ${delay} ms.`);
            setTimeout(()=>{
                this.deleteScript();
                this.setScript().catch((e)=>console.error(e));
            }, delay);
        } else {
            this.onerrorEvent = e;
            this.callback();
        }
    }
    /**
   * Delete the script tag
   */ deleteScript() {
        const script = this.document.getElementById(this.id);
        if (script) script.remove();
    }
    /**
   * Load the Google Maps JavaScript API script and return a Promise.
   * @return {Promise}
   */ load() {
        return this.loadPromise();
    }
    /**
   * Load the Google Maps JavaScript API script and return a Promise.
   * @return {Promise}
   */ loadPromise() {
        return new Promise((resolve, reject)=>{
            this.loadCallback((err)=>{
                if (!err) resolve();
                else reject(err);
            });
        });
    }
    /**
   * Load the Google Maps JavaScript API script with a callback.
   * @param {Function<Event>} fn
   */ loadCallback(fn) {
        this.callbacks.push(fn);
        this.execute();
    }
    /**
   * Sets the callback function that will be sent as part of the script URL.
   */ setCallback() {
        this.window.__googleMapsCallback = this.callback.bind(this);
    }
    /**
   * Reset if failed
   */ resetIfRetryingFailed() {
        if (this.failed) this.reset();
    }
    /**
   * This is the function that we set the callback parameter to.
   */ callback() {
        this.done = true;
        this.loading = false;
        this.callbacks.forEach((cb)=>{
            cb(this.onerrorEvent);
        });
        this.callbacks = [];
    }
    /**
   * Set the script a if needed; set the callback
   */ execute() {
        if (this.window.google && this.window.google.maps && this.window.google.maps.version) // Google Maps already loaded
        this.callback();
        this.resetIfRetryingFailed();
        if (this.done) this.callback();
        else if (this.loading) ;
        else {
            this.loading = true;
            this.setCallback();
            this.setScript().catch((e)=>console.error(e));
        }
    }
    /**
   * get base url based on current config
   * @return {string}
   */ _getBaseUrl() {
        // Special handling for page builder since no wag available
        const { isBuilder: isBuilder, websiteApiGatewayUrl: websiteApiGatewayUrl } = this.config;
        return isBuilder ? websiteApiGatewayUrl : '';
    }
    /**
   * Resize static map requests to the max 1024px while preserving aspect ratio
   * @param {number} width
   * @param {number} height
   * @return {{width, height}}
   */ resizeStaticMapDimensions(width, height) {
        if (width <= $ea6901fdf47e0ec1$export$76299006759be400 && height <= $ea6901fdf47e0ec1$export$76299006759be400) return {
            width: width,
            height: height
        };
        // Size param ignored if dimensions exceed STATIC_MAP_MAX_DIM
        const ratio = Math.min($ea6901fdf47e0ec1$export$76299006759be400 / width, $ea6901fdf47e0ec1$export$76299006759be400 / height);
        return {
            width: parseInt(width * ratio),
            height: parseInt(height * ratio)
        };
    }
    /**
   * Convert theme to static api param object
   * @param {Object} theme
   * @return {Object}
   */ convertThemeToStaticApiUrl(theme) {
        // https://developers.google.com/maps/documentation/maps-static/style-reference
        // Google Maps Static API uses a special syntax for it's urls based on the interactive map styles
        return theme.map((t)=>{
            const styles = t.stylers.reduce((acc, s)=>{
                const visibility = s.visibility ? `visibility:${s.visibility}` : '';
                const color = s.color ? `color:${s.color.replace('#', '0x')}` : '';
                const lightness = s.lightness ? `lightness:${s.lightness}` : '';
                return `${acc}|${visibility}${color}${lightness}`;
            }, '');
            const element = t.elementType ? `|element:${t.elementType}` : '';
            return `feature:${t.featureType}${element}${styles}`;
        });
    }
    /**
   * generate digital signature for url
   * @param {string} queryString to sign
   * @return {Promise<string>} digitally signed url
   */ async getMapApiSignedUrl(queryString) {
        try {
            const response = await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${queryString}`);
            if (!response.ok) throw new Error('Failed to fetch signed URL');
            const { url: url } = await response.json();
            return url;
        } catch (e) {
            // eslint-disable-next-line no-console
            console.error(e);
            return '';
        }
    }
    /**
   * Generate static map url
   * @param {number} lat
   * @param {number} lng
   * @param {number} zoom
   * @param {Object} theme
   * @param {number} srcWidth
   * @param {number} srcHeight
   * @return {string}
   */ generateStaticMapUrl(lat, lng, zoom, theme, srcWidth, srcHeight) {
        const baseUrl = 'https://maps.googleapis.com/maps/api/staticmap';
        const { width: width, height: height } = this.resizeStaticMapDimensions(srcWidth, srcHeight);
        const query = {
            center: `${lat},${lng}`,
            zoom: zoom,
            scale: 2,
            size: `${width}x${height}`,
            key: this.apiKey
        };
        if (theme) query.style = this.convertThemeToStaticApiUrl(theme);
        const params = new URLSearchParams();
        Object.entries(query).forEach(([key, value])=>{
            if (Array.isArray(value)) value.forEach((v)=>params.append(key, v.toString()));
            else params.append(key, value.toString());
        });
        return `${baseUrl}?${params.toString()}`;
    }
    /**
   * Generate static map url with digital signature
   * @param {Object} {
   *  srcWidth {number}, required
   *  srcHeight {number}, required
   *  theme {array},
   *  center: `${lat},${lng}`, required
   *  zoom: number, required
   *  markers: `${lat},${lng}`,
   *  scale: number,
   *  otherQueryParams... (these must match what is compatible with google maps static api query params)
   * }
   * @return {Promise<string>} digitally signed url
   */ async generateDigitallySignedStaticMapUrl({ srcWidth: srcWidth, srcHeight: srcHeight, theme: theme, ...query }) {
        const { width: width, height: height } = this.resizeStaticMapDimensions(srcWidth, srcHeight);
        const queryParams = {
            ...query,
            size: `${width}x${height}`
        };
        if (theme) queryParams.style = this.convertThemeToStaticApiUrl(theme);
        const params = new URLSearchParams();
        Object.entries(queryParams).forEach(([key, value])=>{
            if (Array.isArray(value)) value.forEach((v)=>params.append(key, v.toString()));
            else params.append(key, value.toString());
        });
        const queryString = params.toString();
        try {
            // fetch digitally signed url
            return await this.getMapApiSignedUrl(queryString);
        } catch (e) {
            console.error(e);
            return '';
        }
    }
}


/* eslint-disable import/prefer-default-export */ 

class $0a0ad49f13c0b8fd$export$ba9afeb75f20f616 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    // constructor is not needed as it is inherited from BaseController
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {}
    /**
   * Places (re-places) a value into the query string under specified key
   *   or removes it if new value is null or undefined
   * @param {string} key
   * @param {string|null|undefined|object|array} value
   * @param {string} url - defaults to window.location.href
   * @return {string}
   */ // eslint-disable-next-line sonarjs/cognitive-complexity
    updateQueryString(key, value, url) {
        // https://stackoverflow.com/questions/5999118/how-can-i-add-or-update-a-query-string-parameter
        if (!url) // eslint-disable-next-line
        url = this.window.location.href;
        let re = new RegExp(`([?&])${key}=.*?(&|#|$)`, 'i');
        let replacement = '';
        if (typeof value !== 'undefined' && value !== null) {
            if (Array.isArray(value)) {
                if (value.length) replacement = this.serializeArray(key, value);
            } else if (typeof value === 'object') {
                re = new RegExp(`([?&])${key}\\[[^=]*\\]=.*?(&|#|$)`, 'i');
                replacement = this.serializeObj(value, '', key);
            } else replacement = `${key}=${encodeURIComponent(value)}`;
        }
        const hash = url.split('#');
        let result = hash[0];
        if (re.test(url)) {
            let clean = result;
            replacement = replacement ? `$1${replacement}$2` : '$1';
            while(re.test(clean)){
                result = clean.replace(re, replacement);
                clean = clean.replace(re, '$1');
            }
            result = result.replace(/(&|\?)$/, '');
        } else if (replacement) {
            const separator = result.indexOf('?') !== -1 ? '&' : '?';
            result += `${separator}${replacement}`;
        }
        if (typeof hash[1] !== 'undefined' && hash[1] !== null) result += `#${hash[1]}`;
        return result;
    }
    /**
   * Returns variable from query string specified by parameter name
   * @param {string} name
   * @param {string} url defaults to window.location.href
   * @return {string|null}
   */ getParameterByName(name, url) {
        if (!url) // eslint-disable-next-line
        url = this.window.location.href;
        // eslint-disable-next-line
        name = name.replace(/[[\]]/g, '\\$&');
        const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
        let results = Array.from(RegExp.prototype[Symbol.matchAll].call(regex, url)).flat();
        // check for object like syntax where the last value can be an array eg. advancedFilters[query][statusIds][in][0] or advancedFilters[query][city]
        if (!results.length) {
            const objRegex = new RegExp(`[?&]${name}(\\[.*?\\])=(.*?)(?=&|#|$)`, 'g');
            results = Array.from(RegExp.prototype[Symbol.matchAll].call(objRegex, url)).flat();
            return this._parseParamToObject(results, name === 'advancedFilters');
        }
        // For multiple param values, eg arrays
        /* Results from regex match all come in this form:
    [ '&advancedFilters[query][statusIds][in]=uuid-segundo-123', '[query][statusIds][in]', 'uuid-segundo-123' ]
    So using every third value will be the actual value and the second value will be the path
    */ if (results.length > 3) return results.reduce((acc, value, index)=>{
            if ((index + 1) % 3 === 0) acc.push(decodeURIComponent(value.replace(/\+/g, ' ')));
            return acc;
        }, []);
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, ' '));
    }
    /**
   * Generates section specific key to store page number in the URL
   * @param {string} sectionDomId
   * @return {string}
   */ makePageKey(sectionDomId) {
        return sectionDomId.replace('section-', '').replace(/-/g, '');
    }
    /**
   * Generates specific key to store parameter in the URL
   * uses prevsiouly calculated baseKey for section specific parameters
   * @param {Object} formParam
   * @param {string} baseKey pre-calculated base for section specific parameters
   * @return {string}
   */ makeParamKey(formParam, baseKey) {
        return formParam.global ? formParam.urlKey : `${baseKey}-${formParam.urlKey}`;
    }
    /**
   * Gets a set of parameters from window query string
   * always returns value of "page" parameter if present
   * @param {Object[]} formConfig
   * @param {string} sectionDomId
   * @return {Object}
   */ deserializeParams(formConfig, sectionDomId) {
        const params = {};
        const urlPageKey = this.makePageKey(sectionDomId);
        const page = this.getParameterByName(urlPageKey);
        if (page) params.page = parseInt(page);
        if (Array.isArray(formConfig)) formConfig.forEach((formParam)=>{
            const key = this.makeParamKey(formParam, urlPageKey);
            let urlValue = this.getParameterByName(key);
            if (formParam.type === 'int') {
                urlValue = parseInt(urlValue);
                // eslint-disable-next-line
                if (!isFinite(urlValue)) urlValue = null;
            } else if (formParam.type === 'bool' || formParam.type === 'boolean') urlValue = // eslint-disable-next-line
            urlValue === 'true' ? true : urlValue === 'false' ? false : null;
            else if (formParam.type === 'json') try {
                urlValue = JSON.parse(urlValue);
            } catch (e) {
            // no need to do anything
            }
            params[formParam.formKey || formParam.param] = urlValue;
        });
        return params;
    }
    /**
   * Serializes set of parameters defined by formConfig into the URL
   * adding or replacing or removing required parameters
   * @param {Object[]} formConfig
   * @param {string} sectionDomId
   * @param {Object} params
   * @return {string}
   */ serializeParams(formConfig, sectionDomId, params) {
        let result = this.window.location.href;
        const urlPageKey = this.makePageKey(sectionDomId);
        result = this.updateQueryString(urlPageKey, params.page, result);
        if (Array.isArray(formConfig)) formConfig.forEach((formParam)=>{
            const key = this.makeParamKey(formParam, urlPageKey);
            let value = params[formParam.formKey || formParam.param];
            if (formParam.type === 'json' && value !== null && typeof value !== 'undefined') value = JSON.stringify(value);
            result = this.updateQueryString(key, value, result);
        });
        return result;
    }
    /**
   * Formats small number for slider values
   * @param {number} value
   * @param {string} currency
   * @return {string}
   */ formatSliderAtom(value, currency = '') {
        const formattedValue = Number.isInteger(value) ? value : value.toFixed(2);
        return currency + formattedValue;
    }
    /**
   * Formats a number for slider values
   * @param {number} value
   * @param {string} currency
   * @param {string} delimiter
   * @return {string}
   */ formatSliderValue(value, currency = '', delimiter = '') {
        if (value < 1000) return this.formatSliderAtom(value, currency);
        if (value < 1000000) return `${this.formatSliderAtom(value / 1000, currency)}${delimiter}K`;
        return `${this.formatSliderAtom(value / 1000000, currency)}${delimiter}M`;
    }
    /**
   * Format price slider range
   * @param {number} value
   * @param {Object} range
   * @param {string} currency
   * @param {Object} options
   * @return {string}
   */ formatSliderPriceRange(value, range, currency, options) {
        if (range.min === value && value !== 0) return `${options.lowPrefix}${this.formatSliderValue(value, currency, ' ')}`;
        if (range.max === value) return `${this.formatSliderValue(value, currency, ' ')}${options.highSuffix}`;
        return `${this.formatSliderValue(value, currency, ' ')}`;
    }
    /**
   * Format area slider range
   * @param {number} value
   * @param {Object} range
   * @param {string} suffix
   * @param {Object} options
   * @return {string}
   */ formatSliderAreaRange(value, range, suffix, options) {
        if (range.min === value && value !== 0) return `${options.lowPrefix}${this.formatSliderValue(value)} ${suffix}`;
        if (range.max === value) return `${this.formatSliderValue(value)}${options.highSuffix} ${suffix}`;
        return `${this.formatSliderValue(value)} ${suffix}`;
    }
    /**
   * Utility function to get properties search parameters from a set of jQuery objects
   * @param {Object} options
   * @param {jQuery|HTMLElement} [options.queryElement]
   * @param {jQuery|HTMLElement} [options.priceSliderElement]
   * @param {jQuery|HTMLElement} [options.areaSliderElement]
   * @param {jQuery|HTMLElement} [options.neighborhoodSelect]
   * @return {Object}
   */ // eslint-disable-next-line sonarjs/cognitive-complexity
    getSearchFormValues(options) {
        const { queryElement: queryElement, priceSliderElement: priceSliderElement, areaSliderElement: areaSliderElement, neighborhoodSelect: neighborhoodSelect } = options;
        const result = {};
        if (queryElement) result.search = queryElement.value || null;
        if (priceSliderElement) {
            const priceValues = priceSliderElement.value.split(';');
            const priceMinLimit = parseInt(priceSliderElement.dataset.min);
            const priceMaxLimit = parseInt(priceSliderElement.dataset.max);
            const priceMin = parseInt(priceValues[0]);
            const priceMax = parseInt(priceValues[1]);
            result.priceMin = priceMin !== priceMinLimit ? priceMin : null;
            result.priceMax = priceMax !== priceMaxLimit ? priceMax : null;
        }
        if (areaSliderElement) {
            const areaValues = areaSliderElement.value.split(';');
            const areaMinLimit = parseInt(areaSliderElement.dataset.min);
            const areaMaxLimit = parseInt(areaSliderElement.dataset.max);
            const areaMin = parseInt(areaValues[0]);
            const areaMax = parseInt(areaValues[1]);
            result.areaMin = areaMin !== areaMinLimit ? areaMin : null;
            result.areaMax = areaMax !== areaMaxLimit ? areaMax : null;
        }
        if (neighborhoodSelect) result.neighborhoodId = neighborhoodSelect.value || null;
        return result;
    }
    /**
   * Add supports for object typeof values to be encoded on URL
   * Ref: https://stackoverflow.com/questions/1714786/query-string-encoding-of-a-javascript-object
   * @param {*} obj
   * @param {string} prefix
   * @param {string} baseParam used for grouping in case of nested objects
   * @returns
   */ // eslint-disable-next-line sonarjs/cognitive-complexity
    serializeObj(obj, prefix = '', baseParam = '') {
        const result = [];
        for(const prop in obj)if (obj.hasOwnProperty(prop)) {
            const value = obj[prop];
            let k;
            if (baseParam) {
                const newPrefix = prefix ? `[${prefix}][${prop}]` : `[${prop}]`;
                k = `${baseParam}${newPrefix}`;
            } else k = prefix ? `${prefix}[${prop}]` : prop;
            if (value !== null && Array.isArray(value)) {
                if (value.length) result.push(this.serializeArray(k, value));
            } else if (value !== null && typeof value === 'object') result.push(this.serializeObj(value, k));
            else result.push(`${k}=${encodeURIComponent(value)}`);
        }
        return result.join('&');
    }
    /**
   * Adds support for array values to be encoded on URL
   * @param {string} key
   * @param {Array} value
   * @param {string} baseParam
   */ serializeArray(key, value, baseParam = '') {
        const result = [];
        value.forEach((val)=>{
            const paramName = baseParam ? `${baseParam}${key}` : key;
            result.push(`${paramName}=${encodeURIComponent(val)}`);
        });
        return result.join('&');
    }
    /**
   * Private method to process string search values.
   * @param {Array} results comes from regex matchAll.
   * @param {Boolean} isAdvancedFilters flag to determine if the search is for advanced filters.
   * @returns
   */ _parseParamToObject(results, isAdvancedFilters = false) {
        if (!results.length) return null;
        const obj = {};
        for(let i = 0; i < results.length; i++)/* Results from regex match all come in this form:
      [ '&advancedFilters[query][statusIds][in]=uuid-segundo-123', '[query][statusIds][in]', 'uuid-segundo-123' ]
      So using every third value will be the actual value and the second value will be the path
    */ if ((i + 1) % 3 === 0) {
            const value = decodeURIComponent(results[i].replace(/\+/g, ' '));
            const path = results[i - 1];
            Object.assign(obj, this._setObjectPath(path, value, obj, isAdvancedFilters));
        }
        return obj;
    }
    /** *
   * Private method to set object value given a path
   * @param {String} path
   * @param {*} value
   * @param {Object} baseObj
   * @param {Boolean} isAdvancedFilters flag to determine if the search is for advanced filters.
   */ _setObjectPath(path, value, baseObj, isAdvancedFilters = false) {
        // eslint-disable-next-line
        const keys = path.split(/[\[\]]/).filter(Boolean);
        const afArrayKeys = [
            'in',
            'nin',
            'btw',
            'ciin',
            'cinin'
        ];
        const obj = {};
        let ref = obj;
        const valueExists = (0, $fc0a058ae42af628$export$267a1435fe18b8d4)(baseObj, keys.join('.'));
        keys.forEach((key, index)=>{
            if (index === keys.length - 1) {
                if (valueExists) ref[key] = Array.isArray(valueExists) ? [
                    ...valueExists,
                    value
                ] : [
                    valueExists,
                    value
                ];
                else ref[key] = isAdvancedFilters && afArrayKeys.includes(key) ? [
                    value
                ] : value;
            } else {
                ref[key] = baseObj[key] ? baseObj[key] : {};
                ref = ref[key];
            }
        });
        return obj;
    }
}


/* eslint-disable import/prefer-default-export */ 
class $2b1790aa32f109d1$export$43e435c053a109f6 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Expand Slider Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this._createLightbox = this._createLightbox.bind(this);
        this.expandSliders = [];
    }
    /**
   * Initialize Expand Slider Controller at run time
   * Attach handlers and events to DOM
   * @param {Object} options
   */ initialize(options = {}) {
        try {
            const { document: document } = this;
            const expandSliders = document.querySelectorAll('.has-mobile-expand');
            expandSliders.forEach((block)=>{
                this._addExpandButton(block);
            });
            this.expandSliders = this.expandSliders.concat(expandSliders);
        } catch (e) {
            // eslint-disable-next-line no-console
            console.log(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        const { document: document } = this;
        document.querySelectorAll('.lp-expand-btn, .lp-expand-btn-wrapper').forEach((element)=>element.remove());
        this.expandSliders = [];
    }
    /**
   * Create expand button for sliders
   * @param {HTMLElement} slider
   */ _addExpandButton(slider) {
        const { document: document } = this;
        const section = slider.closest('section[id]');
        const appendTargetSelector = slider.dataset.append;
        let expandBtn = section.querySelector('.lp-expand-btn');
        if (!expandBtn) {
            expandBtn = document.createElement('button');
            expandBtn.className = 'lp-expand-btn';
            expandBtn.setAttribute('aria-label', 'Open a lightbox');
            expandBtn.innerHTML = `<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>`;
            if (appendTargetSelector) {
                const appendTarget = section.querySelector(appendTargetSelector);
                if (appendTarget) appendTarget.appendChild(expandBtn);
            } else {
                const wrapper = document.createElement('div');
                wrapper.className = 'lp-expand-btn-wrapper';
                wrapper.style.position = 'relative';
                wrapper.appendChild(expandBtn);
                slider.parentNode.insertBefore(wrapper, slider.nextSibling);
            }
        }
        expandBtn.addEventListener('click', ()=>{
            this._createLightbox({
                slider: slider,
                section: section
            });
        });
    }
    /**
   * Creates a lightbox modal for displaying slider images in a larger view.
   *
   * @param {Object} params - The parameters for the function.
   * @param {HTMLElement} params.slider - The slider element containing images.
   * @param {HTMLElement} params.section - The section element related to the slider.
   * @param {number} [params.initialIndex] - Optional index of the image to show initially.
   */ _createLightbox({ slider: slider, section: section, initialIndex: initialIndex }) {
        const { window: window, document: document } = this;
        const modalId = `lightbox-for-${section?.id}`;
        const isSlickAvailable = window.$ && window.$.fn.slick;
        const isSectionSlickInitialized = isSlickAvailable && slider.slick;
        const isSplideAvailable = typeof window.Splide === 'function';
        const isSectionSplideInitialized = slider.classList.contains('is-initialized') && slider.classList.contains('splide');
        if (typeof window.lpUI.requestScrollLock === 'function') window.lpUI.requestScrollLock(modalId);
        else document.body.style.overflow = 'hidden';
        function createSlickLightbox() {
            const slickOverlayOptions = {
                arrows: true,
                dots: false,
                infinite: true,
                draggable: true,
                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>'
            };
            const modal = document.createElement('div');
            modal.id = modalId;
            modal.className = 'lp-lightbox';
            modal.setAttribute('tabindex', '-1');
            modal.setAttribute('role', 'dialog');
            modal.setAttribute('aria-modal', 'true');
            modal.innerHTML = `
        <button class="lp-lightbox__close" aria-label="close modal"></button>
        <div class="lp-lightbox__content">
          <div class="lp-lightbox__carousel"></div>
        </div>
      `;
            document.body.appendChild(modal);
            const overlaySlider = modal.querySelector('.lp-lightbox__carousel');
            modal.classList.add('show');
            let sourceImages;
            if (isSectionSlickInitialized) {
                sourceImages = slider.slick.$slides.find('img');
                slickOverlayOptions.initialSlide = slider.slick?.currentSlide || 0;
                sourceImages.each(function() {
                    window.$('.lp-lightbox__carousel').append(window.$(this).clone(false).removeAttr('style').wrap('<div class="lp-lightbox__slide"></div>').parent());
                });
            } else {
                sourceImages = slider.querySelectorAll('img');
                sourceImages.forEach((img)=>{
                    const imgClone = img.cloneNode(true);
                    imgClone.removeAttribute('style');
                    const slide = document.createElement('div');
                    slide.className = 'lp-lightbox__slide';
                    slide.appendChild(imgClone);
                    overlaySlider.appendChild(slide);
                });
            }
            window.$(overlaySlider).slick(slickOverlayOptions);
            // Focus modal after it's created
            setTimeout(()=>{
                modal.focus();
            }, 100);
            // Keyboard navigation handler
            const handleKeydown = (e)=>{
                if (!modal.classList.contains('show')) return;
                const prevArrow = modal.querySelector('.lp-lightbox-arrow--prev');
                const nextArrow = modal.querySelector('.lp-lightbox-arrow--next');
                const closeBtn = modal.querySelector('.lp-lightbox__close');
                if (e.key === 'ArrowLeft' && prevArrow) {
                    e.preventDefault();
                    prevArrow.click();
                } else if (e.key === 'ArrowRight' && nextArrow) {
                    e.preventDefault();
                    nextArrow.click();
                } else if (e.key === 'Escape' && closeBtn) {
                    e.preventDefault();
                    closeBtn.click();
                }
            };
            document.addEventListener('keydown', handleKeydown);
            modal.querySelector('.lp-lightbox__close').addEventListener('click', ()=>{
                document.removeEventListener('keydown', handleKeydown);
                modal.classList.remove('show');
                const currentSlide = overlaySlider?.slick ? window.$(overlaySlider).slick('slickCurrentSlide') : 0;
                if (overlaySlider?.slick) window.$(overlaySlider).slick('unslick');
                if (isSectionSlickInitialized) window.$(slider).slick('slickGoTo', currentSlide);
                if (typeof window.lpUI.releaseScrollLock === 'function') window.lpUI.releaseScrollLock(modalId);
                else document.body.style.overflow = '';
                modal.remove();
            });
        }
        function createSplideLightbox() {
            const splideOptions = {
                rewind: true,
                arrows: true,
                arrowPath: '',
                type: 'loop',
                clones: 1,
                pagination: false,
                perPage: 1,
                perMove: 1
            };
            const modal = document.createElement('div');
            modal.id = modalId;
            modal.className = 'lp-lightbox';
            modal.setAttribute('tabindex', '-1');
            modal.setAttribute('role', 'dialog');
            modal.setAttribute('aria-modal', 'true');
            modal.innerHTML = `
      <button class="lp-lightbox__close" aria-label="close modal"></button>
      <div class="lp-lightbox__content">
        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
          <div class="splide__arrows">
            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
          </div>
          <div class="splide__track">
            <ul class="splide__list"></ul>
          </div>
        </div>
      </div>
    `;
            if (typeof window.lpUI.requestScrollLock === 'function') window.lpUI.requestScrollLock(modalId);
            else document.body.style.overflow = 'hidden';
            document.body.appendChild(modal);
            const overlaySlider = modal.querySelector('.lp-lightbox__carousel');
            const overlaySliderList = overlaySlider.querySelector('.splide__list');
            modal.classList.add('show');
            let sourceImages;
            if (isSectionSplideInitialized) sourceImages = slider.querySelectorAll('.splide__slide:not(.splide__slide--clone) img');
            else sourceImages = slider.querySelectorAll('img');
            sourceImages.forEach((img)=>{
                const imgClone = img.cloneNode(true);
                imgClone.removeAttribute('style');
                const slide = document.createElement('li');
                slide.className = 'lp-lightbox__slide splide__slide';
                slide.appendChild(imgClone);
                overlaySliderList.appendChild(slide);
            });
            const overlaySplide = new window.Splide(overlaySlider, splideOptions);
            overlaySplide.mount();
            // Navigate to initial index if provided
            if (typeof initialIndex !== 'undefined' && initialIndex >= 0) overlaySplide.go(initialIndex);
            // Focus modal after it's created and mounted
            setTimeout(()=>{
                modal.focus();
            }, 100);
            // Keyboard navigation handler
            const handleKeydown = (e)=>{
                if (!modal.classList.contains('show')) return;
                const prevArrow = modal.querySelector('.splide__arrow--prev');
                const nextArrow = modal.querySelector('.splide__arrow--next');
                const closeBtn = modal.querySelector('.lp-lightbox__close');
                if (e.key === 'ArrowLeft' && prevArrow) {
                    e.preventDefault();
                    prevArrow.click();
                } else if (e.key === 'ArrowRight' && nextArrow) {
                    e.preventDefault();
                    nextArrow.click();
                } else if (e.key === 'Escape' && closeBtn) {
                    e.preventDefault();
                    closeBtn.click();
                }
            };
            document.addEventListener('keydown', handleKeydown);
            modal.querySelector('.lp-lightbox__close').addEventListener('click', ()=>{
                document.removeEventListener('keydown', handleKeydown);
                modal.classList.remove('show');
                if (overlaySplide) overlaySplide.destroy();
                if (typeof window.lpUI.releaseScrollLock === 'function') window.lpUI.releaseScrollLock(modalId);
                else document.body.style.overflow = '';
                modal.remove();
            });
        }
        if (isSlickAvailable && !isSectionSplideInitialized) createSlickLightbox();
        else if (isSplideAvailable) createSplideLightbox();
        else {
            window.luxuryPresence.libs.loadCss(window.luxuryPresence.libs.jsLibsMap.splide.cssSrc);
            window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.splide.jsSrc, ()=>{
                createSplideLightbox();
                window.luxuryPresence.libs.jsLibsMap.splide.isLoaded = true;
            });
        }
    }
}


/* eslint-disable import/prefer-default-export */ 
class $4f184d9bd3037f15$export$7a6215890afba974 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    // constructor is not needed as it is inherited from BaseController
    /**
   * Destroy
   */ destroy() {
        if (!this.window.divolte) this.window.divolteLp = function() {
            (this.window.divolteLp.q = this.window.divolteLp.q || []).push(// eslint-disable-next-line prefer-rest-params
            arguments);
        };
    }
    /**
   * Initialize divolte controller
   * @param {Object} options
   */ initialize(options = {}) {
        const { divolteServiceUrl: divolteServiceUrl } = this.config;
        if (!divolteServiceUrl || this.window.divolte) return;
        this.loadScript();
    }
    /**
   * loads divolte
   */ loadScript() {
        const { divolteServiceUrl: divolteServiceUrl } = this.config;
        const script = this.document.createElement('script');
        script.id = 'divolte-script';
        script.type = 'text/javascript';
        script.defer = true;
        script.async = true;
        script.src = `${divolteServiceUrl}/divolte.js`;
        this.document.head.appendChild(script);
        script.addEventListener('load', this.executeQueue.bind(this));
    }
    /**
   * executeQueue
   */ executeQueue() {
        (this.window.divolteLp.q || []).forEach(([methodName, params])=>{
            this[methodName](params);
        });
        this.window.divolteLp = this.divolteLp.bind(this);
    }
    /**
   * divolteLp
   * @param {string} name
   * @param {Object} params
   */ divolteLp(name, params) {
        try {
            this[name](params);
        } catch (error) {
            // eslint-disable-next-line no-console
            console.log(error);
        }
    }
    /**
   * sendLpEvent
   * @param {string} name
   * @param {Object} params
   */ sendLpEvent(name, params) {
        // Events must be defined in divolte schema! To ensure correct usage, event names are validated here.
        if (!name.includes('pageView')) {
            // Event not defined
            // eslint-disable-next-line no-console
            console.log(`${name} IS NOT SUPPORTED`);
            return;
        }
        const { companyId: companyId, templateId: templateId, websiteId: websiteId, pageId: pageId, shareId: shareId, pageMeta: pageMeta } = this.config;
        const baseParams = {
            companyId: companyId,
            templateId: templateId,
            websiteId: websiteId,
            pageId: pageId,
            shareId: shareId,
            pageMeta: pageMeta
        };
        this.window.divolte.signal(name, Object.assign(baseParams, params));
    }
    /**
   * sendLpPageView
   */ sendLpPageView() {
        this.sendLpEvent('pageView', {});
    }
}


/* eslint-disable import/prefer-default-export */ 
const $102039871668a1df$var$EVENT_BUS_SCRIPT = 'event-bus-js.js';
const $102039871668a1df$var$EVENT_BUS_VERSION = 'v2.1.0';
class $102039871668a1df$export$e22e4b1be0bb6c61 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    // eslint-disable-next-line @typescript-eslint/no-useless-constructor
    constructor(config, window, document){
        super(config, window, document);
    }
    /**
   * Initialize EventBus controller
   * @param {Object} options
   */ initialize(options = {}) {
        const enabled = options.enabled !== undefined ? options.enabled : this.config.eventBus?.enabled;
        if (enabled && this.config.eventBus?.apiKey && this.config.eventBus?.url) this.loadScript();
    }
    /**
   * loads eventBus script
   */ loadScript() {
        const { eventBusUrl: eventBusUrl } = this.config;
        const script = this.document.createElement('script');
        script.id = 'posthog-script';
        script.type = 'text/javascript';
        script.defer = true;
        script.async = true;
        script.src = `${eventBusUrl}/${$102039871668a1df$var$EVENT_BUS_VERSION}/${$102039871668a1df$var$EVENT_BUS_SCRIPT}`;
        this.document.head.appendChild(script);
        script.addEventListener('load', this.executeQueue.bind(this));
    }
    /**
   * executeQueue - Process queued eventBusLp calls
   */ executeQueue() {
        // Initialize the event bus provider using the global EventBusJS
        if (this.window.LuxuryPresenceEventBus) this.window.eventBusProvider = this.window.LuxuryPresenceEventBus.createEventBusProvider({
            apiKey: this.config.eventBus.apiKey,
            host: this.config.eventBus.url
        });
        (this.window.eventBusLp.q || []).forEach(([methodName, params])=>{
            this[methodName](params);
        });
        // Replace queue function with real function
        this.window.eventBusLp = this.eventBusLp.bind(this);
    }
    /**
   * Destroy
   */ destroy() {
        if (!this.window.eventBusProvider) {
            // Reset to queue function if no provider exists
            this.window.eventBusLp = function() {
                (this.window.eventBusLp.q = this.window.eventBusLp.q || []).push(// eslint-disable-next-line prefer-rest-params
                arguments);
            };
            return;
        }
        this.window.eventBusProvider.shutdown();
    }
    /**
   * sendLpEvent
   * @param {string} eventType
   * @param {Object} data
   */ sendLpEvent(eventType, data) {
        // Events must be defined in event-bus schema! To ensure correct usage, event types are validated here.
        if (eventType !== 'user.activity.page.viewed') {
            // Event type not defined
            // eslint-disable-next-line no-console
            console.log(`${eventType} IS NOT SUPPORTED`);
            return;
        }
        if (!this.window.eventBusProvider) return;
        const { companyId: companyId } = this.config;
        const eventData = {
            company: companyId,
            data: {}
        };
        try {
            this.window.eventBusProvider.capture(eventType, eventData);
        } catch (error) {
            // eslint-disable-next-line no-console
            console.log('EventBus capture error:', error);
        }
    }
    /**
   * eventBusLp
   * @param {string} name
   * @param {Object} params
   */ eventBusLp(name, params) {
        try {
            this[name](params);
        } catch (error) {
            // eslint-disable-next-line no-console
            console.log(error);
        }
    }
    /**
   * sendLpPageView
   */ sendLpPageView() {
        this.sendLpEvent('user.activity.page.viewed', {});
    }
}


/* eslint-disable import/prefer-default-export */ 
const $0d25a3fa2e0f4f92$var$EVENT_NAME = 'oauthSuccess';
class $0d25a3fa2e0f4f92$export$b718a981691eae5c extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Button Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.successListeners = [];
        this._listenToMessages = this._listenToMessages.bind(this);
        this._listenToOneTapMessage = this._listenToOneTapMessage.bind(this);
    }
    /**
   * Initialize OAuth Controller at run time
   * Swap out special buttons for the iframe
   * @param {Object} options
   */ initialize(options = {}) {
        try {
            // handle google one tap
            if (options.googleSignOnEnabled && !options.iframe) this._renderGoogleOneTap();
            // handle google sign in buttons
            this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach((el)=>this._convertGoogleSignIn(el));
            // handle facebook sign in buttons
            this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach((el)=>this._convertFacebookSignIn(el));
        } catch (e) {
            // eslint-disable-next-line no-console
            console.log(e);
        }
    }
    /**
   * Controllers must implement a "destroy" method to be called
   * after page navigation to remove event handlers / cleanup
   */ destroy() {
        this.successListeners.forEach((callback)=>{
            this.window.removeEventListener('message', this._listenToMessages);
            this.window.removeEventListener('message', this._listenToOneTapMessage);
            this.window.removeEventListener($0d25a3fa2e0f4f92$var$EVENT_NAME, this.window[callback]);
        });
    }
    /**
   * Convert google one tap
   */ _renderGoogleOneTap() {
        if (!this._isGoogleOneTapOnCooldown()) {
            const dummyEl = this.document.createElement('div');
            // eslint-disable-next-line no-undef
            google.accounts.id.initializeIntermediate({
                src: this._buildUrlAndCopyAttributes(dummyEl, dummyEl, 'googleOneTap')
            });
            this.window.localStorage.removeItem('googleOneTapExpiration');
            this.window.addEventListener('message', this._listenToOneTapMessage);
        }
    }
    /**
   * Listening for messages from BSS one tap iframes
   * @param {MessageEvent} e
   */ _listenToOneTapMessage(e) {
        const messageTypes = {
            SHOW_INTERMEDIATE_IFRAME: 'show_intermediate_iframe',
            HIDE_INTERMEDIATE_IFRAME: 'hide_intermediate_iframe'
        };
        const iframeId = 'onetap_google_intermediate_iframe';
        const { buyerSellerServiceUrl: buyerSellerServiceUrl } = this.config;
        const { data: data, origin: origin } = e;
        const { type: type, height: height, event: event, source: source, token: token } = data;
        if (type === messageTypes.SHOW_INTERMEDIATE_IFRAME || type === messageTypes.HIDE_INTERMEDIATE_IFRAME) {
            const bssIframe = this.document.getElementById(iframeId);
            if (bssIframe) {
                bssIframe.style.height = height;
                bssIframe.style.display = type === messageTypes.SHOW_INTERMEDIATE_IFRAME ? 'unset' : 'none';
            }
        }
        // these events are generated by our code in the bss iframe
        if (origin === buyerSellerServiceUrl && source === 'GOOGLE_SIGN_ON') {
            if (event === 'success') {
                this._setExpirationLsItem(86400000); // 24 hours
                this._handleQualifyingQuestionsModal(token);
            } else if (event === 'cancel') this._setExpirationLsItem(7200000); // 2 hours
        }
    }
    /**
   * Set expiration local storage item for google one tap
   * @param {number} ms
   */ _setExpirationLsItem(ms) {
        const expiration = new Date().getTime() + ms;
        this.window.localStorage.setItem('googleOneTapExpiration', expiration);
    }
    /**
   * Check if google one tap is expired
   * @return {boolean}
   */ _isGoogleOneTapOnCooldown() {
        const expirationTime = this.window.localStorage.getItem('googleOneTapExpiration');
        return Number(expirationTime) > new Date().getTime();
    }
    /**
   * Convert google sign in buttons
   * @param {HTMLElement} el
   */ _convertGoogleSignIn(el) {
        this._replaceWithIframe('googleSignIn', el);
    }
    /**
   * Convert google sign in buttons
   * @param {HTMLElement} el
   */ _convertFacebookSignIn(el) {
        this._replaceWithIframe('facebookSignIn', el);
    }
    /**
   * Convert google sign in buttons
   * @param {'googleSignIn' | 'facebookSignIn'} provider
   * @param {HTMLElement} el
   */ _replaceWithIframe(provider, el) {
        this._attachSuccessCallback(el);
        const iframe = this.document.createElement('iframe');
        iframe.src = this._buildUrlAndCopyAttributes(el, iframe, provider);
        iframe.dataset.isSocialOauthButton = true;
        el.replaceWith(iframe);
    }
    /**
   * Listening for messages from BSS iframes
   * @param {Event} e
   */ _listenToMessages(e) {
        const { buyerSellerServiceUrl: buyerSellerServiceUrl } = this.config;
        // eslint-disable-next-line sonarjs/no-collapsible-if
        if (e.origin === buyerSellerServiceUrl) {
            if (e.data.event === 'success') {
                const event = new Event($0d25a3fa2e0f4f92$var$EVENT_NAME);
                this.window.dispatchEvent(event);
                this.successListeners.forEach((callback)=>{
                    if (this.window[callback]) this.window[callback](event);
                    else // eslint-disable-next-line no-console
                    console.error(`Callback function ${callback} not found on window object`);
                });
                this.document.documentElement.classList.add('is-login-success');
            }
        }
    }
    /**
   * Attach callback to iframe
   * @param {HTMLElement} el
   */ _attachSuccessCallback(el) {
        this.window.addEventListener('message', this._listenToMessages);
        const callbackFunction = el.dataset.onSuccessFunctionName;
        if (callbackFunction) this.successListeners.push(callbackFunction);
    }
    /**
   * Build Iframe URL
   * @param {HTMLElement} source
   * @param {HTMLElement} target
   * @param {string} provider
   * @return {string}
   */ _buildUrlAndCopyAttributes(source, target, provider) {
        const { buyerSellerServiceUrl: buyerSellerServiceUrl, companyId: companyId, websiteId: websiteId, pageId: pageId, pageMeta: pageMeta } = this.config;
        const { location: location } = this.window;
        const sourceUrl = location.origin + location.pathname;
        const destination = new URL(`${buyerSellerServiceUrl}/buttons/${provider}`);
        const utm = this.window.localStorage.getItem('utm_vars');
        const referrer = this.window.localStorage.getItem('referrer');
        destination.searchParams.append('companyId', companyId);
        destination.searchParams.append('websiteId', websiteId);
        destination.searchParams.append('pageId', pageId);
        destination.searchParams.append('sourceUrl', sourceUrl);
        destination.searchParams.append('pageMeta', JSON.stringify(pageMeta));
        if (utm) destination.searchParams.append('utm', utm);
        if (referrer) destination.searchParams.append('referrer', referrer);
        // Google and Facebook Attributes used to style the social button
        const RESERVED_ATTRIBUTES = [
            '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'
        ];
        Array.from(source.attributes).forEach((attribute)=>{
            if (RESERVED_ATTRIBUTES.includes(attribute.nodeName)) destination.searchParams.append(attribute.nodeName, attribute.nodeValue);
            else target.setAttribute(attribute.nodeName === 'id' ? 'data-id' : attribute.nodeName, attribute.nodeValue);
        });
        return destination.toString();
    }
    /**
   * Decode a JWT token to extract payload information
   * @param {string} token - The JWT token to decode
   * @return {Object|null} The decoded payload object or null if decoding fails
   */ _decodeToken(token) {
        try {
            const parts = token.split('.');
            const payload = parts[1];
            const base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
            const padding = 4 - base64.length % 4;
            const padded = padding === 4 ? base64 : base64 + '='.repeat(padding);
            return JSON.parse(atob(padded));
        } catch (error) {
            return null;
        }
    }
    /**
   * Handle qualifying questions modal showing for Google Sign On
   * Decodes the JWT token to extract user email and shows the modal if available
   * @param {string} token - The JWT token containing user information
   */ _handleQualifyingQuestionsModal(token) {
        if (token && this.window.luxuryPresence && this.window.luxuryPresence.qualifyingQuestionsModal) {
            // Decoding only for lead attribution, fine to skip signature verification
            const decoded = this._decodeToken(token);
            if (decoded && decoded.email) this.window.luxuryPresence.qualifyingQuestionsModal.showModal(decoded.email, 'Google Sign On');
        }
    }
}


/* eslint-disable import/prefer-default-export */ 
class $dcf72769f009ff26$export$b900d6fe921fd49c extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    /**
   * Initialize Qualifying Questions Modal Controller at build time
   * @param { ConfigController } config
   * @param {Window} window
   * @param {Document} document
   */ constructor(config, window, document){
        super(config, window, document);
        this.showModal = this.showModal.bind(this);
        this.hasModalBeenSubmitted = this.hasModalBeenSubmitted.bind(this);
        this.modalId = 'qualifying-questions-modal';
        this.cookieKey = 'qualifyingQuestionsModalSubmitted';
        this.qualifyingQuestionsModalEnabled = true;
        // Store references for cleanup
        this.eventListeners = [];
        this.timeouts = [];
    }
    initialize(options = {}) {
        this.qualifyingQuestionsModalEnabled = options.qualifyingQuestionsModalEnabled ?? this.qualifyingQuestionsModalEnabled;
        if (!this.qualifyingQuestionsModalEnabled) return;
        this.attachModalCloseListeners();
    }
    destroy() {
        // Remove all stored event listeners
        this.eventListeners.forEach(({ element: element, event: event, handler: handler })=>{
            if (element && element.removeEventListener) element.removeEventListener(event, handler);
        });
        this.timeouts.forEach((timeoutId)=>{
            clearTimeout(timeoutId);
        });
        this.restoreBodyScroll();
        this.eventListeners = [];
        this.timeouts = [];
    }
    /**
   * Check if modal has been submitted using cookie-based deduplication
   * @return {boolean}
   */ hasModalBeenSubmitted() {
        const cookieValue = this.getCookie(this.cookieKey);
        return cookieValue === 'true';
    }
    /**
   * Set cookie to prevent modal from showing again
   */ setModalSubmittedCookie() {
        this.setCookie(this.cookieKey, 'true', 365); // 1 year
    }
    showModal(email, triggerSource) {
        if (!this.qualifyingQuestionsModalEnabled || this.hasModalBeenSubmitted()) return;
        this.updateEmailValue(email);
        this.updateTriggerSourceValue(triggerSource);
        this.showModalElement();
    }
    /**
   * Get modal element with error handling
   * @return {Element|null}
   */ getModalElement() {
        const modal = this.document.getElementById(this.modalId);
        if (!modal) console.error('Modal element not found:', this.modalId);
        return modal;
    }
    updateEmailValue(email) {
        const modal = this.getModalElement();
        if (!modal) return;
        const emailInput = modal.querySelector('input[name="email"]');
        if (emailInput && typeof email === 'string') emailInput.value = email;
    }
    updateTriggerSourceValue(triggerSource) {
        const modal = this.getModalElement();
        if (!modal) return;
        const triggerSourceInput = modal.querySelector(`#${this.modalId}-triggerSource`);
        if (triggerSourceInput && typeof triggerSource === 'string') triggerSourceInput.value = triggerSource;
    }
    showModalElement() {
        const modal = this.getModalElement();
        if (!modal) return;
        modal.style.display = 'flex';
        this.blockBodyScroll();
    }
    /**
   * Helper method to get cookie value
   * @param {string} name
   * @return {string|null}
   */ getCookie(name) {
        const value = `; ${this.document.cookie}`;
        const parts = value.split(`; ${name}=`);
        if (parts.length === 2) return decodeURIComponent(parts.pop().split(';').shift());
        return null;
    }
    /**
   * Helper method to set cookie
   * @param {string} name
   * @param {string} value
   * @param {number} days
   */ setCookie(name, value, days) {
        let expires = '';
        if (days) {
            const date = new Date();
            date.setTime(date.getTime() + days * 86400000);
            expires = `; expires=${date.toUTCString()}`;
        }
        let attrs = '; path=/; SameSite=Lax';
        if (this.window && this.window.location && this.window.location.protocol === 'https:') attrs += '; Secure';
        this.document.cookie = `${name}=${encodeURIComponent(value || '')}${expires}${attrs}`;
    }
    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() {
        const modal = this.getModalElement();
        if (!modal) return;
        // Listen for form submission success (when modal closes automatically)
        const form = this.document.getElementById(`${this.modalId}-form`);
        if (form) {
            const formSubmittedHandler = ()=>{
                // Set cookie to prevent showing again and hide modal
                this.setModalSubmittedCookie();
                const timeoutId = setTimeout(()=>{
                    modal.style.display = 'none';
                    this.restoreBodyScroll();
                }, 100);
                this.timeouts.push(timeoutId);
            };
            form.addEventListener('formsubmitted', formSubmittedHandler);
            this.eventListeners.push({
                element: form,
                event: 'formsubmitted',
                handler: formSubmittedHandler
            });
        }
        // Listen for close button clicks
        const closeButton = modal.querySelector('[data-dismiss="modal"]');
        if (closeButton) {
            const closeButtonHandler = ()=>{
                modal.style.display = 'none';
                this.restoreBodyScroll();
            };
            closeButton.addEventListener('click', closeButtonHandler);
            this.eventListeners.push({
                element: closeButton,
                event: 'click',
                handler: closeButtonHandler
            });
        }
        // Listen for backdrop clicks
        const backdropClickHandler = (e)=>{
            // Check if click is on the modal backdrop (not on the modal content)
            if (e.target === modal || e.target.id === this.modalId) {
                modal.style.display = 'none';
                this.restoreBodyScroll();
            }
        };
        modal.addEventListener('click', backdropClickHandler);
        this.eventListeners.push({
            element: modal,
            event: 'click',
            handler: backdropClickHandler
        });
    }
}


/* eslint-disable import/prefer-default-export */ 
class $50eefeef8d1f2372$export$8a2bf06fbae4dde extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    constructor(configController, window, document){
        super(configController, window, document);
        this.isValidating = false;
        this.lastValidationResult = null;
        this.lastValidationTime = null;
        this.validationCacheDuration = 300000; // 5 minutes
    }
    /**
   * Destroy
   */ destroy() {
        this.isValidating = false;
        this.lastValidationResult = null;
        this.lastValidationTime = null;
    }
    /**
   * Validate user session using GraphQL validSession query
   * @param {Object} options - Options for session validation
   * @param {boolean} options.useCache - Whether to use cached validation result
   * @returns {Promise<boolean>} - true if session is valid, false otherwise
   */ async validateSession(options = {}) {
        const { useCache: useCache = true } = options;
        if (useCache && this.lastValidationResult !== null && this.lastValidationTime) {
            const timeSinceLastValidation = Date.now() - this.lastValidationTime;
            if (timeSinceLastValidation < this.validationCacheDuration) return this.lastValidationResult;
        }
        if (this.isValidating) return this.lastValidationResult !== null ? this.lastValidationResult : false;
        this.isValidating = true;
        const query = `
      query {
        validSession {
          success
        }
      }
    `;
        try {
            // query from same domain as the website
            const response = await this.window.fetch(`/graphql`, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                credentials: 'include',
                body: JSON.stringify({
                    query: query
                })
            });
            if (!response.ok) {
                // eslint-disable-next-line no-console
                console.error('SessionController: HTTP error during session validation', response.status);
                this.lastValidationResult = false;
                this.lastValidationTime = Date.now();
                return false;
            }
            const data = await response.json();
            if (data.errors) {
                this.lastValidationResult = false;
                this.lastValidationTime = Date.now();
                return false;
            }
            const isValid = data.data?.validSession?.success === true;
            this.lastValidationResult = isValid;
            this.lastValidationTime = Date.now();
            return isValid;
        } catch (error) {
            // eslint-disable-next-line no-console
            console.error('SessionController: Error validating session', error);
            this.lastValidationResult = false;
            this.lastValidationTime = Date.now();
            return false;
        } finally{
            this.isValidating = false;
        }
    }
    /**
   * Clear validation cache
   */ clearCache() {
        this.lastValidationResult = null;
        this.lastValidationTime = null;
    }
}


/* eslint-disable import/prefer-default-export */ 
class $6bb500f67d8e6b7b$export$19036f3e654d7262 extends (0, $7c391e2f7931d60d$export$3b5bd9381a52554c) {
    constructor(config, window, document){
        super(config, window, document);
        this.consentListener = null;
    }
    /**
   * Destroy and cleanup event listeners
   */ destroy() {
        if (this.consentListener) {
            this.document.removeEventListener('cookieyes_consent_update', this.consentListener);
            this.consentListener = null;
        }
    }
    /**
   * Check if cookieyes-consent cookie includes analytics consent
   * @returns {boolean} True if analytics is consented to
   */ hasAnalyticsConsent() {
        const cookieString = this.document.cookie;
        const match = cookieString.match(/cookieyes-consent=([^;]+)/);
        if (!match) return false;
        try {
            const cookieValue = decodeURIComponent(match[1]);
            if (cookieValue.includes(',')) {
                const segments = cookieValue.split(',').map((c)=>c.trim());
                // Handle CookieYes key:value format (e.g., "analytics:yes")
                if (segments.some((s)=>s.includes(':'))) return segments.some((s)=>s === 'analytics:yes');
                return segments.includes('analytics');
            }
            return cookieValue.includes('analytics');
        } catch (error) {
            return false;
        }
    }
    /**
   * Load PostHog and Divolte scripts
   */ loadScript() {
        const shouldAddPostHogScript = !this.document.getElementById('posthog-script');
        const shouldAddDivolteScript = !this.document.getElementById('divolte-script');
        if (shouldAddPostHogScript) this.window.luxuryPresence.eventBus.initialize({
            enabled: this.config.eventBus?.enabled
        });
        if (shouldAddDivolteScript) this.window.luxuryPresence.divolte.initialize({});
    }
    /**
   * Remove PostHog and Divolte scripts
   */ removeScripts() {
        this.window.luxuryPresence?.eventBus?.destroy?.();
        this.window.luxuryPresence?.divolte?.destroy?.();
        this.document.getElementById('posthog-script')?.remove();
        this.document.getElementById('divolte-script')?.remove();
    }
    /**
   * Initialize CookieYes controller
   */ async initialize() {
        const isAuthenticated = await this.window.luxuryPresence.session.validateSession();
        if (this.hasAnalyticsConsent() || isAuthenticated) this.loadScript();
        if (!this.consentListener) {
            this.consentListener = (eventData)=>{
                const data = eventData.detail;
                if (data?.accepted && Array.isArray(data.accepted) && data.accepted.includes('analytics')) this.loadScript();
                else this.removeScripts();
            };
            this.document.addEventListener('cookieyes_consent_update', this.consentListener);
        }
    }
}


const $fa0280e505379701$export$1fd2b467a3644d37 = new (0, $dc851cf3939b6ef5$export$ff0712c26d5458f7)({});
const $fa0280e505379701$export$e12694e911a05f40 = new (0, $0ead03fdb95fa9ce$export$d507f25e63650365)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$3de614e59a842917 = new (0, $d48f9f944810f613$export$ca3218b7861b9cb0)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$fb9b298fdbf31455 = new (0, $68a2d4aa500c7a05$export$61ec8f2b6291ec31)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$178cc3119b453c2a = new (0, $e10bd00497be8876$export$3c5380623cf51249)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$9376af1a01686f2 = new (0, $ea6901fdf47e0ec1$export$3c19195edca3fa5c)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$94d36f806562393e = new (0, $0a0ad49f13c0b8fd$export$ba9afeb75f20f616)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$89e66d1faf94651e = new (0, $2b1790aa32f109d1$export$43e435c053a109f6)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$7743b07270cd6d6c = new (0, $4f184d9bd3037f15$export$7a6215890afba974)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$40a7039551318c37 = new (0, $102039871668a1df$export$e22e4b1be0bb6c61)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$8a0bbf7e7652fcfc = new (0, $0d25a3fa2e0f4f92$export$b718a981691eae5c)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$b313b3f6544c97a3 = new (0, $dcf72769f009ff26$export$b900d6fe921fd49c)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$b526bc4ac03268ef = new (0, $50eefeef8d1f2372$export$8a2bf06fbae4dde)($fa0280e505379701$export$1fd2b467a3644d37, window, document);
const $fa0280e505379701$export$ec41309a2e823376 = new (0, $6bb500f67d8e6b7b$export$19036f3e654d7262)($fa0280e505379701$export$1fd2b467a3644d37, window, document);


/**
 * Attach controller to window for usage
 * @param {string} key
 * @param {any} controller
 */ function $89a8a84b77163415$var$attachController(key, controller) {
    if (window.luxuryPresence[key]) try {
        // New version of sdk, destroy previous
        window.luxuryPresence[key].destroy();
    } catch (e) {
        // eslint-disable-next-line no-console
        console.log(e);
    }
    window.luxuryPresence[key] = controller;
}
$89a8a84b77163415$var$attachController('config', (0, $fa0280e505379701$export$1fd2b467a3644d37));
$89a8a84b77163415$var$attachController('modals', (0, $fa0280e505379701$export$e12694e911a05f40));
$89a8a84b77163415$var$attachController('buttons', (0, $fa0280e505379701$export$3de614e59a842917));
$89a8a84b77163415$var$attachController('validation', (0, $fa0280e505379701$export$fb9b298fdbf31455));
$89a8a84b77163415$var$attachController('contactForms', (0, $fa0280e505379701$export$178cc3119b453c2a));
$89a8a84b77163415$var$attachController('mapApiLoader', (0, $fa0280e505379701$export$9376af1a01686f2));
$89a8a84b77163415$var$attachController('pagination', (0, $fa0280e505379701$export$94d36f806562393e));
$89a8a84b77163415$var$attachController('expandSliders', (0, $fa0280e505379701$export$89e66d1faf94651e));
$89a8a84b77163415$var$attachController('divolte', (0, $fa0280e505379701$export$7743b07270cd6d6c));
$89a8a84b77163415$var$attachController('eventBus', (0, $fa0280e505379701$export$40a7039551318c37));
$89a8a84b77163415$var$attachController('oauth', (0, $fa0280e505379701$export$8a0bbf7e7652fcfc));
$89a8a84b77163415$var$attachController('qualifyingQuestionsModal', (0, $fa0280e505379701$export$b313b3f6544c97a3));
$89a8a84b77163415$var$attachController('session', (0, $fa0280e505379701$export$b526bc4ac03268ef));
$89a8a84b77163415$var$attachController('cookieyes', (0, $fa0280e505379701$export$ec41309a2e823376));
// methods for existing elements (can be removed later after elements updated)
window.luxuryPresence.formatSliderPriceRange = (0, $fa0280e505379701$export$94d36f806562393e).formatSliderPriceRange.bind((0, $fa0280e505379701$export$94d36f806562393e));
window.luxuryPresence.formatSliderAreaRange = (0, $fa0280e505379701$export$94d36f806562393e).formatSliderAreaRange.bind((0, $fa0280e505379701$export$94d36f806562393e));
// method below doesn't use 'this', but just to be safe in case of further method updates
window.luxuryPresence.getSearchFormValues = (0, $fa0280e505379701$export$94d36f806562393e).getSearchFormValues.bind((0, $fa0280e505379701$export$94d36f806562393e));
window.luxuryPresence.handlebarsHelpersFactory = function(handlebarsInstance) {
    return (0, (/*@__PURE__*/$parcel$interopDefault($53de3c160faf5a81$exports)))(handlebarsInstance, {
        isEqual (a, b) {
            // eslint-disable-next-line
            return a == b;
        }
    });
};



})();
//# sourceMappingURL=lp-sdk.js.map

    </script>

    <script>
        var lpGlobalInitialized = false;

        function lpGlobalInit () {
          if (lpGlobalInitialized) {
            return;
          }
            lpGlobalInitialized = true;
            // Initialize wow animation plugin only according to turbolinks
            var wow;
            if (window.WOW) {
                wow = new WOW({
                    animateClass: 'animated',
                    offset: wowOffset,
                    live: false,
                    callback: function(box) {}
                });
            }
            // Initialize handlebar helpers only once
            function handlebarsInit() {
              if (!window.Handlebars) {
                return;
              }
              HandlebarsIntl.registerWith(Handlebars);
              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
            }

            handlebarsInit();

              var modalContentUrl = "/modals.html";
                const modalsContainer = document.getElementById('modals');
                if (modalsContainer) {
                  fetch(modalContentUrl).then(function(res) {
                    if (!res.ok) {
                      throw new Error(`HTTP error! Status: ${res.status}`);
                    }
                    return res.text();
                  }).then(function(resultText) {
                    modalsContainer.innerHTML = resultText;

                    // now we need to execute all script elements
                    Array.from(modalsContainer.getElementsByTagName('script')).forEach(function (s) {
                      const script  = document.createElement("script");
                      script.text = s.innerHTML;
                      Array.from(s.attributes).forEach(function (a) {
                        script.setAttribute(a.name, a.value);
                      })
                      s.parentNode.replaceChild(script, s);
                    });

                    try {
                      window.luxuryPresence.modals.initialize(window.luxuryPresence._modalIncludes);
                      window.luxuryPresence.contactForms.initialize({ selector: '#modals' });
                      window.luxuryPresence.validation.initialize({ selector: '#modals' });
                      window.luxuryPresence.oauth.initialize({
                        googleSignOnEnabled: true,
                        iframe: false });
                    } catch (e) {
                      console.log(e);
                    }
                    document.querySelectorAll('.modals > .modal .close').forEach(closeModalBtn => {
                      closeModalBtn.addEventListener('click', function() {
                        window.lpUI.hideClosestModal(closeModalBtn);
                      });
                    });
                  }).catch((e) => console.log(e));
                }
            /* Initialize Luxury Presence SDK */
            try {
                window.luxuryPresence.config.setCompany("9432ede2-5ddc-46a1-b803-68b15f1e0f98", {});
                window.luxuryPresence.config.setWebsite("bd2dd220-5d23-4627-9416-6aa05ac3c908", {
                    myhomeDashboardEnabled: true
                });
                const url = new URL(window.location.href);
                const shareId = url.searchParams.get('shareId');
                window.luxuryPresence.config.setPage("55c00837-fcc1-4cb5-8490-eca21367aae7", {
                    sourceResource: "",
                    pageElementId: "",
                    pageQueryVariables: {},
                    shareId: "",
                });
                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
                  window.luxuryPresence.config.setEventBus({
                    enabled: true,
                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
                    url: "https://p.luxurypresence.com",
                  });
                window.luxuryPresence.config.setTemplateId("34ae9410-e2da-4ccb-947e-bdaa3b48f731", {});
                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
                window.luxuryPresence.buttons.initialize({});
                window.luxuryPresence.eventBus.initialize({});
                window.luxuryPresence.contactForms.initialize({});
                window.luxuryPresence.validation.initialize({});
                window.luxuryPresence.expandSliders.initialize({});
                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
                    window.luxuryPresence.divolte.initialize({});
            } catch (e) {
                console.log(e);
            }

            /* Inject Section Specific Javascript */
                try {
(function init(sectionDomId) {
  let address = $('#' + sectionDomId + " .company_address").text().trim();
  $('#' + sectionDomId + " .company_address").text(address);
  function setHttp(link) {
    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
      link = 'http://' + link;
    }
    return link;
  }
  $(`#${sectionDomId} .contact-form__form`).on('reset', () => {
    const redirectLink = $('#' + sectionDomId + ' .redirect-link');
    if (redirectLink.length) {
      const rawHref = redirectLink.attr('href');
      redirectLink.attr('href', setHttp(rawHref));
      redirectLink[0].click();
    }
  });
})('modal-global-contact-us');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  var resizeMenu = function () {
    var widthSoFar = 0;
    var availableWidth = $('#' + sectionDomId + ' .navigation').width();
    if ($(window).width() > 1024) {
      $('#' + sectionDomId + ' .navigation > li').each(function () {
        $(this).hide();
        const currentItemWidth = $(this).outerWidth();
        if (availableWidth - widthSoFar >= currentItemWidth) $(this).css({
          "visibility": "visible",
          "display": "list-item",
          "height": "auto"
        });
        widthSoFar += $(this).outerWidth();
      });
    }
  };
  $(window).on('resize.lpui-auto-clean', resizeMenu);
  const mediaQuery = window.matchMedia('(hover: hover) and (pointer: fine)');
  var $subNavTrigger = $('body > nav .sub-nav-container a');
  var $subNavContainer = $('body > nav .sub-nav-container');
  if (mediaQuery.matches) {
    $subNavTrigger.off('click');
    $subNavContainer.mouseout(function () {
      var self = $(this);
      self.removeClass('active').find('.sub-nav').removeClass('visible');
    }).mouseover(function () {
      $(this).siblings('.sub-nav-container').removeClass('active').find('.sub-nav').removeClass('visible');
      $(this).addClass('active').find('.sub-nav').addClass('visible');
    }).mouseup(function () {
      var self = $(this);
      self.toggleClass('active');
    });
  }
  function isSectionLight(sect) {
    if (!sect || !sect.style) {
      return true;
    }
    if (sect.style.backgroundImage) {
      return false;
    }
    if ($(sect).children('.video-wrapper').length) {
      return false;
    }
    return sect.classList.contains('is-background-color-light');
  }
  const $header = $(`#${sectionDomId} > .header`);
  if ($header.hasClass('theme-auto')) {
    if (isSectionLight($('body > section')[0])) {
      $header.removeClass('theme-light');
    } else {
      $header.addClass('theme-light');
    }
  }
  var resizeTimeout;
  clearTimeout(resizeTimeout);
  resizeTimeout = setTimeout(function () {
    resizeMenu();
  }, 1000);
})('global-navbar');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId, options) {
  var elementSelector = options.elementSelector || 'nav';
  var element = document.querySelector(elementSelector);
  var sections = document.querySelectorAll('body > section');
  var subNavContainers = element.querySelectorAll('.sub-nav');
  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
  var fontColor = options.fontColor || '#fff';
  var fontColorScroll = options.fontColorScroll || '#000';
  var didScroll = false;
  var lastScrollTop = 0;
  var delta = 5;

  // eslint-disable-next-line sonarjs/no-collapsible-if
  if (wow) {
    // Wowjs might not trigger for position fixed elements
    if (window.scrollY > 0) {
      element.querySelectorAll('.wow').forEach(el => wow.show(el));
    }
  }
  function adjustNavPinState() {
    // Remove 'visible' class from all subNavContainers
    for (let i = 0; i < subNavContainers.length; i++) {
      subNavContainers[i].classList.remove('visible');
    }
    if (window.scrollY > 0) {
      element.style.backgroundColor = backgroundColorScroll;
      element.style.color = fontColorScroll;
      element.classList.add('scroll');
    } else {
      element.style.backgroundColor = initialBackgroundColor;
      element.style.color = fontColor;
      element.classList.remove('scroll');
    }
  }
  adjustNavPinState();
  function onScroll() {
    didScroll = true;
  }
  window.addEventListener('scroll', onScroll);

  // eslint-disable-next-line
  var debounceInterval = setInterval(() => {
    if (didScroll) {
      // eslint-disable-next-line
      hasScrolled();
      didScroll = false;
    }
  }, 250);
  function hasScrolled() {
    adjustNavPinState();
    // eslint-disable-next-line
    var navbarHeight = element.offsetHeight;
    // eslint-disable-next-line
    var st = window.scrollY;

    // Make sure they scroll more than delta
    if (Math.abs(lastScrollTop - st) <= delta) {
      return;
    }
    if (st > lastScrollTop && st > navbarHeight) {
      // Scroll Down
      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
      document.documentElement.style.setProperty('--global-header-height', '0px');

      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
      sections.forEach(section => {
        if (section.classList.contains('sticky')) {
          section.style.top = '0px';
        }
      });
    } else {
      // Scroll Up
      // eslint-disable-next-line
      if (st + window.innerHeight < document.documentElement.scrollHeight) {
        element.style.transform = `translateY(0) scaleY(1)`;
        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
        sections.forEach(section => {
          if (section.classList.contains('sticky')) {
            section.style.top = `${navbarHeight}px`;
          }
        });
      }
    }
    lastScrollTop = st;
  }
})('NAVBAR', JSON.parse("{\"fontColor\":\"#211F1F\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#ffffff\",\"backgroundColorScroll\":\"#2C3426\",\"initialBackgroundColor\":\"transparent\"}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  sectionDomId = "global-sidemenu";
  var $sidemenu = $('#' + sectionDomId);
  const subNavItems = $('body > div.sidemenu .sub-nav-container .sub-nav__item');
  const hideSubNavItems = () => {
    subNavItems.removeClass('fadeInUp');
  };
  const showSubNavItems = subnav => {
    if ($(subnav).find('.arrow').hasClass('active')) {
      $(".sidemenu").find('.arrow').removeClass('active');
    } else {
      $(".sidemenu").find('.arrow').removeClass('active');
      $(subnav).find('.arrow').addClass('active');
    }
    let i = 0;
    subnav.find('.sub-nav__item').each((idx, item) => {
      i++;
      var timeout;
      clearTimeout(timeout);
      timeout = setTimeout(() => {
        $(item).addClass('fadeInUp');
      }, 100 + i * 50);
    });
  };
  $(document).on("click", function (e) {
    if ($(e.target).closest(".navigation").length < 1) {
      hideSubNavItems();
    }
  });
  $('body > div.sidemenu .sub-nav-container > a').click(function (e) {
    const subnavContainer = $(this).closest('.sub-nav-container');
    hideSubNavItems();
    showSubNavItems(subnavContainer);
  });
  const hideSideMenu = () => {
    $('body > div.sidemenu').removeClass('visible');
  };
  $('body > div.sidemenu .navigation .navigation__item:not(.sub-nav-container) .navigation__link').on('click', function (e) {
    onHide();
    hideSideMenu();
  });
  $('body > div.sidemenu .sub-nav-container .sub-nav__link').on('click', function (e) {
    onHide();
    setTimeout(() => {
      hideSideMenu();
    }, 1601);
  });
  var shown = false;
  function onShow() {
    if (shown) {
      return;
    }
    shown = true;
    window.lpUI.requestScrollLock(sectionDomId);
    $('#' + sectionDomId + ' .navigation__link').removeClass('fade-in');
    $('#' + sectionDomId + ' .lp-socials__link').removeClass('fade-in');
    let i = 0;
    $('#' + sectionDomId + ' .navigation__link').each(function () {
      i++;
      setTimeout(() => {
        $(this).addClass('fade-in');
      }, 900 + i * 50);
    });
    $('#' + sectionDomId + ' .lp-socials__link').each(function () {
      i++;
      setTimeout(() => {
        $(this).addClass('fade-in');
      }, 900 + i * 50);
    });
  }
  function onHide() {
    hideSubNavItems();
    if (!shown) {
      return;
    }
    $('#' + sectionDomId + ' .lp-socials__link').removeClass('fade-in');
    let i = 0;
    $($('#' + sectionDomId + ' .navigation__link').get().reverse()).each(function () {
      i++;
      setTimeout(() => {
        $(this).removeClass('fade-in');
      }, i * 50);
    });
    shown = false;
    setTimeout(() => {
      window.lpUI.releaseScrollLock(sectionDomId);
    }, 1600);
  }
  $sidemenu.on('lpui-show', onShow);
  $sidemenu.on('lpui-hide', onHide);
})('global-sidemenu');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  function setHttp(link) {
    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
      link = 'http://' + link;
    }
    return link;
  }
  $(`#${sectionDomId} form`).on("reset", function () {
    const redirectLink = $('#' + sectionDomId + ' .redirect-link');
    if (redirectLink.length) {
      const rawHref = redirectLink.attr('href');
      redirectLink.attr('href', setHttp(rawHref));
      redirectLink[0].click();
    }
  });
})('global-footer');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  var _section = $('#' + sectionDomId);
  var _footer = document.getElementById('global-footer');
  const emailInput = _section.find('.js-email-input');
  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
  emailInput.on('input', function () {
    if (emailRegex.test(this.value)) {
      this.setCustomValidity('');
    } else {
      this.setCustomValidity('Please enter a valid email address.');
    }
    this.reportValidity();
  });
  _section.find('input[name="name"]').on("keyup", function () {
    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
      this.setCustomValidity("Please input your first name and last name.");
    } else {
      this.setCustomValidity("");
    }
  });
  _section.find('form').on("reset", function () {
    $(this).addClass("show-success");
  });
  $(window).scroll(function () {
    if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible');
  });
  _section.find('.close-btn, .connect-btn').click(function () {
    _section.find('.pop-up').toggle();
    _section.find('.btn-holder').toggle();
  });
  if (!_footer) return;
  const observer = new IntersectionObserver(entries => {
    entries.forEach(entry => {
      if (entry.isIntersecting) _section.hide();else _section.show();
    });
  }, {
    threshold: 0.1
  });
  observer.observe(_footer);
  function selectToDropdown(selectItem) {
    let customDropdown = `
        <div class="custom-select" role="presentation">
        <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button>
        <div class="custom-select-menu" style="display: none;max-height: none;">
        <div class="custom-select-content">
        </div>
        </div>
        </div>`;
    $(customDropdown).insertAfter(selectItem);
    let $dropdown = $($(selectItem).next());
    let $dropdownToggle = $dropdown.find(".custom-select-toggle");
    let $dropdownMenu = $dropdown.find(".custom-select-menu");
    let $dropdownContent = $dropdown.find(".custom-select-content");
    $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select");
    $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom");
    $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id"));
    appendOptionButtons(selectItem, $dropdownContent);
    $(selectItem).removeClass().addClass("sr-only");
    var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text();
    $dropdownToggle.html(toggleText);
    $dropdown.on("click", ".custom-select-item", function (e) {
      if ($(this).hasClass("is-disabled")) return;
      let elementNumber = $(this).index();
      let $originalSelect = $(this).closest(".custom-select").siblings("select");
      let $linkedOption = $originalSelect.find("option").eq(elementNumber);
      if (!$linkedOption.prop("selected")) {
        $linkedOption.prop("selected", true);
        $originalSelect.change();
        $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected");
        $dropdownToggle.html($(this).html());
        closeSelectMenu($(this).closest(".custom-select-menu"));
      }
      $dropdownToggle.removeClass("is-placeholder");
    });
    function convertOptionToButton(option) {
      var optionText = $(option).text();
      var optionValue = $(option).attr("value") || $(option).text();
      var optionIsDisabled = $(option).prop("disabled");
      var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`;
      return outputButton;
    }
    function appendOptionButtons(selectItem, appendTarget) {
      $(selectItem).find("option").each(function () {
        let currentButton = convertOptionToButton(this);
        $(appendTarget).append(currentButton);
      });
    }
    function showSelectMenu(selectMenu) {
      var customSelect = $(selectMenu).closest(".custom-select")[0];
      $(customSelect).addClass("open");
      $(selectMenu).slideDown();
    }
    function closeSelectMenu(selectMenu) {
      var customSelect = $(selectMenu).closest(".custom-select")[0];
      $(customSelect).removeClass("open");
      $(selectMenu).slideUp();
    }
    $dropdown.on("click", ".custom-select-toggle", function (e) {
      var $customSelect = $(this).closest(".custom-select");
      var selectMenu = $customSelect.find(".custom-select-menu")[0];
      if ($customSelect.hasClass("open")) {
        closeSelectMenu(selectMenu);
      } else {
        showSelectMenu(selectMenu);
      }
    });
    $(document).on("click", function (e) {
      if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) {
        $(".custom-select.open").each(function () {
          var selectMenu = $(this).find(".custom-select-menu")[0];
          closeSelectMenu(selectMenu);
        });
      }
    });
  }
  $(".pop-up select[name='interest']").each(function () {
    selectToDropdown(this);
  });
})('global-mobile-contact');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  const $section = $('#' + sectionDomId);
  const showOnlyActive = $section.find('.opening-with-search')[0].dataset.onlyActive === 'true';
  const showNeighborhoodNames = $section.find('.opening-with-search')[0].dataset.showNeighborhoodNames === 'true';
  const $videoWrap = $section.find('.full-screen-video-component > .video-wrapper');
  const $url = $section.find('.opening-with-search').attr('data-video-url');
  let $iframe = $section.find('.full-screen-video-component > .video-wrapper').find('iframe');
  let $video = $section.find('.full-screen-video-component > .video-wrapper').find('video');
  let $mute = true;
  if ($url) {
    $section.children('.video-wrapper:not(.video-wrapper-extended)').remove();
    if ($iframe) {
      let src = $iframe.attr('data-src');
      let youtubeId = '';
      let vimeoId = '';
      if (src && (src.indexOf('youtube.com') !== -1 || src.indexOf('youtu.be') > -1) && src.indexOf('youtube.com/embed') < 0) {
        const youtubeRegex = /(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=))|youtu.be\/)([a-zA-Z0-9_-]{6,11})/;
        const youtubeResult = src.match(youtubeRegex);
        if (youtubeResult) youtubeId = youtubeResult[1];
      }
      if (src && src.indexOf('vimeo.com') !== -1) {
        const vimeoRegex = /(?:(www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|)|player.vimeo.com\/video\/)(\d{6,})(?:|\/\?)/;
        const vimeoResult = src.match(vimeoRegex);
        if (vimeoResult) vimeoId = vimeoResult[3];
      }
      if (youtubeId) src = `https://youtube.com/embed/${youtubeId}?autoplay=1&mute=1&loop=1&enablejsapi=1&showinfo=0&controls=0&playlist=${youtubeId}`;else if (vimeoId) src = `https://player.vimeo.com/video/${vimeoId}?autoplay=1&muted=1&loop=1&quality=320p&controls=false`;
      $iframe.attr('src', src);
      $iframe.on("load", function () {
        $iframe.parent().addClass('playing');
      });
    }
  } else if ($videoWrap.length) {
    const $video = $videoWrap.find('video');
    $video.each(function () {
      var v = this;
      if (v.readyState > 0) {
        $videoWrap.addClass('playing');
      } else {
        v.addEventListener('canplay', function () {
          $videoWrap.addClass('playing');
        }, {
          once: true
        });
      }
    });
  }
  window.luxuryPresence.mapApiLoader.load().then(() => {
    var $dots = $section.find(".js-dots");
    var $carousel = $section.find('.js-carousel');
    $carousel.on('init', function () {
      $carousel.addClass('visible');
      $carousel.find('.title-item').find('.lp-h1').css({
        "transform": "translateX(-100px)",
        "opacity": "0"
      });
      $carousel.find('.title-item').first().find('.lp-h1').css({
        'transform': 'translateX(0)',
        'opacity': '1'
      });
    });
    $carousel.slick({
      dots: false,
      arrows: false,
      appendDots: $dots,
      speed: 2000,
      fade: true,
      autoplay: true,
      pauseOnHover: false,
      slidesToShow: 1,
      adaptiveHeight: true
    });
    $carousel.on('beforeChange', function () {
      $carousel.find('.slick-slide').find('.lp-h1').css({
        "transform": "translateX(0)",
        "opacity": "1",
        "transition": "1s all"
      });
      $carousel.find('.slick-slide.slick-current').find('.lp-h1').css({
        'transform': 'translateX(100px)'
      });
    });
    $carousel.on('afterChange', function () {
      $carousel.find('.slick-slide').not('.slick-current').find('.lp-h1').css({
        'transform': 'translateX(-100px)',
        "transition": "0s all",
        "opacity": "0"
      });
    });
    $(window).on('resize', function () {
      $carousel.slick('resize');
    });
    const $searchWrapper = $section.find('.search-wrapper');
    if (!$searchWrapper.length) {
      return;
    }
    const searchMls = $searchWrapper[0].dataset.searchMls === 'true';
    const searchProperties = $searchWrapper[0].dataset.searchProperties === 'true';
    const selectedCountries = $searchWrapper[0].dataset.locations;
    let searchAreaBounds = null;
    try {
      const searchAreaRaw = $searchWrapper[0].dataset.searchArea;
      if (searchAreaRaw) {
        const searchArea = typeof searchAreaRaw === 'string' ? JSON.parse(searchAreaRaw) : searchAreaRaw;
        const bounds = searchArea?.fullData?.geometry?.bounds || searchArea?.fullData?.geometry?.viewport;
        if (bounds && typeof bounds.north === 'number' && typeof bounds.south === 'number' && typeof bounds.east === 'number' && typeof bounds.west === 'number') {
          searchAreaBounds = {
            north: bounds.north,
            south: bounds.south,
            east: bounds.east,
            west: bounds.west
          };
        }
      }
    } catch (e) {}
    const searchPlaces = searchMls;
    const showNeighborhoods = searchMls;
    const searchNearEnabled = searchMls;
    const $searchInput = $section.find('.search-input');
    const $searchResults = $section.find('.search-results');
    const $resultsContainer = $section.find('.results-container');
    const $loader = $section.find('.search-in-progress');
    const $predefined = $section.find('.predefined-links');
    const $searchBtn = $section.find('.search-button');
    const $leaseFalseButton = $section.find('.jsLeaseFalse');
    const $leaseTrueButton = $section.find('.jsLeaseTrue');
    const $nextSection = $section.next();
    const fixZIndex = $nextSection.length && parseInt($nextSection.css('z-index')) || 1;
    const searchDelay = 300;
    const maxPlaces = 5;
    const maxMls = 5;
    const leaseFilter = $leaseFalseButton.length > 0 && $leaseTrueButton.length > 0;
    const service = new google.maps.places.AutocompleteService();
    const geocoder = new google.maps.Geocoder();
    var keyword;
    var leasePropertyState = false;
    var leasePropertySearched;
    var searchActive = false;
    var isLoading = false;
    function showSearchResults() {
      searchActive = true;
      updateSearchDisplay();
    }
    function hideSearchResults() {
      searchActive = false;
      updateSearchDisplay();
    }
    function showLoading() {
      isLoading = true;
      updateSearchDisplay();
    }
    function hideLoading() {
      isLoading = false;
      updateSearchDisplay();
    }
    function updateSearchDisplay() {
      if (leaseFilter) {
        if (leasePropertyState) {
          $leaseTrueButton.addClass('active');
          $leaseFalseButton.removeClass('active');
        } else {
          $leaseFalseButton.addClass('active');
          $leaseTrueButton.removeClass('active');
        }
      }
      if (!searchActive) {
        $searchResults.removeClass('show');
        $searchResults.css('height', '0');
        if (fixZIndex) {
          $section.css('z-index', '');
        }
        return;
      }
      var hasResults = !!$resultsContainer.html();
      var hasPredefined = $predefined.find('a:not(.not-processed)').length > 0;
      if (hasResults) {
        $predefined.addClass('not-visible');
        $loader.addClass('not-visible');
        $resultsContainer.removeClass('not-visible');
      } else if (isLoading) {
        $resultsContainer.addClass('not-visible');
        $predefined.addClass('not-visible');
        $loader.removeClass('not-visible');
      } else if (hasPredefined) {
        $resultsContainer.addClass('not-visible');
        $loader.addClass('not-visible');
        $predefined.removeClass('not-visible');
      } else {
        $resultsContainer.addClass('not-visible');
        $loader.addClass('not-visible');
        $predefined.addClass('not-visible');
      }
      var height = 0;
      height += $predefined[0].getBoundingClientRect().height;
      height += $resultsContainer[0].getBoundingClientRect().height;
      height += $loader[0].getBoundingClientRect().height;
      if (height > 0) {
        if (fixZIndex) {
          $section.css('z-index', '' + (fixZIndex + 1));
        }
        $searchResults.addClass('show');
      } else {
        if (fixZIndex) {
          $section.css('z-index', '');
        }
        $searchResults.removeClass('show');
      }
      $searchResults.css('height', height + 'px');
    }
    function clearSelection() {
      $searchResults.find('.selected-link').removeClass('selected-link');
    }
    function moveSelection(up) {
      var $cont = $resultsContainer.html() ? $resultsContainer : $predefined;
      var $links = $cont.find('.results-link');
      if (!$links.length) {
        return;
      }
      var idx = -1;
      $links.each(function (i) {
        if (idx === -1 && $(this).is('.selected-link')) {
          idx = i;
        }
      });
      var newIdx;
      if (up) {
        newIdx = idx - 1;
        if (newIdx < 0) {
          newIdx = $links.length - 1;
        }
      } else {
        newIdx = idx + 1;
        if (newIdx > $links.length - 1) {
          newIdx = 0;
        }
      }
      if (newIdx !== idx) {
        $searchResults.find('.selected-link').removeClass('selected-link');
        $($links.get(newIdx)).addClass('selected-link');
      }
    }
    var newSearchTimer;
    function inputChanged(ev) {
      if (ev.which === 38) {
        ev.preventDefault();
        moveSelection(true);
        return false;
      }
      if (ev.which === 40) {
        ev.preventDefault();
        moveSelection();
        return false;
      }
      if (ev.which === 13) {
        $lnk = $searchResults.find('.selected-link');
        if ($lnk.length) {
          $lnk[0].click();
          hideSearchResults();
        } else {
          $searchBtn.click();
        }
      }
      window.clearTimeout(newSearchTimer);
      newSearchTimer = window.setTimeout(startSearch, searchDelay);
    }
    function startSearch() {
      const term = $searchInput.val();
      if (term === keyword && leasePropertySearched === leasePropertyState) {
        return;
      }
      leasePropertySearched = leasePropertyState;
      keyword = term;
      if (term) {
        doSearch(term, leasePropertySearched);
      } else {
        setResults(null);
      }
    }
    function mlsSearch(term, leaseProperty) {
      if (!leaseFilter) {
        if (showOnlyActive) {
          const filters = {
            'status[]': 'ACTIVE'
          };
          return window.luxuryPresence.getMLSAutocompleteWithFilters(term, filters);
        }
        return window.luxuryPresence.getMLSAutocomplete(term);
      }
      var query = {
        omnibox: term,
        limit: maxMls
      };
      if (showOnlyActive) query['status[]'] = ['ACTIVE'];
      if (leaseFilter && leaseProperty) {
        query.lease_property = true;
      }
      return superagent.get(window.location.protocol + '//' + window.location.host + '/home-search/listings.json').query(query).then(function (res) {
        if (!Array.isArray(res.body)) {
          return [];
        }
        return res.body;
      }, function (e) {
        console.log(e);
        return [];
      });
    }
    function resolveGeoBounds(placeId, description) {
      return new Promise(function (resolve, reject) {
        geocoder.geocode({
          'placeId': placeId
        }, function (results, status) {
          if (status != 'OK') {
            return resolve(null);
          }
          var result = results[0];
          var bounds = new google.maps.LatLngBounds();
          bounds.extend(result.geometry.viewport.getSouthWest());
          bounds.extend(result.geometry.viewport.getNorthEast());
          result.geometry.bounds = bounds.toJSON();
          var placeUrl = window.luxuryPresence.makeMlsLink(result);
          return resolve({
            placeUrl: placeUrl,
            description: description
          });
        });
      });
    }
    function addRestrictions(request) {
      if (searchAreaBounds) {
        request.locationRestriction = searchAreaBounds;
      }
      if (selectedCountries === 'Worldwide') {
        return request;
      }
      if (selectedCountries === 'US & Canada') {
        request.componentRestrictions = {
          country: ['us', 'ca']
        };
        return request;
      }
      request.componentRestrictions = {
        country: 'us'
      };
      return request;
    }
    function resolveAutocomplete(term, deeper) {
      var request = addRestrictions({
        input: term,
        types: deeper ? ['geocode'] : ['(regions)'],
        limit: 1
      });
      return new Promise(function (resolve, reject) {
        service.getPlacePredictions(request, function (results, status) {
          if (status !== google.maps.places.PlacesServiceStatus.OK) {
            resolve(null);
            return;
          }
          if (!Array.isArray(results)) {
            resolve(null);
            return;
          }
          if (deeper) {
            var allowedTypes = {
              'route': true,
              'neighborhood': true,
              'administrative_area_level_3': true,
              'administrative_area_level_4': true,
              'administrative_area_level_5': true,
              'sublocality_level_1': true,
              'sublocality_level_2': true,
              'sublocality_level_3': true,
              "colloquial_area": true
            };
            results = results.filter(function (res) {
              return res.types.find(t => allowedTypes[t]);
            });
          }
          if (!results.length) {
            resolve(null);
            return;
          }
          resolve(results);
        });
      });
    }
    var placesResult = {};
    function placesSearch(term, ignoreInput) {
      if (placesResult.term !== term) {
        placesResult = {
          term: term,
          result: Promise.all([resolveAutocomplete(term), resolveAutocomplete(term, true)]).then(function (res) {
            let results = [];
            if (res[0]) results.push(...res[0]);
            if (res[1]) results.push(...res[1]);
            if (!results) {
              return [];
            }
            const uniqueResults = [];
            const placeIds = new Set();
            results.forEach(place => {
              if (!placeIds.has(place.place_id)) {
                placeIds.add(place.place_id);
                uniqueResults.push(place);
              }
            });
            return uniqueResults;
          }).then(function (results) {
            if (!ignoreInput && term !== keyword) {
              return [];
            }
            if (!results) {
              return [];
            }
            var geoResultPromises = results.map(function (result) {
              return resolveGeoBounds(result.place_id, result.description);
            });
            return Promise.all(geoResultPromises).then(function (geoLinks) {
              return geoLinks.filter(function (i) {
                return i;
              }).slice(0, maxPlaces);
            });
          })
        };
      }
      return placesResult.result;
    }
    function propertiesSearch(term, leaseProperty) {
      var payload = {
        companyId: window.luxuryPresence.defaults.companyId,
        search: term,
        offset: 0,
        limit: 6,
        statusIds: ["5f528253-abb7-484e-95c3-330269ac1105", "959c11cf-8655-4f91-874c-292b0ab7ea6b", "a0012964-4f51-4430-abf8-6547c5ab6441", "df04ccbe-4621-4140-a504-ee1a17430bb7", "88b4ace6-f39b-4b25-a051-8f6dba976833", "96031d77-bbe5-4de3-90d8-1e4e70de8ca8"]
      };
      if (leaseFilter) {
        payload.leaseProperty = !!leaseProperty;
      }
      return superagent.post(window.luxuryPresence.defaults.apiGatewayUrl + '/graphql').send({
        query: window.luxuryPresence.defaults.gql.properties,
        variables: payload
      }).then(function (res) {
        return (res.body.data || {}).properties || [];
      }, function (err) {
        return [];
      });
    }
    function doSearch(term, leaseProperty) {
      showLoading();
      Promise.all([searchMls ? mlsSearch(term, leaseProperty) : [], searchPlaces ? placesSearch(term) : [], searchProperties ? propertiesSearch(term, leaseProperty) : []]).then(function (res) {
        if (term !== keyword) {
          return;
        }
        if (res[0].length > 0) {
          res[0] = res[0].map(function (item) {
            return {
              id: item.id,
              display_address: [item.address_1, item.city, [item.state, item.postal_code].filter(function (i) {
                return i;
              }).join(' ')].filter(function (i) {
                return i;
              }).join(', ')
            };
          });
        }
        setResults(res[0], res[1], res[2], leaseProperty);
      });
    }
    function makeResultsBlockHtml(title, links) {
      if (!links || !links.length) {
        return '';
      }
      var html = '<div class="results-block">';
      html += '<div class="results-block-title">';
      if (searchNearEnabled) {
        html += '<div class="search-near-container"><a class="search-near lp-link lp-link--light">Search Near Me</a></div>';
      }
      html += '<div class="results-title-label">' + title + '</div></div>';
      html += links.join('') + '</div>';
      return html;
    }
    function setResults(mlsResults, placesResults, propertiesResults, leaseProperty) {
      clearSelection();
      hideLoading();
      if (!mlsResults) {
        $resultsContainer.html('');
        updateSearchDisplay();
        return;
      }
      if (!mlsResults.length && !placesResults.length && !propertiesResults.length) {
        $resultsContainer.html('<div class="nothing-found">No results found</div>');
        updateSearchDisplay();
        return;
      }
      var propertiesHtml = makeResultsBlockHtml('Featured Properties', propertiesResults.map(function (result) {
        return `<a href="/properties/${result.slug}" class="results-link">${result.privateAddress ? result.name : result.fullAddress}</a>`;
      }));
      var placesHtml = makeResultsBlockHtml('Locations', placesResults.map(function (result) {
        return `<a class="results-link" href="${result.placeUrl}${leaseProperty ? '&lease_property=true' : ''}">${result.description}</a>`;
      }));
      var mlsHtml = makeResultsBlockHtml('Address', mlsResults.map(function (result) {
        return `<a href="/home-search/listings/${result.id}" class="results-link">${result.display_address}</a>`;
      }));
      $resultsContainer.html(propertiesHtml + placesHtml + mlsHtml);
      updateSearchDisplay();
    }
    function searchBtnClicked() {
      var resultsBlockHref = $("#" + sectionDomId + " .results-container .results-block .results-link").attr("href");
      const term = $searchInput.val();
      if (!term) {
        return;
      }
      if (searchMls) {
        if (resultsBlockHref !== undefined) window.location.href = resultsBlockHref;
        return;
      }
      if (searchProperties) {
        window.location.href = "/properties/sale";
      }
    }
    var neighborhoods = null;
    function fetchNeighborhoods() {
      var url = window.luxuryPresence.defaults.apiGatewayUrl;
      var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, offset: $offset, limit: $limit) {id, name, mlsLink, googlePlaceData}}';
      var payload = {};
      payload.offset = 0;
      payload.limit = 100;
      payload.companyId = window.luxuryPresence.defaults.companyId;
      return superagent.post(url + '/graphql').withCredentials().send({
        query: gqlQuery,
        variables: payload
      }).then(function (res) {
        neighborhoods = res.body.data && res.body.data.neighborhoods;
        if (neighborhoods && !neighborhoods.length) {
          neighborhoods = null;
        }
      });
    }
    function setPredefinedNeighborhoods() {
      return fetchNeighborhoods().then(function () {
        if (!neighborhoods) {
          return;
        }
        var leaseProperty = leaseFilter && leasePropertyState;
        var placesHtml = makeResultsBlockHtml('Locations', neighborhoods.map(function (item) {
          return `<a class="results-link" href="${item.mlsLink}${leaseProperty ? `${item.mlsLink.includes('?') ? '&lease_property=true' : '?lease_property=true'}` : ''}">${showNeighborhoodNames ? item.name : item.googlePlaceData && item.googlePlaceData.formatted_address || item.name}</a>`;
        }));
        $predefined.html(placesHtml);
        updateSearchDisplay();
      });
    }
    if (showNeighborhoods) {
      setPredefinedNeighborhoods();
    }
    $searchInput.on('focus', showSearchResults);
    $searchInput.on('keyup focus', inputChanged);
    $searchResults.on('mouseenter', '.results-link', function (ev) {
      clearSelection();
    });
    $searchBtn.on('click', searchBtnClicked);
    $leaseFalseButton.on('click', function () {
      if (leasePropertyState) {
        leasePropertyState = false;
        if (showNeighborhoods) {
          setPredefinedNeighborhoods();
        }
        updateSearchDisplay();
        setResults(null);
        startSearch();
      }
    });
    $leaseTrueButton.on('click', function () {
      if (!leasePropertyState) {
        leasePropertyState = true;
        if (showNeighborhoods) {
          setPredefinedNeighborhoods();
        }
        updateSearchDisplay();
        setResults(null);
        startSearch();
      }
    });
    function createPolygonUrl(center, radius, n) {
      var step = Math.PI * 2 / n;
      var angle = 0 - step / 2;
      var points = [];
      var kx = 1.0 / Math.cos(center[1] * Math.PI / 180);
      for (var i = 0; i < n; i++) {
        points.push('[' + (center[0] + radius * Math.sin(angle) * kx).toFixed(5) + ',' + (center[1] - radius * Math.cos(angle)).toFixed(5) + ']');
        angle += step;
      }
      points.push(points[0]);
      var str = '[[' + points.join(',') + ']]';
      return '&polygon=' + encodeURIComponent(str);
    }
    function makeNearMeUrl(center, leaseProperty) {
      var url = '/home-search/listings?search_type=envelope';
      if (leaseProperty) {
        url += '&lease_property=true';
      }
      var distance = 0.11;
      var lat = center[1];
      var lng = center[0];
      url += '&south=' + (lat - distance);
      url += '&north=' + (lat + distance);
      url += '&west=' + (lng - distance);
      url += '&east=' + (lng + distance);
      url += createPolygonUrl(center, distance, 54);
      return url;
    }
    var $locMsg = null;
    $section.on('click', '.search-near', function () {
      showLoading();
      navigator.geolocation.getCurrentPosition(function (position) {
        hideLoading();
        hideSearchResults();
        if (!position || !position.coords || !position.coords.latitude || !position.coords.longitude) {
          showLocationMessage('Unknown Location', '<p>Getting position of your device failed.</p><p>You can type your address manually in the search field</p>');
          return;
        }
        var url = makeNearMeUrl([position.coords.longitude, position.coords.latitude], leaseFilter && leasePropertyState);
        var link = document.createElement('a');
        link.href = url;
        link.class = 'lp-visually-hidden';
        $section[0].appendChild(link);
        link.click();
        setTimeout(function () {
          $section[0].removeChild(link);
        }, 100);
      }, function (geoError) {
        hideLoading();
        hideSearchResults();
        var title = 'Unknown Location';
        var msg;
        if (geoError.code === 1) {
          msg = '<p>To be able to search near you we need to know your current location.</p><p>If you don\'t want to give access to your device\'s location, you can type your address in the search field</p>';
        } else {
          msg = '<p>Getting position of your device failed.</p><p>You can type your address manually in the search field</p>';
        }
        showLocationMessage(title, msg);
      });
    });
    var locHideTimer = null;
    function showLocationMessage(title, message) {
      clearTimeout(locHideTimer);
      if (!$locMsg) {
        var html = `<div class="loc-msg-backdrop">
          <div class="loc-msg-wrap">
            <div class="loc-msg-modal">
              <div class="loc-msg-close"></div>
              <h4 class="loc-msg-title lp-h4"></h4>
              <div class="loc-msg-container"></div>
            </div>
          </div>
        </div>
        `;
        $locMsg = $(html);
        $locMsg.on('click', hideLocationMessage);
        $section.append($locMsg);
      }
      $locMsg.find('.loc-msg-container').html(message);
      $locMsg.find('.loc-msg-title').html(title);
      setTimeout(function () {
        if ($locMsg) {
          $section.addClass('visible-loc-msg');
        }
      });
    }
    function hideLocationMessage() {
      $section.removeClass('visible-loc-msg');
      locHideTimer = setTimeout(function () {
        $locMsg.remove();
        $locMsg = null;
      }, 400);
    }
    function outsideClickHandler(e) {
      if ($searchWrapper.find($(e.target)).length > 0) {
        return;
      }
      hideSearchResults();
    }
    $(document).on('click', outsideClickHandler);
    if ('geolocation' in navigator) {
      $searchWrapper.removeClass('search-near-hidden');
    }
    updateSearchDisplay();
  });
})('section-509111ce-3482-45d6-a565-8c08f1473bed', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-46898bca-8f08-459b-8713-fb7ac0cbbbee', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var $section = $('#' + sectionDomId);
  var $window = $(window);
  var duration = 3000;
  var step = 50;
  var items = [];
  var started = false;

  function analyze() {
    var elems = $section.find('.jsValue');
    elems.each(function () {
      var $el = $(this);
      var match = $el.text().match(/^(\D*)(\d(.*\d)?)(.*)$/);

      if (match) {
        var str = match[2];
        var frac = 0;
        var fSep = '';
        var nmb;

        if (!/\..*\./.test(str)) {
          var m = str.match(/\.(\d+)$/);

          if (m) {
            frac = m[1].length;
            fSep = '.';
            nmb = parseFloat(str.replace(/[^\d\.]/g, ''));
          }
        }

        if (!frac) {
          if (!/,.*,/.test(str)) {
            var _m = str.match(/,(\d+)$/);

            if (_m) {
              frac = _m[1].length;
              fSep = ',';
              nmb = parseFloat(str.replace(',', '.').replace(/[^\d\.]/g, ''));
            }
          }
        }

        if (!frac) {
          nmb = parseInt(str.replace(/\D/g, ''));
        }

        items.push({
          el: $el,
          prefix: match[1] || '',
          suffix: match[4] || '',
          str: match[2],
          nmb: nmb,
          frac: frac,
          fSep: fSep
        });
      }
    });

    if (!items.length) {
      started = true;
      return;
    }
  }

  function animate() {
    if (started) {
      return;
    }

    started = true;
    setTimeout(iterate, step);
  }

  var pos = 0;

  function iterate() {
    if (pos >= duration) {
      items.forEach(function (item) {
        item.el.text(item.prefix + item.str + item.suffix);
      });
    } else {
      items.forEach(function (item) {
        var valStr = formatValue(item, pos / duration);
        item.el.text(item.prefix + valStr + item.suffix);
      });
      pos += step;
      setTimeout(iterate, step);
    }
  }

  function formatValue(item, val) {
    var str = (item.nmb * val).toFixed(item.frac).replace(/\D/, '');
    var i = 0;
    var j = 0;
    var res = '';

    while (i < item.str.length && j < str.length) {
      var c = item.str[item.str.length - i - 1];
      var code = c.charCodeAt(0);

      if (code >= 48 && code <= 57) {
        res = str[str.length - j - 1] + res;
        j++;
      } else {
        res = c + res;
      }

      i++;
    }

    return res;
  }

  function calculateVisibility() {
    if ($window.height() + $window.scrollTop() >= $section.offset().top) {
      $window.off('scroll', calculateVisibility);
      animate();
    }
  }

  analyze();

  if (items.length) {
    $window.on('scroll.lpui-auto-clean', calculateVisibility);
    calculateVisibility();
  }
})('section-f7947a30-739d-4767-bae4-04884aa2f991', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-bf78cdd1-9014-4b8e-a6cf-1afd3edb6b57', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $section = $('#' + sectionDomId);
  const slider = $('#' + sectionDomId + ' .js-list-slider');
  const avatarSlider = $('#' + sectionDomId + ' .js-avatar-slider');
  const autoplay = !$section.find('.testimonials-section').hasClass('js-stop-autoplay');
  let $cellNumbers = $('#' + sectionDomId + ' .js-list-cell');
  let cellNumbersLength = $cellNumbers.length >= 10 ? $cellNumbers.length : "0" + $cellNumbers.length;
  let paused = false;
  var sectionBackground = $section.css('background-image');
  if ($section.find('.testimonials-section.parallax').length) {
    $section.addClass('parallax-enabled');
    $section.css({
      '--sectionBackground': sectionBackground,
      'background-image': 'none'
    });
  }
  function throttle(cb, delay) {
    let wait = false;
    return function () {
      if (wait) {
        return;
      }
      cb(...arguments);
      wait = true;
      setTimeout(() => {
        wait = false;
      }, delay);
    };
  }
  function pauseSlider() {
    const section = document.querySelector(`#${sectionDomId}`);
    const rect = section.getBoundingClientRect();
    if (paused && rect.bottom < -30) {
      return;
    }
    if (!paused && rect.bottom > 0) {
      return;
    }
    if (rect.bottom < -30 && !paused) {
      paused = true;
      slider.slick('slickPause');
      return;
    }
    paused = false;
    slider.slick('slickPlay');
  }
  if (autoplay) {
    $(window).on('scroll.lpui-auto-clean', throttle(pauseSlider, 400));
  }
  if (cellNumbersLength > 1) $('#' + sectionDomId + ' .js-num-pages').html('01 / <span num-pages--total>' + cellNumbersLength + '</span>');
  if (slider.length > 0) {
    const arrows = slider.data('arrows-style') || '';
    var autoscrollInterval = parseInt(slider.attr('data-autoscroll-interval'), 10) || 4;
    slider.slick({
      dots: false,
      arrows: true,
      prevArrow: `<button class='lp-arrow lp-arrow--prev lp-arrow--dark ${arrows}'>prev</button>`,
      nextArrow: `<button class='lp-arrow lp-arrow--next lp-arrow--dark ${arrows}'>next</button>`,
      appendArrows: $section.find('.arrows-container'),
      infinite: true,
      slidesToShow: 1,
      slidesToScroll: 1,
      autoplay,
      autoplaySpeed: autoscrollInterval * 1000,
      rows: 0,
      adaptiveHeight: true,
      asNavFor: avatarSlider
    });
    avatarSlider.slick({
      dots: false,
      arrows: false,
      infinite: true,
      slidesToShow: 1,
      slidesToScroll: 1,
      rows: 0,
      asNavFor: slider,
      draggable: false,
      speed: 500,
      fade: true,
      cssEase: 'linear'
    });
    slider.on('afterChange', function (event, slick, currentSlide, nextSlide) {
      let currentPageNumber = currentSlide + 1;
      if (currentPageNumber < 10) currentPageNumber = '0' + currentPageNumber;
      $('#' + sectionDomId + ' .js-num-pages').html(currentPageNumber + ' / <span num-pages--total>' + cellNumbersLength + '</span>');
    });
  }
  function setAnimations() {
    const $target = $section.find('.js-animation-target');
    let x = 0,
      y = 0;
    let tx = 0,
      ty = 0;
    let overchk = false;
    let animationRun = false;
    let animationRequest;
    document.addEventListener("mousemove", function (e) {
      x = e.pageX;
      y = e.pageY;
    });
    $target.each(function () {
      $(this).css('will-change', 'transform');
      $(this).wrap('<div class="js-target-wrap"></div>');
      $(this).closest('.js-target-wrap').append('<div class="js-target"></div>').css({
        "position": "relative",
        "width": "auto"
      });
      $(this).next('.js-target').css({
        "position": "absolute",
        "left": "0",
        "top": "0",
        "width": "100%",
        "height": "100%"
      });
      $(this).next('.js-target').on('click', function () {
        if ($section.find('button[data-type="VIDEO"]').length) {
          $section.find('button[data-type="VIDEO"]').trigger('click');
        }
      });
    });
    function loop(el) {
      let targetWidth = $(el).outerWidth();
      let targetHeight = $(el).outerHeight();
      if (overchk) {
        tx += (x - $(el).closest('.js-target-wrap').offset().left - targetWidth / 2 - tx) * 0.04;
        ty += (y - $(el).closest('.js-target-wrap').offset().top - targetHeight / 2 - ty) * 0.04;
        el.style.transform = "translate(" + tx + "px, " + ty + "px)";
      } else {
        tx -= tx * 0.3;
        ty -= ty * 0.3;
        el.style.transform = "translate(" + tx + "px, " + ty + "px)";
      }
      animationRequest = requestAnimationFrame(function () {
        loop(el);
      });
    }
    function runAnimation(el) {
      if (!animationRun) {
        animationRun = true;
        loop(el);
        overchk = true;
      }
    }
    function stopAnmation() {
      if (animationRun) {
        setTimeout(function () {
          window.cancelAnimationFrame(animationRequest);
          animationRun = false;
          tx = 0, ty = 0;
        }, 100);
        overchk = false;
      }
    }
    $section.find('.js-target').on('mouseenter', function (e) {
      x = e.pageX;
      y = e.pageY;
      if (autoplay) slider.slick('slickPause');
      runAnimation($(this).closest('.js-target-wrap').find('.js-animation-target')[0]);
    });
    $section.find('.js-target').on('wheel', function () {
      if (autoplay) slider.slick('slickPlay');
      stopAnmation();
    });
    $section.find('.js-target').on('mouseleave', function () {
      if (autoplay) slider.slick('slickPlay');
      stopAnmation();
    });
  }
  if (window.matchMedia('(hover: hover) and (pointer: fine)').matches) {
    setTimeout(setAnimations);
  }
})('section-e70a3855-d8f5-4a59-9b03-062a2dcef951', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $slider = $('#' + sectionDomId + ' .js-collection');
  const arrows = $slider.data('arrows-style') || '';
  const disableInfiniteAndAutoScrollOnMobile = !$slider.data('disable-infinite');
  $slider.slick({
    slidesToShow: $slider.hasClass('js-collection--3') ? 3 : 2,
    prevArrow: `<button class='lp-arrow lp-arrow--prev lp-arrow--dark ${arrows}'>prev</button>`,
    nextArrow: `<button class='lp-arrow lp-arrow--next lp-arrow--dark ${arrows}'>next</button>`,
    appendArrows: $('#' + sectionDomId + ' .js-arrows'),
    infinite: true,
    autoplay: !$slider.data('disable-auto-scroll-desktop'),
    autoplaySpeed: 4000,
    responsive: [{
      breakpoint: 1024,
      settings: {
        slidesToShow: 2,
        slidesToScroll: 2
      }
    }, {
      breakpoint: 769,
      settings: {
        slidesToShow: 1,
        slidesToScroll: 1,
        infinite: disableInfiniteAndAutoScrollOnMobile,
        autoplay: disableInfiniteAndAutoScrollOnMobile
      }
    }]
  });
})('section-22433166-14d5-4eeb-8211-440b28393cc3', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $section = $(`#${sectionDomId}`);
  const content = $section.find(".js-content-1");
  const inputAddress = $section.find("[name='home-address']");
  const btnContinue = $section.find(".js-continue");
  const btnMail = $section.find(".js-mail");
  const btnBack = $section.find(".js-close-form");
  const btnContact = $section.find('[data-type="CONTACT_US"]');
  const btnPhone = $section.find(".js-phone");
  const $loader = $section.find('.loader');
  const emailInput = $section.find('.js-email-input');
  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
  const howWeCalcBtn = $section.find("#how-calculate-popup");
  let inputAddressVal;
  let addressValuation;
  let addressValuationRedirectUrl;
  let service;
  let validAddressData;
  const MODAL_ID = "modal-home-valuation-plunk";
  const $valueModal = $section.find("#" + MODAL_ID);
  const $form = $valueModal.find(".hv-form");
  const $propertyAddressInput = $form.find("[name='property-address']");
  const $propertyValuationInput = $form.find("[name='property-valuation']");
  const $propertyAddressOutput = $valueModal.find(".js-property-address");
  const $propertyValuationOutput = $valueModal.find(".js-plunk-value");
  const VALUATION_ERROR = "Estimate not available.";
  emailInput.on('input', function () {
    if (emailRegex.test(this.value)) {
      this.setCustomValidity('');
    } else {
      this.setCustomValidity('Please enter a valid email address.');
    }
    this.reportValidity();
  });
  function isRetryableError(error) {
    return error.name === 'TypeError' && error.message.includes('fetch') || error.status === 503 || error.status === 502 || error.status === 504 || error.message?.includes('timeout') || error.name === 'AbortError';
  }
  async function executeWithRetry(fn) {
    let maxRetries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
    let lastError;
    for (let attempt = 0; attempt <= maxRetries; attempt++) {
      try {
        return await fn();
      } catch (error) {
        lastError = error;
        if (attempt === maxRetries || !isRetryableError(error)) {
          throw error;
        }
        const delay = 2 ** attempt * 1000;
        await new Promise(resolve => setTimeout(resolve, delay));
      }
    }
    throw lastError;
  }
  function getUserFriendlyErrorMessage(error) {
    if (error.name === 'AbortError' || error.message?.includes('timeout')) {
      return 'Connection timed out. Please try again.';
    }
    if (error.name === 'TypeError' && error.message.includes('fetch')) {
      return 'Unable to connect. Please check your internet connection and try again.';
    }
    if (error.status === 503 || error.status === 502 || error.status === 504) {
      return 'Service temporarily unavailable. Please try again in a moment.';
    }
    if (error.status === 400) {
      return 'Please check your information and try again.';
    }
    return 'Something went wrong. Please try again or contact us directly.';
  }
  function logLeadEvent(eventType, data) {
    let error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
    const eventPayload = {
      event: eventType,
      companyId: window.luxuryPresence.config.companyId,
      websiteId: window.luxuryPresence.config.websiteId,
      timestamp: new Date().toISOString(),
      hasEmail: !!data.leadEmailAddress,
      hasAddress: !!data.homeValuationAddress
    };
    if (error) {
      eventPayload.errorMessage = error.message;
      eventPayload.errorName = error.name;
      eventPayload.errorStatus = error.status;
      console.error(`[HomeValuation] ${eventType}`, JSON.stringify(eventPayload));
    } else {
      console.log(`[HomeValuation] ${eventType}`, JSON.stringify(eventPayload));
    }
    if (window.posthog) {
      window.posthog.capture(eventType, eventPayload);
    }
  }
  function showSubmissionError(message) {
    const $errorEl = $section.find('.submission-error-message');
    if ($errorEl.length) {
      $errorEl.text(message || 'Something went wrong. Please try again.');
      $errorEl.show();
    }
  }
  function hideSubmissionError() {
    const $errorEl = $section.find('.submission-error-message');
    if ($errorEl.length) {
      $errorEl.hide();
    }
  }
  function uiShowScene(sceneName, state) {
    const selector = `[data-ui-${sceneName}]`;
    const dataName = "ui" + sceneName.charAt(0).toUpperCase() + sceneName.slice(1);
    $(selector).each(function () {
      if ($(this).data(dataName) === state) {
        this.hidden = false;
      } else {
        this.hidden = true;
      }
    });
  }
  function setAddress(address) {
    $propertyAddressInput.val(address);
    $propertyAddressOutput.text(address);
  }
  const initMap = place => {
    if (!place) {
      throw new Error("No place provided for map!");
    }
    const center = new google.maps.LatLng(place.geocode.location.latitude, place.geocode.location.longitude);
    map = new google.maps.Map($section.find("#map")[0], {
      center,
      width: 415,
      height: 152,
      zoom: 17,
      disableDefaultUI: true,
      gestureHandling: "none"
    });
  };
  $form.find('input[name="name"]').on("keyup", function () {
    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
      this.setCustomValidity("Please input your first name and last name.");
    } else {
      this.setCustomValidity("");
    }
  });
  const openPopup = htmlString => {
    const overlay = document.createElement("div");
    $section.append(overlay);
    $(overlay).addClass("hv-popup");
    $(overlay).append(`
                <div class="hv-popup__container slideInUp">
                <div class="hv-popup__close close-icon" id="popup-close"></div>
                <div class=""hv-popup__content">
                ${htmlString}
                </div>
                </div>
                `);
    const closeIcon = $(overlay).find("#popup-close");
    closeIcon.on("click", () => closePopup(overlay));
    $(overlay).on("click", e => {
      if (e.target === e.currentTarget) {
        closePopup(overlay);
      }
    });
    window.lpUI.requestScrollLock(sectionDomId + "_popup");
    return overlay;
  };
  const closePopup = popupEl => {
    window.lpUI.releaseScrollLock(sectionDomId + "_popup");
    popupEl.remove();
    btnContinue.attr("disabled", false);
  };
  const openHowWeCalcPopup = () => {
    openPopup(`
                <div class="hv-popup__text-header">
                <h5 class="lp-h5 hv-popup__title">How we calculate your estimate</h2>
                <p class="text-neutral hv-popup__lead">Luxury Presence Home Value is the current estimated value of this home.
                It is calculated from a comprehensive database which encompasses properties from all 50 states, 
                covering 99% of the US population, and valuation software developed by Automated Valuation Model (AVM) Analytics.</p>
                </div>
                `);
  };
  const processValuation = valuationResult => {
    addressValuation = valuationResult && valuationResult.valueDollars ? new Intl.NumberFormat("en-US", {
      style: "currency",
      currency: "USD",
      maximumFractionDigits: 0,
      minimumFractionDigits: 0
    }).format(valuationResult.valueDollars) : VALUATION_ERROR;
    $propertyValuationInput.val(addressValuation);
    $propertyValuationOutput.text(addressValuation);
    initMap(validAddressData.result);
    uiShowScene("auth", "default");
    uiShowScene("result", "default");
    uiShowScene("value", "placeholder");
    setTimeout(() => {
      lpUI.showModal(MODAL_ID, {
        scrollLock: true
      });
    }, 5000);
  };
  const showLoader = () => {
    let $line = $loader.find('.line');
    $loader.prop('hidden', false);
    $line.prop('Counter', 0).animate({
      Counter: 100
    }, {
      duration: 6000,
      easing: 'swing',
      step: function (now) {
        $line.css('width', now + '%');
      }
    });
  };
  function mapGooglePlacesAddressToFields(validAddressData) {
    const addressRequest = {};
    const addressComponentKeys = {
      street_number: "streetNumber",
      route: "streetName",
      administrative_area_level_1: "state",
      postal_code: "zipcode",
      subpremise: "addressLine2"
    };
    validAddressData?.result?.address?.addressComponents?.forEach(comp => {
      const param = addressComponentKeys[comp.componentType];
      if (param && comp.componentName?.text) {
        addressRequest[param] = comp.componentName.text;
      }
    });
    const cityComponentTypes = ['locality', 'sublocality_level_1', 'neighborhood'];
    for (const cityType of cityComponentTypes) {
      const comp = validAddressData?.result?.address?.addressComponents?.find(c => c.componentType === cityType && c.componentName?.text);
      if (comp?.componentName?.text) {
        addressRequest.city = comp.componentName.text;
        break;
      }
    }
    return addressRequest;
  }
  const sendHomeValuationEmailAndLeadEvent = async () => {
    let sendHomeValuationEmailApiUrl = `${window.luxuryPresence.config.websiteApiGatewayUrl}/api/v1/home-valuation`;
    const homeValuationAddress = inputAddressVal;
    let homeValuationEstimate = addressValuation;
    if (addressValuation === VALUATION_ERROR) {
      homeValuationEstimate = null;
    }
    const utm = window.localStorage.getItem('utm_vars') || '{}';
    const addressRequest = mapGooglePlacesAddressToFields(validAddressData);
    let homeValPostRequest = {
      pageId: window.luxuryPresence.config.pageId,
      formId: sectionDomId.slice(8),
      homeValuationAddress: homeValuationAddress,
      homeValuationEstimate: homeValuationEstimate,
      websiteId: window.luxuryPresence.config.websiteId,
      companyId: window.luxuryPresence.config.companyId,
      sourceUrl: window.location.href,
      leadFullName: $section.find('[name="name"]')[0].value,
      leadEmailAddress: $section.find('[name="email"]')[0].value,
      leadPhoneNumber: $section.find('[name="phone"]')[0].value,
      address: addressRequest,
      coordinates: {
        latitude: validAddressData?.result?.geocode?.location?.latitude ?? null,
        longitude: validAddressData?.result?.geocode?.location?.longitude ?? null
      },
      ...JSON.parse(utm)
    };
    if (window.luxuryPresence.config.pageMeta.sourceResource) {
      homeValPostRequest.sourceResource = window.luxuryPresence.config.pageMeta.sourceResource;
    }
    if (window.luxuryPresence.config.pageMeta.pageElementId) {
      homeValPostRequest.pageElementId = window.luxuryPresence.config.pageMeta.pageElementId;
    }
    logLeadEvent('home_valuation_submission_started', homeValPostRequest);
    try {
      const result = await executeWithRetry(async () => {
        const controller = new AbortController();
        const timeoutId = setTimeout(() => controller.abort(), 10000);
        try {
          const response = await fetch(sendHomeValuationEmailApiUrl, {
            method: "POST",
            body: JSON.stringify(homeValPostRequest),
            headers: {
              "Content-Type": "application/json"
            },
            signal: controller.signal
          });
          clearTimeout(timeoutId);
          if (!response.ok) {
            const error = new Error('Request failed');
            error.status = response.status;
            throw error;
          }
          const responseData = await response.json();
          return responseData;
        } catch (error) {
          clearTimeout(timeoutId);
          throw error;
        }
      });
      logLeadEvent('home_valuation_submission_success', homeValPostRequest);
      if (result?.status === 'success' && typeof result?.redirectUrl === 'string') {
        try {
          const url = new URL(result.redirectUrl, window.location.origin);
          if (url.protocol === 'http:' || url.protocol === 'https:') {
            addressValuationRedirectUrl = url;
          }
        } catch (error) {
          console.warn('Invalid redirect URL:', result.redirectUrl);
        }
      }
      uiShowResult();
      if (addressValuationRedirectUrl) {
        window.location.href = addressValuationRedirectUrl.href;
      }
      return result;
    } catch (error) {
      error.userMessage = getUserFriendlyErrorMessage(error);
      logLeadEvent('home_valuation_submission_failed', homeValPostRequest, error);
      console.error("Error sending home valuation email:", error);
      showSubmissionError(error.userMessage);
    }
  };
  const getAddressValidation = async addressStr => {
    return await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${window.luxuryPresence.mapApiLoader.apiKey}`, {
      method: "POST",
      body: JSON.stringify({
        address: {
          addressLines: [addressStr]
        },
        enableUspsCass: false
      })
    }).then(data => data.json());
  };
  const setValuation = async () => {
    showLoader();
    try {
      const homeValURL = new URL(`${window.luxuryPresence.config.websiteApiGatewayUrl}/api/v1/home-valuation`);
      if (validAddressData.result && validAddressData.result.address.addressComponents) {
        const addressParams = mapGooglePlacesAddressToFields(validAddressData);
        Object.entries(addressParams).forEach(_ref => {
          let [key, value] = _ref;
          if (value !== undefined && value !== null) {
            homeValURL.searchParams.append(key, value);
          }
        });
      }
      const response = await fetch(homeValURL);
      if (!response.ok) {
        throw new Error(response.status);
      }
      const data = await response.json();
      if (data) {
        processValuation(data);
      }
    } catch (e) {
      addressValuation = VALUATION_ERROR;
      $propertyValuationInput.val(addressValuation);
      $propertyValuationOutput.text(addressValuation);
      initMap(validAddressData?.result);
      uiShowScene("auth", "default");
      uiShowScene("result", "default");
      uiShowScene("value", "placeholder");
      setTimeout(() => {
        lpUI.showModal(MODAL_ID, {
          scrollLock: true
        });
      }, 5000);
    }
  };
  const gapi = window.luxuryPresence.mapApiLoader.load().then(() => {
    service = new google.maps.places.AutocompleteService();
  });
  const $inputBlock = $section.find(".js-address-search");
  const $searchResults = $inputBlock.find(".search-results");
  const $resultsContainer = $inputBlock.find(".results-container");
  const $searchLoader = $inputBlock.find(".search-in-progress");
  const $searchWrapper = $section.find('.search-wrapper');
  let searchKw = null;
  let searchActive = false;
  let isLoading = false;
  const searchDelay = 300;
  function searchAddress(term) {
    const request = {
      input: term,
      types: ["address"],
      componentRestrictions: {
        country: ["us"]
      }
    };
    isLoading = true;
    return new Promise(function (resolve, reject) {
      gapi.then(function () {
        service.getPlacePredictions(request, function (results, status) {
          if (status !== google.maps.places.PlacesServiceStatus.OK) {
            resolve(null);
            return;
          }
          if (!Array.isArray(results)) {
            resolve(null);
            return;
          }
          resolve(results);
        });
      }).finally(() => {
        isLoading = false;
      });
    });
  }
  function doSearch(term) {
    showSearchLoading();
    searchAddress(term).then(function (res) {
      if (term !== searchKw) {
        return;
      }
      setResults(res);
    });
  }
  function clearSelection() {
    $searchResults.find('.selected-link').removeClass('selected-link');
  }
  function moveSelection(up) {
    var $cont = $resultsContainer.html() ? $resultsContainer : $predefined;
    var $links = $cont.find('.results-link');
    if (!$links.length) {
      return;
    }
    var idx = -1;
    $links.each(function (i) {
      if (idx === -1 && $(this).is('.selected-link')) {
        idx = i;
      }
    });
    var newIdx;
    if (up) {
      newIdx = idx - 1;
      if (newIdx < 0) {
        newIdx = $links.length - 1;
      }
    } else {
      newIdx = idx + 1;
      if (newIdx > $links.length - 1) {
        newIdx = 0;
      }
    }
    if (newIdx !== idx) {
      $searchResults.find('.selected-link').removeClass('selected-link');
      $($links.get(newIdx)).addClass('selected-link');
    }
  }
  function inputChanged(ev) {
    if (ev.which === 38) {
      ev.preventDefault();
      moveSelection(true);
      return false;
    }
    if (ev.which === 40) {
      ev.preventDefault();
      moveSelection();
      return false;
    }
    if (ev.which === 13) {
      $lnk = $searchResults.find('.selected-link');
      if ($lnk.length) {
        $lnk[0].click();
        $lnk.removeClass('selected-link');
        hideSearchResults();
        window.clearTimeout(btnTimeout);
        btnTimeout = window.setTimeout(function () {
          btnContinue.click();
        }, 500);
      }
    }
    window.clearTimeout(newSearchTimer);
    newSearchTimer = window.setTimeout(startSearch, searchDelay);
  }
  function showSearchResults() {
    searchActive = true;
    updateSearchDisplay();
  }
  function hideSearchResults() {
    searchActive = false;
    updateSearchDisplay();
  }
  function showSearchLoading() {
    updateSearchDisplay();
  }
  function hideSearchLoading() {
    updateSearchDisplay();
  }
  function updateSearchDisplay() {
    if (!searchActive) {
      $searchResults.removeClass("show");
      $searchResults.css("height", "0");
      content.removeClass("results-visible");
      return;
    }
    const hasResults = !!$resultsContainer.html();
    if (hasResults) {
      $searchLoader.addClass("not-visible");
      $resultsContainer.removeClass("not-visible");
      content.addClass("results-visible");
    } else if (isLoading) {
      $resultsContainer.addClass("not-visible");
      $searchLoader.removeClass("not-visible");
    } else {
      $resultsContainer.addClass("not-visible");
      $searchLoader.addClass("not-visible");
      content.removeClass("results-visible");
    }
    let height = 0;
    height += $resultsContainer[0].getBoundingClientRect().height;
    height += $searchLoader[0].getBoundingClientRect().height;
    if (height > 0) {
      $searchResults.addClass("show");
    } else {
      $searchResults.removeClass("show");
    }
    $searchResults.css("height", height + "px");
  }
  function setResults(results) {
    hideSearchLoading();
    if (!results) {
      $resultsContainer.html("");
      updateSearchDisplay();
      return;
    }
    if (!results.length) {
      updateSearchDisplay();
      return;
    }
    var filteredResults = results.filter(function (result) {
      var mainText = result.structured_formatting?.main_text || '';
      return /^\d+/.test(mainText);
    });
    if (!filteredResults.length) {
      $resultsContainer.html('<div class="nothing-found address-error-message">Please enter a valid home address</div>');
      updateSearchDisplay();
      return;
    }
    const resultsHtml = makeResultsBlockHtml("", filteredResults.map(function (result) {
      const mainTextMatchedString = result.structured_formatting.main_text.substring(result.structured_formatting.main_text_matched_substrings[0].offset, result.structured_formatting.main_text_matched_substrings[0].length);
      const restOfTerm = result.structured_formatting.main_text.substring(result.structured_formatting.main_text_matched_substrings[0].length);
      return `<a class="results-link l14" data-value="${result.description}" data-place-id="${result.place_id}">
        <span class="main-text"> 
        <span class="highlighted l14 l14--semibold">${mainTextMatchedString}</span>${restOfTerm}, </span>
        <span class="secondary-text">${result.structured_formatting.secondary_text ? result.structured_formatting.secondary_text : ""}</span>
        </a>`;
    }));
    $resultsContainer.html(resultsHtml);
    updateSearchDisplay();
  }
  function startSearch() {
    const term = inputAddress.val();
    if (term === searchKw) {
      return;
    }
    searchKw = term;
    if (term) {
      doSearch(term);
    } else {
      setResults(null);
    }
  }
  function makeResultsBlockHtml(title, links) {
    if (!links || !links.length) {
      return "";
    }
    let html = '<div class="results-block">';
    html += '<div class="results-block-title">';
    html += '<div class="results-title-label">' + title + "</div></div>";
    html += links.join("") + "</div>";
    return html;
  }
  function doneTyping() {
    inputAddressVal = inputAddress.val();
  }
  function addressValidated(data, val) {
    validAddressData = data;
    const addressComponents = validAddressData?.result?.address?.addressComponents || [];
    const hasStreetNumber = addressComponents.some(function (comp) {
      return comp.componentType === 'street_number';
    });
    const selectedAddress = validAddressData?.result?.address?.formattedAddress || val;
    inputAddress.val(selectedAddress);
    if (!hasStreetNumber) {
      btnContinue.attr("disabled", true);
      validAddressData = null;
      $resultsContainer.html('<div class="nothing-found address-error-message">Please enter a valid home address</div>');
      searchActive = true;
      updateSearchDisplay();
      return;
    }
    doneTyping();
    btnContinue.attr("disabled", false);
    inputAddressVal = selectedAddress;
  }
  $inputBlock.on("click", ".results-link", function () {
    const val = $(this).data("value");
    hideSearchResults();
    if (!val) {
      return;
    }
    getAddressValidation(val.replace("#", "Unit ")).then(function (data) {
      addressValidated(data, val);
    });
  });
  let newSearchTimer;
  let btnTimeout;
  btnContinue.on("click", function () {
    inputAddressVal = inputAddress.val();
    if (inputAddressVal) {
      setAddress(inputAddressVal);
      setValuation();
      btnContinue.attr("disabled", true);
    }
  });
  function formatPhoneNumber() {
    let phone = btnPhone.data("number") + "";
    phone = phone.replace(/\D/g, "");
    phone = phone.slice(0, 3) + " " + phone.slice(3, 6) + " " + phone.slice(6);
    btnPhone.html("Call " + phone);
  }
  formatPhoneNumber();
  btnBack.on("click", closeModal);
  btnContact.on("click", closeModal);
  function closeModal() {
    $loader.prop('hidden', true);
    uiShowScene("main", "form");
    btnContinue.attr("disabled", false);
    lpUI.hideModal(MODAL_ID);
    inputAddress.focus();
  }
  inputAddress.on("keyup", function () {
    btnContinue.attr("disabled", true);
    validAddressData = null;
  });
  $(howWeCalcBtn).on("click", () => openHowWeCalcPopup());
  function buildMailtoLink(linkEl) {
    let address = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Private Address";
    let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    const mailtoHref = linkEl?.href.replace(/\?.*/, "");
    const emailSubject = "I'm interested in selling my home";
    const agentName = document.querySelector(`#${sectionDomId} .agent-card__name`)?.textContent.trim() || "Agent";
    const sourceUrl = window.location.href;
    const emailBody = `Hi ${agentName},
I'm looking for more information on selling a property. I received the valuation below from your website, and would like to discuss the available options with you.
                                                            
🏠 Address: ${address}
💰 Valuation: ${value}
🌐 Website: ${sourceUrl}
                                                            
When would be the best time to meet?
Looking forward to hearing from you.`;
    const newHref = mailtoHref + "?subject=" + encodeURIComponent(emailSubject) + "&body=" + encodeURIComponent(emailBody);
    return newHref;
  }
  function uiShowResult() {
    if (addressValuation === VALUATION_ERROR) {
      uiShowScene("result", "error");
    } else if (!addressValuationRedirectUrl) {
      uiShowScene("result", "default");
      uiShowScene("value", "value");
    } else {
      uiShowScene("result", "default");
      uiShowScene("value", "placeholder");
    }
    $valueModal.addClass("js-result-shown");
    $valueModal.find(".hv-modal__body").scrollTop(0);
    uiShowScene("main", "agent");
    if (btnMail.length && btnMail.attr("href").indexOf("mailto:") >= 0) {
      btnMail.attr("href", buildMailtoLink(btnMail[0], inputAddressVal, addressValuation));
    }
  }
  $form.on("reset", function (e) {
    inputAddress.val("");
  });
  window.onSuccessValCb = function () {
    uiShowResult();
  };
  const EVENT_NAME = "oauthSuccess";
  window.removeEventListener(EVENT_NAME, window.onSuccessValCb);
  window.addEventListener(EVENT_NAME, window.onSuccessValCb);
  function handleError(e) {
    const {
      buyerSellerServiceUrl = "https://bss.luxurypresence.com"
    } = window.luxuryPresence.config;
    if (e.origin === buyerSellerServiceUrl && e.data.event === "login failed") {
      if (e.data.provider === "FACEBOOK") {
        document.querySelector("#" + sectionDomId + ' iframe[data-signin-type="facebook-sign-in"]').remove();
      } else if (e.data.provider === "GOOGLE") {
        document.querySelector("#" + sectionDomId + ' iframe[data-signin-type="google-sign-in"]').remove();
      }
      if (!document.querySelector("#" + sectionDomId + " iframe[data-signin-type]")) {
        uiShowScene("auth", "error");
      }
    }
  }
  inputAddress.on('focus', showSearchResults);
  inputAddress.on('keyup focus', inputChanged);
  $searchResults.on('mouseenter', '.results-link', function (ev) {
    clearSelection();
  });
  function outsideClickHandler(e) {
    if ($searchWrapper.find($(e.target)).length > 0) {
      return;
    }
    hideSearchResults();
  }
  $(document).on('click', outsideClickHandler);
  window.addEventListener("message", handleError);
  window.onSuccessCallback = function () {};
  $form.on("submit", async function (e) {
    e.preventDefault();
    hideSubmissionError();
    const submitBtn = $form.find('button[type="submit"]');
    submitBtn.prop('disabled', true).addClass('loading');
    try {
      await sendHomeValuationEmailAndLeadEvent();
    } catch (error) {} finally {
      submitBtn.prop('disabled', false).removeClass('loading');
    }
  });
})('section-e5c9524f-e805-4382-87ab-d0f7f2c145b4', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-11ab2e0f-8f29-4b7e-955f-09669f47f7dd', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var $contactForm = $('#' + sectionDomId + ' .newsletter-signup__form');
  $contactForm.find('.contact-form__reset').click(function (e) {
    e.preventDefault();
    $(this).closest('form').removeClass('success').trigger("reset");
  });
  $contactForm.find('input[name="name"]').on("keyup", function () {
    if (this.value.replaceAll(/\d/g, "").trim() === "") {
      this.setCustomValidity("Please enter your name.");
    } else {
      this.setCustomValidity("");
    }
  });
  const form = $("#" + sectionDomId).find("form");
  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
  form.on("reset", function () {
    redirectPage(redirectLink);
  });
  function redirectPage(link) {
    if (link.length) {
      const rawHref = link.attr('href');
      link.attr('href', setHttp(rawHref));
      link[0].click();
    }
  }
  function setHttp(link) {
    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
      link = 'http://' + link;
    }
    return link;
  }
})('section-fb1a9254-6541-4e75-ad06-56093140b8a9', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var slider = $('#' + sectionDomId + ' .js-slick');
  var arrows = slider.data('arrows-style') || '';
  slider.slick({
    slidesToShow: slider.hasClass('collection--3') ? 3 : 2,
    prevArrow: `<button class='lp-arrow lp-arrow--prev lp-arrow--dark ${arrows}'>prev</button>`,
    nextArrow: `<button class='lp-arrow lp-arrow--next lp-arrow--dark ${arrows}'>next</button>`,
    appendArrows: slider.closest('.section').find('.arrows'),
    infinite: true,
    responsive: [{
      breakpoint: 1024,
      settings: {
        slidesToShow: 2,
        slidesToScroll: 2
      }
    }, {
      breakpoint: 769,
      settings: {
        slidesToShow: 1,
        slidesToScroll: 1
      }
    }]
  });
})('section-f41d90f9-141f-4e0e-a0e2-071e5cb27a9b', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $section = $('#' + sectionDomId);
  if ($section.find('.parallax').length) $section.addClass('parallax-enabled');
  if ($section.find('.video-wrapper').length) $section.addClass('video');
})('section-0923d516-1d3f-461f-9f05-dc166f462b51', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId, options) {
  let section = null;
  switch (sectionDomId) {
    case 'NAVBAR':
      section = document.querySelector('body > nav, #global-navbar');
      break;
    case 'FOOTER':
      section = document.querySelector('body > footer, #global-footer');
      break;
    case 'SIDEMENU':
      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
      break;
    case 'CONTACT':
      section = document.querySelector('#modal-global-contact-us');
      break;
    case 'MOBILE_CONTACT':
      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
      break;
    case 'SUBSCRIBE':
      // Subscribe Not Implemented
      section = null;
      break;
    case 'ACCOUNT':
      // Account Not Implemented
      section = null;
      break;
    default:
      section = document.querySelector('#' + sectionDomId);
  }
  if (!section) {
    return;
  }
  var url = window.luxuryPresence.defaults.apiGatewayUrl;
  var companyId = window.luxuryPresence.defaults.companyId;
  var limit = options.limit || 8;
  if (typeof limit === 'string') {
    limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected
  }
  var templateSelector = options.templateSelector || '.jsIGTemplate';
  var containerSelector = options.containerSelector || '.jsIGContainer';
  var hasDataClass = options.hasDataClass || 'has-data';
  var hideActivateMessage = options.hasDataClass || false;
  var payload = {
    companyId: companyId,
    limit: limit
  };
  if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) {
    payload.resourceId = options.resourceId;
    payload.resource = options.resource || 'agent';
    payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true;
  }
  var query = 'query InstagramFeed (\n' + '  $companyId: String\n' + '  $instagramAuthorizationId: String\n' + '  $username: String\n' + (payload.resourceId ? '$resource: InstagramAuthResourceEnum\n $resourceId: ID\n $fallbackToNoResource: Boolean' : '') + '  $limit: Int\n' + ') {\n' + '  instagramFeed (\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';
  var templateHTML = section.querySelector(templateSelector)?.innerHTML || '';
  var template = Handlebars.compile(templateHTML);
  var container = section.querySelector(containerSelector);
  if (options.variables) {
    Object.keys(options.variables).forEach(function (key) {
      if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) {
        payload[key] = options.variables[key];
      }
    });
  }
  function getData() {
    var feed = {
      error: true
    };
    superagent.post(url + '/graphql').withCredentials() // for EB
    .send({
      query: query,
      variables: payload
    }).then(res => {
      try {
        if (!res.body.errors) {
          feed = res.body.data.instagramFeed;
          if (!feed.active) {
            if (!hideActivateMessage && sectionDomId === 'section-temp' && container) {
              if (payload.resourceId) {
                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>';
              } else {
                container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>';
              }
            }
          } else {
            if (feed.items.length) {
              if (hasDataClass) {
                section.classList.add(hasDataClass);
              }
              const feedName = feed.username;
              section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl));
              section.querySelectorAll('.jsIGName').forEach(name => {
                name.textContent = '@' + feedName;
                name.setAttribute('title', '@' + feedName);
              });
              if (container && template) {
                container.innerHTML = template(feed);
              }
            }
          }
        }
      } catch (e) {}
      section.dispatchEvent(new CustomEvent('ig-data', {
        detail: feed
      }));
    }).catch(e => {
      console.log('err', e);
      section.dispatchEvent(new CustomEvent('ig-data', {
        detail: feed
      }));
    });
  }
  getData();
})('section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d', JSON.parse("{\"companyId\":\"9432ede2-5ddc-46a1-b803-68b15f1e0f98\",\"sectionIndex\":12}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  $("#" + sectionDomId).on("ig-data", function () {
    let title = $("#" + sectionDomId + " .js-slider-holder").data("title");
    if (title) {
      $("#" + sectionDomId + " .js-h3").text(title);
    }
    if (window.matchMedia("(max-width: 768px)").matches) {
      $("#" + sectionDomId + " .js-slider-holder").before($("#" + sectionDomId + " .js-title-group").clone());
    }
    $("#" + sectionDomId + " .js-collection .js-title-group").remove();
    function buildSlick() {
      $('#' + sectionDomId + ' .js-collection').slick({
        autoplay: true,
        arrows: false,
        speed: 0,
        autoplaySpeed: 6000,
        dots: false,
        infinite: true,
        slidesToShow: 4,
        slidesToScroll: 4,
        cssEase: 'linear',
        variableWidth: true,
        centerMode: false,
        swipe: false,
        responsive: [{
          breakpoint: 1024,
          settings: {
            slidesToShow: 2,
            slidesToScroll: 2
          }
        }, {
          breakpoint: 768,
          settings: {
            slidesToShow: 4,
            slidesToScroll: 4
          }
        }]
      });
    }
    if ($("#" + sectionDomId + " .js-collection").length) {
      if ($("#" + sectionDomId + " .js-collection").hasClass('slick-initialized')) {
        $("#" + sectionDomId + " .js-collection").slick('unslick');
        buildSlick();
      } else {
        buildSlick();
      }
    }
  });
})('section-f0ae77a3-a2b4-4991-b8bf-5f52f6dad30d', 'undefined');
} catch(e) {
console.log(e);
}

            var { body } = document;
            var globalNav = body.querySelector(':scope > nav');
            var globalSideMenu = body.querySelector(':scope > div.sidemenu');

            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
                modalCloseBtn.addEventListener('click', function() {
                window.lpUI.hideClosestModal(modalCloseBtn);
              });
            });

            window.addEventListener('click', function() {
                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
                    sharedPopup.style.display = 'none' ;
                });
            });

            /* Misc Partials / Addons */
            function initWOW() {
                if (wow) {
                    wow.init();
                    wow.scrollHandler();
                    setTimeout(function () {
                        const wowHideStyle = document.getElementById('wow-hide-elements');
                        if(wowHideStyle) {
                            wowHideStyle.disabled = true;
                        }
                    }, 1);
                }
            }

            const wowHideElements =  document.getElementById('wow-hide-elements');
            if (wowHideElements) {
               wowHideElements.disabled = false;
            }

                initWOW();

            /* Generic Navbar Handling */
            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
                hamburgerComponent.addEventListener('click', function() {
                window.lpUI.sideMenuToggle();
              });
            });
            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
                toggleEl.addEventListener('click', function() {
                window.lpUI.sideMenuToggle();
              });
            });

            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
                linkEl.addEventListener('click', function(e) {
                  e.preventDefault();
                  e.stopPropagation();
                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
                  if (subNav && subNav.classList.contains('visible')){
                    subNav.classList.remove('visible');
                  } else {
                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
                      globalSubNav.classList.remove('visible');
                    });
                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
                        sideMenuSubNav.classList.remove('visible');
                    });
                    subNav?.classList.add('visible');
                  }
                });
            });
            window.addEventListener('click', function() {
                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
                    subNavEl.classList.remove('visible');
                });
            });

        }

        document.addEventListener('DOMContentLoaded', lpGlobalInit);

    </script>

    <script type="module">
    function selectorExists(selector) {
        return document.querySelector(selector) !== null;
    }

    // Function to initialize the third-party library
    function initParoller(selector = '.my-paroller') {
        var $parollerElements = $(selector);
        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
            $parollerElements.paroller();
        }
    }

    const parollerSelector = '.my-paroller';

    if (selectorExists(parollerSelector)) {
        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
            initParoller(parollerSelector);
            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
        });
    }
    </script>

            <!-- Google Tag Manager (noscript) -->
            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T9SFQGHZ"
            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
            <!-- End Google Tag Manager -->
        
            <script src="https://cdn.userway.org/widget.js" data-account="n1DRbtZoc3" defer onload="onAccessibilityWidgetLoaded()"></script>
            <script>
                function onAccessibilityWidgetLoaded() {
                    var MS_IN_TWO_MINUTES = 120000;
                    window.setTimeout(function() {
                        var accessibilityWidget = document.querySelector('.uwy:not(.uon)');
                        if (accessibilityWidget) {
                            accessibilityWidget.style.display = 'none';
                        }
                    }, MS_IN_TWO_MINUTES);
                }
            </script>
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a06c66fe1e94dd24',t:'MTc4MDYzMzQxMA=='};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></body>
</html>
