<!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>Top Maine Real Estate Agents | Veronica Schneider</title>
        <meta property="og:title" content="Top Maine Real Estate Agents | Veronica Schneider">
        <meta name="twitter:title" content="Top Maine Real Estate Agents | Veronica Schneider">
        <meta name="description" content="Welcome to Maine Real Estate with Veronica Schneider - Your premier destination for finding your dream home in beautiful Maine. Start your search today!">
        <meta property="og:description" content="Welcome to Maine Real Estate with Veronica Schneider - Your premier destination for finding your dream home in beautiful Maine. Start your search today!">
        <meta name="twitter:description" content="Welcome to Maine Real Estate with Veronica Schneider - Your premier destination for finding your dream home in beautiful Maine. Start your search today!">
        <meta property="og:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/6f644f21-add8-4539-84f8-8b8f1903900f">
        <meta name="twitter:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/6f644f21-add8-4539-84f8-8b8f1903900f">
        <meta property="og:url" content="https://veronicaschneider.com/">
        <link rel="canonical" href="https://veronicaschneider.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=Playfair%20Display:400,500,600,700,800,900,400i,500i,600i,700i,800i,900i"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,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:'Playfair Display',serif;--global-primary-font-family-short:Playfair Display;--global-secondary-font-family:Lato,sans-serif;--global-secondary-font-family-short:Lato;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:70px;--global-h2-font-size:43px;--global-h3-font-size:30px;--global-h4-font-size:21px;--global-h5-font-size:17px;--global-h6-font-size:16px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Lato,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Playfair Display',serif;}h1{font-size:70px;}h2{font-size:43px;}h3{font-size:30px;}h4{font-size:21px;}h5{font-size:17px;}h6{font-size:16px;}</style>
        <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/producer/index.css" />
    <style id="website-css">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;}:root{--primary-dark:#000000;--primary-light:#ffffff;--accent-dark:#042D49;--secondary:#E3DFDB;--accent-light:#ffffff;--background-dark-inactive:rgba(0, 0, 0, 0.05);--background-light-inactive:rgba(255, 255, 255, 0.1);--border-dark-inactive:rgba(0, 0, 0, 0.125);--border-dark-active:rgba(0, 0, 0, 0.75);--border-light-inactive:rgba(255, 255, 255, 0.25);--border-light-active:rgba(255, 255, 255, 0.75);--typography-dark:#000000;--typography-light:#ffffff;--text-case:uppercase;}h1,h2,h3,h4,h5,h6{text-transform:var(--text-case)!important;}a.lp-link,span.lp-link,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav),span.link,a[href="/terms-and-conditions"],footer li.footer-navigation__item>*,footer a:not(.lp-socials__link),a.sidebar__nav-link{position:relative;-webkit-transition:0.4s;transition:0.4s;opacity:1;-webkit-text-decoration:none!important;text-decoration:none!important;}a.lp-link:before,span.lp-link:before,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):before,span.link:before,a[href="/terms-and-conditions"]:before,footer li.footer-navigation__item>*:before,footer a:not(.lp-socials__link):before,a.sidebar__nav-link:before,a.lp-link:after,span.lp-link:after,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):after,span.link:after,a[href="/terms-and-conditions"]:after,footer li.footer-navigation__item>*:after,footer a:not(.lp-socials__link):after,a.sidebar__nav-link:after{opacity:1;-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none;text-decoration:none;line-height:1;content:"";height:1px;position:absolute;bottom:0;left:0;}a.lp-link:before,span.lp-link:before,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):before,span.link:before,a[href="/terms-and-conditions"]:before,footer li.footer-navigation__item>*:before,footer a:not(.lp-socials__link):before,a.sidebar__nav-link:before{width:100%;background:rgb(from currentColor r g b / 15%)!important;}a.lp-link:after,span.lp-link:after,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):after,span.link:after,a[href="/terms-and-conditions"]:after,footer li.footer-navigation__item>*:after,footer a:not(.lp-socials__link):after,a.sidebar__nav-link:after{width:0%;background:rgb(from currentColor r g b / 100%)!important;}a.lp-link:hover,span.lp-link:hover,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):hover,span.link:hover,a[href="/terms-and-conditions"]:hover,footer li.footer-navigation__item>*:hover,footer a:not(.lp-socials__link):hover,a.sidebar__nav-link:hover{-webkit-text-decoration:none!important;text-decoration:none!important;}a.lp-link:hover:after,span.lp-link:hover:after,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):hover:after,span.link:hover:after,a[href="/terms-and-conditions"]:hover:after,footer li.footer-navigation__item>*:hover:after,footer a:not(.lp-socials__link):hover:after,a.sidebar__nav-link:hover:after{width:100%;}@media (max-width: 768px){a.lp-link,span.lp-link,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav),span.link,a[href="/terms-and-conditions"],footer li.footer-navigation__item>*,footer a:not(.lp-socials__link),a.sidebar__nav-link{-webkit-text-decoration:underline;text-decoration:underline;}a.lp-link:before,span.lp-link:before,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):before,span.link:before,a[href="/terms-and-conditions"]:before,footer li.footer-navigation__item>*:before,footer a:not(.lp-socials__link):before,a.sidebar__nav-link:before,a.lp-link:after,span.lp-link:after,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):after,span.link:after,a[href="/terms-and-conditions"]:after,footer li.footer-navigation__item>*:after,footer a:not(.lp-socials__link):after,a.sidebar__nav-link:after{display:none;}a.lp-link:hover,span.lp-link:hover,a.link:not(.sub-nav-heading):not(.sub-nav-link):not(.main-nav):hover,span.link:hover,a[href="/terms-and-conditions"]:hover,footer li.footer-navigation__item>*:hover,footer a:not(.lp-socials__link):hover,a.sidebar__nav-link:hover{color:var(--accent-dark);}}a[href="/terms-and-conditions"]{display:inline-block;}div.custom-select div.custom-select-menu div.custom-select-content{padding-top:0px!important;padding-bottom:0px!important;background:var(--primary-light)!important;}div.custom-select div.custom-select-menu div.custom-select-content button.custom-select-item{color:var(--typography-dark)!important;}div.custom-select div.custom-select-menu div.custom-select-content button.custom-select-item:hover,div.custom-select div.custom-select-menu div.custom-select-content button.custom-select-item:is(.is-selected){color:var(--typography-light)!important;background:var(--accent-dark)!important;}div.pagination-container div.paginationjs div.paginationjs-pages ul{gap:16px;}div.pagination-container div.paginationjs div.paginationjs-pages ul li.paginationjs-prev,div.pagination-container div.paginationjs div.paginationjs-pages ul li.paginationjs-next{margin-left:0px;margin-right:0px;}div.pagination-container div.paginationjs div.paginationjs-pages ul li.J-paginationjs-page a{margin:0px!important;}nav#global-navbar div.container{max-width:1400px;padding-left:50px;padding-right:50px;}@media (max-width: 768px){nav#global-navbar div.container{padding-left:25px;padding-right:25px;}}nav#global-navbar{-webkit-transition:0.4s;transition:0.4s;-webkit-transform:unset!important;-moz-transform:unset!important;-ms-transform:unset!important;transform:unset!important;}nav#global-navbar div.header{height:auto;-webkit-transform:unset!important;-moz-transform:unset!important;-ms-transform:unset!important;transform:unset!important;}nav#global-navbar:not(.scroll) div.header div.container div.navbar{padding-top:28px;padding-bottom:16px;}nav#global-navbar:is(.scroll) div.header div.container div.navbar{padding-top:16px;padding-bottom:16px;}nav#global-navbar div.navbar div.logo{margin-right:0px;max-width:200px;}nav#global-navbar div.navbar div.logo img{max-height:unset;}@media (max-width: 768px){nav#global-navbar div.navbar div.logo{max-width:180px;}}nav#global-navbar:not(.scroll) div.navbar div.logo img.light{display:block!important;}nav#global-navbar:not(.scroll) div.navbar div.logo img.dark{display:none!important;}nav#global-navbar:is(.scroll) div.navbar div.logo img.light{display:none!important;}nav#global-navbar:is(.scroll) div.navbar div.logo img.dark{display:block!important;}nav#global-navbar div.navbar{min-height:-webkit-fit-content;min-height:-moz-fit-content;min-height:fit-content;-webkit-transition:0.4s;transition:0.4s;}nav#global-navbar div.navbar div.navigation>ul{margin-left:0px;gap:24px;}nav#global-navbar div.navbar div.navigation>ul li.navigation__item a.navigation__link{padding:0px;}nav#global-navbar div.navbar button.hamburger{margin-left:0px;padding-left:24px;padding-right:0px;}nav#global-navbar div.navbar div.navigation>ul li.navigation__item a.navigation__link span{color:var(--typography-light);}nav#global-navbar div.navbar div.navigation>ul li.navigation__item a.navigation__link span:after{background:var(--border-light-active);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container a.navigation__link{color:var(--typography-light);}nav#global-navbar div.navbar button.hamburger span.hamburger__bars{background:var(--border-light-active);}nav#global-navbar div.navbar button.hamburger span.hamburger__bars:before,nav#global-navbar div.navbar button.hamburger span.hamburger__bars:after{background:var(--border-light-active);}nav#global-navbar:is(.scroll){background:var(--primary-light)!important;}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link,nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.sub-nav-container a.navigation__link{color:var(--typography-dark);}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link span,nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.sub-nav-container a.navigation__link span{color:var(--typography-dark);}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link:hover,nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.sub-nav-container a.navigation__link:hover{color:var(--accent-dark);}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link:hover span,nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.sub-nav-container a.navigation__link:hover span{color:var(--accent-dark);}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link span:after{background:var(--border-dark-active);}nav#global-navbar:is(.scroll) div.navbar div.navigation>ul li.navigation__item a.navigation__link:hover span:after{background:var(--accent-dark);}nav#global-navbar:is(.scroll) div.navbar button.hamburger span.hamburger__bars{background:var(--border-dark-active);}nav#global-navbar:is(.scroll) div.navbar button.hamburger span.hamburger__bars:before,nav#global-navbar:is(.scroll) div.navbar button.hamburger span.hamburger__bars:after{background:var(--border-dark-active);}nav#global-navbar:is(.scroll) div.navbar button.hamburger:hover span.hamburger__bars{background:var(--accent-dark);}nav#global-navbar:is(.scroll) div.navbar button.hamburger:hover span.hamburger__bars:before,nav#global-navbar:is(.scroll) div.navbar button.hamburger:hover span.hamburger__bars:after{background:var(--accent-dark);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav{-webkit-transform:translate(0, calc(100% + 16px));-moz-transform:translate(0, calc(100% + 16px));-ms-transform:translate(0, calc(100% + 16px));transform:translate(0, calc(100% + 16px));}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul{background:var(--primary-light);padding-top:0px;padding-bottom:0px;}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link{padding:16px 12px;cursor:pointer;}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link:hover{background:var(--accent-dark);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link:hover span{color:var(--typography-light);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link:hover span:after{background:var(--border-light-active);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link span{color:var(--typography-dark);}nav#global-navbar div.navbar div.navigation>ul li.sub-nav-container div.sub-nav>ul li.sub-nav__item a.sub-nav__link span:after{background:var(--border-dark-inactive);}div#modal-global-contact-us div.modal-content div.contact-form div.container{max-width:1300px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details h2,div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message h2{margin-bottom:32px;}@media (max-width: 768px){div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details h2,div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message h2{font-size:28px;}}@media (max-width: 768px){div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details{text-align:center;}}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details div.info-zone div.info-zone_contact:not(:has(*)){display:none;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details div.info-zone div.info-zone_contact_cell{margin-bottom:21px;max-width:100%;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-details div.info-zone div.info-zone_contact{margin-bottom:21px;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message{display:block;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message:after{display:none;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message form[data-type="contact-form"]{margin-bottom:0px;max-width:100%;}@media (max-width: 768px){div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message form[data-type="contact-form"] h2{text-align:center;}}@media (min-width: 1025px){div#modal-global-contact-us div.modal-content{min-height:100%;}div#modal-global-contact-us div.modal-content div.contact-form{min-height:100%;-webkit-align-self:stretch;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;}div#modal-global-contact-us div.modal-content div.contact-form div.container{padding:0px 96px;}div#modal-global-contact-us div.modal-content div.contact-form div.container div.section-message{padding-left:96px;gap:96px;border-left:1px solid var(--border-light-inactive);}}div#modal-global-contact-us form[data-type="contact-form"] label.lp-label{text-transform:uppercase;color:var(--typography-light);}div#modal-global-contact-us form[data-type="contact-form"] input.lp-input,div#modal-global-contact-us form[data-type="contact-form"] textarea.lp-input{border-color:var(--border-light-inactive);}div#modal-global-contact-us form[data-type="contact-form"] input.lp-input:focus,div#modal-global-contact-us form[data-type="contact-form"] textarea.lp-input:focus{border-color:var(--border-light-active);}div#modal-global-contact-us div.info-zone_contact_cell a:not(.lp-socials__link):hover{color:var(--typography-light)!important;}div#modal-global-contact-us div.info-zone_contact_cell a:not(.lp-socials__link):before{background-color:var(--border-light-inactive);width:100%;}div#modal-global-contact-us div.info-zone_contact_cell a:not(.lp-socials__link):after{background-color:var(--typography-light);}div#modal-global-contact-us div.contact-form h2{font-size:var(--global-h3-font-size);}#modal-global-contact-us div.lp-disclaimer span.lp-tcr-message{font-weight:400;}#modal-global-contact-us div.lp-disclaimer a{color:var(--typography-light)!important;-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--border-light-inactive)!important;-webkit-transition:0.4s;transition:0.4s;text-underline-offset:4px;}#modal-global-contact-us div.lp-disclaimer a:hover{text-decoration-color:var(--border-light-active)!important;}div#modal-global-contact-us div.contact-form{-webkit-background-position:center;background-position:center;}div#modal-global-contact-us button.close{top:32px;right:32px;font-size:12px;}@media (max-width: 768px){div#modal-global-contact-us button.close{top:16px;right:16px;font-size:10px;}}div#modal-global-contact-us div.contact-form ul.lp-socials{gap:24px;}div#modal-global-contact-us div.contact-form ul.lp-socials li:not(:last-child){padding-right:0px;}div#modal-global-contact-us div.contact-form ul.lp-socials li{margin-bottom:0px;}@media (max-width: 560px){div#modal-global-contact-us div.contact-form ul.lp-socials{gap:16px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}@media (max-width: 768px){div#modal-global-contact-us div.contact-form__details{text-align:center;}div#modal-global-contact-us div.socials{width:100%;}div#modal-global-contact-us div.socials ul.lp-socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}@media (max-width: 768px){#modal-global-contact-us .section-message h2{text-align:left!important;}#modal-global-contact-us .section-details{padding-top:25px;text-align:left!important;}}div.popup-modal__container button.popup-modal__close{padding-left:0px;padding-right:0px;top:16px;right:16px;}@media only screen and (max-width: 768px){div.popup-modal__container button.popup-modal__close{top:8px;right:8px;}}@media only screen and (min-width: 768px){div.popup-modal__container div.popup-modal__form-group{padding-left:72px;padding-right:72px;}}@media only screen and (max-width: 768px){div.popup-modal__container div.popup-modal__form-group{padding:32px;}}@media only screen and (max-width: 768px){div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll{padding:0px;}}div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll div.popup-modal__title-group{margin-bottom:32px;}div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll div.popup-modal__title-group h2.lp-h2{margin-top:0px;margin-bottom:8px;}div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll div.popup-modal__title-group div.lp-text--subtitle{margin-bottom:0px;}div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll div.lp-disclaimer{margin-top:16px;margin-bottom:0px;}div.popup-modal__container div.popup-modal__form-group div.popup-modal__form-scroll button.lp-btn{margin-top:32px;}div.modal-content{padding-left:56px;padding-right:56px;padding-top:64px;padding-bottom:64px;}div.modal-content div.popup-modal{max-height:800px;max-width:1400px;}@media (max-width: 768px){div.modal-content{padding-left:25px;padding-right:25px;padding-top:32px;padding-bottom:32px;}}div.popup-modal__form-field{max-width:unset!important;}div.popup-modal__title-group h2.lp-h2{font-size:var(--global-h3-font-size);color:var(--primary-dark);}div.popup-modal__title-group div.lp-text--subtitle{font-size:var(--global-body-font-size);}div.modal-content button.popup-modal__close{opacity:1000!important;}@media (max-width: 768px){div.modal-content button.popup-modal__close:before,div.modal-content button.popup-modal__close:after{background:#FFF!important;}}@media (max-width: 768px){div.modal-content{height:unset;}}@media (max-width: 768px){form.popup-modal__form{width:auto;}}div#global-mobile-contact{z-index:102;}.contact-form__content .lp-btn{background:var(--accent-dark)!important;color:var(--typography-light)!important;border-color:var(--accent-dark)!important;}.contact-form__content .lp-btn:hover{background:transparent!important;color:var(--accent-dark)!important;}div#global-mobile-contact a.search-btn{background:var(--accent-dark);}div#global-mobile-contact a.search-btn:before{color:var(--accent-light);}#global-mobile-contact .pop-up .lp-disclaimer a{color:var(--typography-dark)!important;}#global-mobile-contact .pop-up .lp-disclaimer a:hover{color:var(--accent-dark)!important;}div#global-mobile-contact div.contact-form__container h3.lp-h3{color:var(--accent-dark);}#global-mobile-contact .pop-up input,#global-mobile-contact .pop-up textarea{border-color:var(--border-dark-inactive);-webkit-text-fill-color:var(--typography-dark);}#global-mobile-contact .pop-up input:focus,#global-mobile-contact .pop-up textarea:focus{border-color:var(--border-dark-active);}#global-mobile-contact .pop-up .close-btn{color:var(--accent-dark);}@media (max-width: 768px){div#global-mobile-contact div.pop-up{height:100%;border-radius:0px;}}div#global-mobile-contact div.pop-up div.lp-container{padding:64px;}@media only screen and (max-width: 768px){div#global-mobile-contact div.pop-up div.lp-container{padding:24px 24px;}}#global-mobile-contact .pop-up{box-shadow:0px 8px 16px rgba(0, 0, 0, 0.15);}#global-mobile-contact .custom-select .custom-select-toggle{text-transform:capitalize;}div#global-mobile-contact .custom-select-toggle::after{border-color:var(--accent-dark);}div#global-mobile-contact .custom-select-toggle{color:var(--typography-dark);}@media (max-width: 768px){div#global-mobile-contact div.pop-up{height:100%;border-radius:0px;}}div#global-mobile-contact div.pop-up div.lp-container{padding:64px;}@media only screen and (max-width: 768px){div#global-mobile-contact div.pop-up div.lp-container{padding:12px 24px;}}#global-mobile-contact .pop-up{bottom:0px;}#global-mobile-contact .close-btn{top:60px;right:20px;}div#global-sidemenu .sidebar .sidebar__nav-item{border:unset!important;-webkit-text-decoration:none!important;text-decoration:none!important;}div#global-sidemenu .sidebar .sidebar__nav-item:hover{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;-webkit-transition:text-decoration-color 0.3s ease-in;transition:text-decoration-color 0.3s ease-in;}div#global-sidemenu .sidebar a:hover{color:var(--accent-dark);}div#global-sidemenu .sidebar a:hover::after{border-color:var(--accent-dark)!important;}div#global-sidemenu .sidebar a:is(.main-nav)::before{display:none!important;}div#global-sidemenu .sidebar a:is(.main-nav)::after{background:unset!important;}div#global-sidemenu .sidebar a.sidebar__subnav-link:hover{opacity:0.5!important;}#global-sidemenu a{text-transform:var(--text-case)!important;}footer#global-footer a:not(.lp-socials__link){color:var(--typography-dark)!important;}footer#global-footer a:not(.lp-socials__link):hover{color:var(--accent-dark)!important;}footer#global-footer div.info-privacy{border-color:var(--border-light-inactive);}footer#global-footer div.footer div.info-wrap div.type_user{margin-bottom:24px;}footer#global-footer div.footer{padding-top:0px;}footer#global-footer div.footer div.container{max-width:1400px;padding-top:96px;}@media (max-width: 768px){footer#global-footer div.footer div.container{padding-top:64px;}}footer#global-footer div.img_size{height:100%;max-height:80px;}footer#global-footer div.img_size img{object-position:top;margin-top:6px;}@media only screen and (min-width: 768px){footer#global-footer div.form-col--copyright div.copy_zone{text-align:right;}}footer#global-footer div.form-col--socials:not(:has(.lp-socials__link)){display:none;}@media only screen and (min-width: 1025px){footer#global-footer div.form-col--socials{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;}}@media only screen and (min-width: 768px){footer#global-footer div.form-col--copyright div.copy_zone{text-align:right;}}footer#global-footer div.footer div.info-privacy div.copy_zone a,footer#global-footer div.footer div.info-privacy div.powered_zone a{font-weight:400;}@media (max-width: 768px){footer#global-footer div.form-col:is(.form-col--copyright){padding-left:20px;padding-right:20px;width:100%;}}@media (max-width: 768px){#global-footer .luxury-text{max-width:100%;}}@media (max-width: 768px){#global-footer .first_text_footer a{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;}}</style>
    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
        <style id="page-css">
            #section-96ef5b94-296f-4401-8573-7ace79675e00{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;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .search-lease-tabs{text-transform:uppercase;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .search-lease-tabs .search-lease-tab:not(.active){background-color:var(--accent-dark)!important;color:var(--primary-light);}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.search-input-container{background:rgba(255, 255, 255, 0.75);}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.search-input-container span.search-icon{color:var(--accent-dark);}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.search-input-container input.search-input{color:var(--primary-dark);}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search{padding-top:96px;padding-bottom:96px;}@media (max-width: 768px){#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search{padding-top:128px;padding-bottom:64px;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.bottom-spacer{display:none;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:24px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.lp-title-group{margin-bottom:0px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.lp-title-group h1.opening-title{margin:0px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.lp-title-group div.opening-description{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8px;margin-bottom:0px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.lp-title-group div.opening-description>*{margin:0px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:32px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.buttons:not(:has(*)){display:none;}@media (max-width: 768px){#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.buttons{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.lp-container div.search-form{margin-top:0px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.container div.opening-description{max-width:720px;margin-left:auto;margin-right:auto;}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.search-results{background:rgb(from var(--accent-dark) r g b / 90%);}#section-96ef5b94-296f-4401-8573-7ace79675e00 div.opening-with-search div.search-results a{color:var(--typography-light);}#section-96ef5b94-296f-4401-8573-7ace79675e00{overflow:visible;z-index:1;}#section-96ef5b94-296f-4401-8573-7ace79675e00>.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-96ef5b94-296f-4401-8573-7ace79675e00>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe,#section-96ef5b94-296f-4401-8573-7ace79675e00>.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-96ef5b94-296f-4401-8573-7ace79675e00>.video-wrapper-extended>.full-screen-video-component>.video-wrapper.playing iframe,#section-96ef5b94-296f-4401-8573-7ace79675e00>.video-wrapper-extended>.full-screen-video-component>.video-wrapper.playing video{opacity:1;}#section-96ef5b94-296f-4401-8573-7ace79675e00>.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-96ef5b94-296f-4401-8573-7ace79675e00>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe{height:56.25vw;}}@media (max-aspect-ratio: 16/9){#section-96ef5b94-296f-4401-8573-7ace79675e00>.video-wrapper-extended>.full-screen-video-component>.video-wrapper iframe{width:177.78vh;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search.height-class-Full{min-height:100vh;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search.height-class-600px{min-height:600px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .opening-description{letter-spacing:.1em;margin-bottom:15px;}@media (max-width: 768px){#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .opening-description a{white-space:pre-line;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .opening-title{margin-bottom:15px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .opening-button{margin:0 15px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .lp-title-group{max-width:100%;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-form.with-filters{padding-top:32px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-button:hover{background-color:#fff;color:#000;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-lease-tabs{position:absolute;left:0;bottom:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-lease-tab{padding:4px 20px;background-color:#000;color:#fff;cursor:pointer;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-lease-tab.active{background-color:#fff;color:#000;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-wrapper{margin:5px;letter-spacing:normal;width:100%;max-width:444px;position:relative;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-container,#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .predefined-links{padding:10px 0;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-container a,#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .predefined-links a{color:#b6b6b6;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-container a:hover,#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .predefined-links a:hover{color:#fff;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .predefined-links{max-height:400px;overflow:auto;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-block{margin:15px 0;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-block-title{margin:0;padding:0 48px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-block-title .results-title-label{margin:0 20px 10px 0;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-block-title .search-near-container{margin-bottom:15px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-block:nth-child(n + 2) .search-near-container{display:none;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-link{display:block;padding:4px 48px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .results-link.selected-link{color:#fff;background-color:rgba(255, 255, 255, 0.2);}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .not-visible{display:none!important;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .nothing-found{width:100%;padding:20px;}@media (max-width: 560px){#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-form{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-button{width:100%;max-width:444px;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening-with-search .search-near{cursor:pointer;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .loc-msg-close:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);}#section-96ef5b94-296f-4401-8573-7ace79675e00 .search-near-hidden .search-near-container{display:none;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .loc-msg-title{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:20px;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .loc-msg-container{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;overflow:auto;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .loc-msg-container p{margin:0;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .loc-msg-container p+p{margin-top:1em;}#section-96ef5b94-296f-4401-8573-7ace79675e00.visible-loc-msg{z-index:1000;}#section-96ef5b94-296f-4401-8573-7ace79675e00.visible-loc-msg .loc-msg-backdrop{background-color:rgba(255,255,255,0.4);}#section-96ef5b94-296f-4401-8573-7ace79675e00.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-96ef5b94-296f-4401-8573-7ace79675e00 .opening__carousel .title-item{display:none;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .opening__carousel.visible .title-item{display:block;}#section-96ef5b94-296f-4401-8573-7ace79675e00 >*:last-child{position:relative;}#section-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .video-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;}@media screen and (max-width: 900px){#section-96ef5b94-296f-4401-8573-7ace79675e00 .video-wrapper.hidable{display:none;}}#section-96ef5b94-296f-4401-8573-7ace79675e00 .full-screen-video-component{position:relative;height:100%;overflow:hidden;}#section-96ef5b94-296f-4401-8573-7ace79675e00 video{position:absolute;z-index:-1000;width:100%;object-fit:cover;}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#section-96ef5b94-296f-4401-8573-7ace79675e00 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-96ef5b94-296f-4401-8573-7ace79675e00 .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-96ef5b94-296f-4401-8573-7ace79675e00 .poster{display:block;}}#section-188c8f37-24b7-4b81-a99d-437c45057169{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#042D49;--bgColor_H:204;--bgColor_S:90%;--bgColor_L:15%;--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:#042D49;}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__header{max-width:1200px;margin-bottom:48px;}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__header div.gallery-component__lead{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__header h2{margin-bottom:8px;}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__header p,#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__header div{font-size:var(--global-body-font-size);}@media (max-width: 768px){#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__container{padding-left:25px;padding-right:25px;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row{margin-left:0px;margin-right:0px;gap:16px;}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-2) div.gallery-component__col{-webkit-flex:1 1 calc((100% / 2) - 16px + (16px / 2));-ms-flex:1 1 calc((100% / 2) - 16px + (16px / 2));flex:1 1 calc((100% / 2) - 16px + (16px / 2));max-width:calc((100% / 2) - 16px + (16px / 2));}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-3) div.gallery-component__col{-webkit-flex:1 1 calc((100% / 3) - 16px + (16px / 3));-ms-flex:1 1 calc((100% / 3) - 16px + (16px / 3));flex:1 1 calc((100% / 3) - 16px + (16px / 3));max-width:calc((100% / 3) - 16px + (16px / 3));}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-4) div.gallery-component__col{-webkit-flex:1 1 calc((100% / 4) - 16px + (16px / 4));-ms-flex:1 1 calc((100% / 4) - 16px + (16px / 4));flex:1 1 calc((100% / 4) - 16px + (16px / 4));max-width:calc((100% / 4) - 16px + (16px / 4));}@media (max-width: 768px){#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-2) div.gallery-component__col,#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-3) div.gallery-component__col,#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row:is(.cols-4) div.gallery-component__col{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 div.gallery-component__row div.gallery-component__col{margin-left:0px;margin-right:0px;margin-bottom:0px;padding-left:0px;padding-right:0px;width:auto;}#section-188c8f37-24b7-4b81-a99d-437c45057169 a.gallery-card{height:auto;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component{padding:80px 0 60px;}}@media (min-width: 1200px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header{margin-bottom:70px;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header img{max-width:260px;height:auto;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__heading{margin-bottom:20px;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__col:first-child{margin-left:auto;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-card:hover:before{background-color:#000;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-188c8f37-24b7-4b81-a99d-437c45057169 .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-188c8f37-24b7-4b81-a99d-437c45057169 h1{color:#FFFFFF;}#section-188c8f37-24b7-4b81-a99d-437c45057169 h2{color:#FFFFFF;}#section-188c8f37-24b7-4b81-a99d-437c45057169 h3{color:#FFFFFF;}#section-188c8f37-24b7-4b81-a99d-437c45057169 p{color:#FFFFFF;}#section-188c8f37-24b7-4b81-a99d-437c45057169>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1{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-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(255, 255, 255, 1);}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.container{max-width:1300px;}@media (max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.container ul.featured-team{max-width:100%;}}@media (max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.container ul.featured-team li.slick-slide{padding-left:0px;padding-right:0px;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.featured-team-header{margin-bottom:20px!important;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav span.spacer{background-color:var(--border-dark-inactive)!important;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link{color:var(--typography-dark);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:is(.slick-disabled){opacity:0.5;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:not(.slick-disabled){cursor:pointer;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:not(.slick-disabled):hover{color:var(--accent-dark);}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:not(.slick-disabled):hover:after{width:100%;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:before{background-color:var(--border-dark-inactive)!important;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.slick-links-nav li span.link:after{background-color:var(--accent-dark)!important;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.featured-team__hover:before{border-right-color:var(--accent-dark);border-top-color:var(--accent-dark);}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 div.featured-team__hover:after{border-bottom-color:var(--accent-dark);border-left-color:var(--accent-dark);}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section{padding:140px 0;text-align:center;}@media(max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section{padding:40px 0;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-arrow:not(.slick-disabled){cursor:pointer;}@media (min-width: 1480px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .container{padding-left:0;padding-right:0;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0 0 0;padding:28px 0 0;white-space:nowrap;}@media (max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav{padding:0;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav li{display:inline-block;vertical-align:top;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav li+li{margin-left:40px;position:relative;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav .slick-hidden+.spacer{display:none;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav .spacer{position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:currentColor;pointer-events:none;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav .link.slick-disabled:before,#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-section .slick-links-nav .link.slick-disabled:after{opacity:0;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:60px;text-align:left;}@media (max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-header{display:block;margin-bottom:40px;text-align:center;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-header h2{margin:0;}@media (max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 .featured-team-header h2{margin-bottom:25px;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team{margin:0 -30px 60px;padding:0;list-style:none;}@media(max-width: 991px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team{margin:0 -10px;}}@media(max-width: 768px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team{max-width:276px;margin:0 auto;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team li{padding:0 30px 10px;}@media(max-width: 991px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team li{padding:0 10px;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__img{width:100%;padding-bottom:128%;position:relative;vertical-align:top;background-color:#acacac;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__img img{object-fit:cover;position:absolute;top:0;left:0;width:100%;height:100%;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder{position:relative;display:block;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder:before{content:'';top:0;left:0;width:100%;height:100%;position:absolute;background-color:rgba(39, 39, 39, 0.7);z-index:1;opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;}@media(min-width: 1025px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder:hover:before{opacity:1;}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder:hover .featured-team__hover{opacity:1;}}@media(max-width: 1024px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder:hover .featured-team__hover:before,#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__holder:hover .featured-team__hover:after{content:none;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;position:absolute;top:10px;left:10px;z-index:4;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;text-align:center;padding:25px 20px;width:100%;height:100%;font-size:14px;line-height:20px;}@media(max-width: 1024px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover{position:static;width:auto;height:auto;border:none;display:block;opacity:1;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover h3{color:#fff;margin:0 0 10px;}@media(max-width: 1024px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover h3{color:inherit;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover p{color:#fff;text-transform:uppercase;font-weight:bold;margin:0;}@media(max-width: 1024px){#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1 ul.featured-team .featured-team__hover p{color:inherit;}}#section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e{color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#f8f8f8;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:97%;--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:#f8f8f8;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.38));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/c95abd7c-a6ca-40e1-949e-956effbefacb');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e blockquote{font-size:var(--global-body-font-size);}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .redesign .link:before{background-color:var(--border-light-inactive);}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .redesign .link:after{background-color:var(--border-light-active);}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .redesign .link:hover{color:var(--typography-light)!important;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .redesign.featured-testimonials{overflow:hidden;max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e.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-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e.parallax-enabled .featured-testimonials:before{display:block;content:'';left:0;top:0;width:100%;background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials{padding:140px 0;position:relative;max-height:100vh;}@media(max-width: 768px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials{padding:40px 0;max-height:unset;}}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .container{max-width:1300px;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .container:after{content:'';clear:both;display:block;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left{text-align:right;padding-right:45px;max-width:500px;width:100%;float:left;}@media(max-width: 991px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left{max-width:350px;width:inherit;padding-right:30px;}}@media(max-width: 768px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left{text-align:center;padding-right:0;margin-bottom:30px;float:none;max-width:100%;}}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left h2{margin:0 0 15px;width:100%;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0;padding:0;white-space:nowrap;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav li{display:inline-block;vertical-align:top;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav .separator{margin-left:40px;position:relative;pointer-events:none;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav .separator:before{content:'';position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:currentColor;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:before,#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:after{opacity:0;color:inherit;background-color:inherit;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__right{padding-left:45px;max-width:700px;overflow:hidden;}@media(max-width: 991px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__right{padding-left:30px;}}@media(max-width: 768px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials .featured-testimonials__right{overflow:visible;padding-left:0;}}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider{border-left:solid 1px #d5d5d5;margin-left:-45px;padding-left:45px;margin-bottom:40px;}@media(max-width: 991px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider{margin-left:-30px;padding-left:30px;}}@media(max-width: 768px){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider{margin-left:0;padding:0;margin-bottom:30px;border:none;}}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider blockquote{margin:0 0 25px;white-space:pre-line;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider cite{font-weight:bold;font-size:14px;line-height:18px;text-transform:uppercase;font-style:normal;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider .slick-slide{vertical-align:top;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e .featured-testimonials__slider:not(.slick-initialized) li:not(:first-child){display:none;}#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e>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-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e{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/c95abd7c-a6ca-40e1-949e-956effbefacb');}}@media (min-width: 1280px) and (orientation: landscape){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e{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/c95abd7c-a6ca-40e1-949e-956effbefacb');}}@media (min-width: 1920px) and (orientation: landscape){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e{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/c95abd7c-a6ca-40e1-949e-956effbefacb');}}@media (min-width: 2560px) and (orientation: landscape){#section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e{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/c95abd7c-a6ca-40e1-949e-956effbefacb');}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3{color:#FFFFFF;--fontColor:#FFFFFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#042D49;--bgColor_H:204;--bgColor_S:90%;--bgColor_L:15%;--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:#042D49;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 div.newsletter-signup__form-container div.lp-title-group{max-width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;padding-left:0px;padding-right:0px;}@media (max-width: 768px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 div.newsletter-signup__form-container div.lp-title-group{margin-bottom:48px;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 div.newsletter-signup__form-container div.lp-title-group>*{margin:0px;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 div.lp-text--subtitle{font-size:var(--global-body-font-size);}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light{color:var(--typography-light)!important;border-color:var(--border-light-inactive);}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light:focus{border-color:var(--border-light-active);}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light:-webkit-autofill{border-bottom:1px solid var(--border-light-inactive);-webkit-text-fill-color:var(--typography-light)!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light:-webkit-autofill,#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light:-webkit-autofill:hover{-webkit-box-shadow:none!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .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-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup{min-height:80vh;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup .lp-container-custom{padding:0 25px;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form{margin:0;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form.success .newsletter-signup__form-container{display:none;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .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-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__inputs-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-container{position:relative;z-index:1;}@media (max-width: 768px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-container .lp-h2{margin-bottom:32px;}}@media (max-width: 768px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-container .lp-text--subtitle{margin-bottom:32px;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:16px;}@media (max-width: 768px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-item +.newsletter-signup__form-item{margin-left:0px;margin-top:32px;}}@media (min-width: 769px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-item.lp-input{padding-top:0;padding-bottom:0;width:250px;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-item.lp-btn{text-transform:uppercase;font-weight:700;}@media (min-width: 769px){#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup__form-item.lp-btn{width:200px;}}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .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-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .newsletter-signup .success-block.hide{display:none;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .lp-h-pot{max-width:1px;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .lp-title-group{max-width:unset;padding:0 20px;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input:-webkit-autofill,#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input:-webkit-autofill:hover,#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input:-webkit-autofill:focus,#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 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-6e5eddec-0536-4f89-b18f-c165a3f6daf3 .lp-disclaimer{max-width:730px;margin:20px auto 0 auto;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 h1{color:#FFFFFF;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 h2{color:#FFFFFF;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 h3{color:#FFFFFF;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 p{color:#FFFFFF;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light::-webkit-input-placeholder{color:var(--typography-light)!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light::-moz-placeholder{color:var(--typography-light)!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light:-ms-input-placeholder{color:var(--typography-light)!important;}#section-6e5eddec-0536-4f89-b18f-c165a3f6daf3 input.lp-input--light::placeholder{color:var(--typography-light)!important;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8{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-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(255, 255, 255, 1);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-header{margin-bottom:48px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav{padding-top:0px;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;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav:has(.slick-hidden){display:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.spacer{background-color:var(--border-dark-inactive);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link{color:var(--typography-dark);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link:is(.slick-disabled){opacity:0.25;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link:before{background-color:var(--border-dark-inactive);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link:after{background-color:var(--accent-dark);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link:hover:not(.slick-disabled){color:var(--accent-dark);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-section ul.slick-links-nav li span.link:hover:not(.slick-disabled):after{width:100%;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section:is(.three-slides) ul.featured-properties{margin:0px -16px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section:is(.three-slides) ul.featured-properties li.featured-properties__item-cover{padding:0px 16px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track:before,#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track:after{display:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item{background-color:var(--secondary);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item span.featured-properties__label{background:var(--accent-dark);color:var(--typography-light);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item div.featured-properties__text{padding-top:35px;padding-bottom:35px;background-color:transparent;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item div.featured-properties__text p,#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item div.featured-properties__text h4,#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.redesign.featured-properties-section ul.featured-properties div.slick-track li.featured-properties__item-cover div.featured-properties__item div.featured-properties__text h5{color:var(--typography-dark);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-button-holder{margin-top:48px;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-96e44b24-7cc5-449d-9875-ea0e65e071a8 div.featured-properties-button-holder a.btn{width:100%;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section{padding:140px 0;}@media (max-width: 991px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section{padding:100px 0;}}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section{padding:40px 0;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-list{width:100%;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-track{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-slide{height:inherit!important;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0 0 0;padding:28px 0 0;white-space:nowrap;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav{padding: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;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav li{display:inline-block;vertical-align:top;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav li+li{margin-left:40px;position:relative;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .slick-hidden+.spacer{display:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .spacer{position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:#fff;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .link.slick-disabled{cursor:default;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .link.slick-disabled:before,#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .slick-links-nav .link.slick-disabled:after{opacity:0;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .btn{min-width:250px;}@media (min-width: 561px) and (max-width: 1024px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-section .btn{width:275px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:60px;text-align:center;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-header{display:block;margin-bottom:40px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-header h2{color:var(--fontColor);margin:0;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-header h2{margin-bottom:25px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-button-holder{text-align:center;margin-top:80px;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-button-holder{margin-top:40px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow{position:relative;left:auto;right:auto;bottom:auto;top:auto;text-align:left;font-size:14px;line-height:24px;width:auto;height:24px;text-transform:uppercase;margin-top:15px;color:#C6C6C6;opacity:1!important;-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);font-family:var(--global-secondary-font-family);}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow:hover{color:#fff;opacity:1;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow:before{content:'';}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow{margin-top:0;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow:after{content:'';position:absolute;bottom:3px;height:1px;background-color:#fff;left:0;right:0;-webkit-transition:opacity .3s;transition:opacity .3s;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow.slick-prev:before{content:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow.slick-next{margin-left:41px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow.slick-next:before{left:-21px;width:1px;height:12px;background-color:#fff;pointer-events:none;top:8px;opacity:1;position:absolute;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties-nav .slick-arrow.slick-disabled:after{opacity:0;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties{padding:0;margin:0 -40px;color:#000;}@media (max-width: 991px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties{margin-left:-12px;margin-right:-12px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item-cover{padding:0 40px;}@media (max-width: 991px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item-cover{padding:0 12px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item-cover:focus{outline:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item{background-color:#fff;text-align:center;font-weight:bold;position:relative;height:100%;color:var(--fontColor);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media (min-width: 1025px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item{min-height:500px;}}@media (hover: none) and (pointer: coarse){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item{min-height:1px;background-color:transparent;}}@media (hover: hover) and (pointer: fine){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item:hover .featured-properties__hover{opacity:1;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item h4{text-transform:none;color:black;margin:0 0 7px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item p{color:black;margin:0 0 7px;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item p{margin-bottom:3px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item h5{color:black;margin:0;font-family:var(--global-secondary-font-family);text-transform:none;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__item >a{width:100%;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__img{vertical-align:top;width:100%;height:315px;background-color:gray;position:relative;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__img img{width:100%;height:100%;object-fit:cover;}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__img{height:200px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__text{color:var(--fontColor);background-color:#fff;padding:25px 15px 15px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (hover: none) and (pointer: coarse){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__text{padding:13px;min-height:175px;}}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__text h4{max-height:56px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__text p{white-space:normal;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__label{position:absolute;top:0;right:0;background:#000;color:#fff;padding:4px 35px;z-index:2;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__hover{color:var(--bgColor);padding:15px;position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.75);opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear;z-index:3;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media(max-width: 991px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__hover{display:none;}}@media(max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__hover h4{display:none;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__hover >a{position:absolute;top:0;left:0;width:100%;height:100%;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:10px 24px;position:relative;z-index:2;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share{display:inline-block;position:relative;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share.featured-properties__share--opened .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (hover: none) and (pointer: coarse){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share{display:block;width:100%;margin-top:4px;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share .btn.btn--primary-light{display:block;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share .socials{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:none;}@media (hover: none) and (pointer: coarse){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share .socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);top:auto;left:auto;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share .socials .socials__link{width:69px;}@media (hover: none) and (pointer: coarse){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties .featured-properties__share .socials .socials__link:hover{border-bottom:transparent!important;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties:not(.slick-initialized) >.featured-properties__item-cover{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;}@media (min-width: 769px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties:not(.slick-initialized) >.featured-properties__item-cover{width:50%;}}@media (min-width: 1100px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .three-slides .featured-properties:not(.slick-initialized)>.featured-properties__item-cover{width:33%;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item-info{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;height:100%;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item-info:has(.mls-compliance-container) .featured-properties__text{padding-bottom:0;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item-mls-attribution{text-shadow:none;margin:0!important;color:#000!important;width:calc(100% - 200px);}@media (max-width: 1024px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item-mls-attribution{width:100%;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item .featured-properties__item-mls-attribution+.featured-properties__item-mls-logo{position:absolute!important;right:15px!important;bottom:15px!important;display:inline-block;}@media (max-width: 1024px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item .featured-properties__item-mls-attribution+.featured-properties__item-mls-logo{position:static!important;}}@media (max-width: 1024px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__item .featured-properties__item-mls-logo{display:inline-block!important;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .mls-compliance-container{margin-top:auto;padding:15px!important;}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__open-house{position:absolute;bottom:0;left:0;width:100%;padding:8px 0;color:black;background:rgba(255, 255, 255, 0.7);}@media (max-width: 768px){#section-96e44b24-7cc5-449d-9875-ea0e65e071a8 .featured-properties__open-house{font-size:12px;}}#section-96e44b24-7cc5-449d-9875-ea0e65e071a8>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f{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;}@media(max-width:768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .button-style-1{font-size:13px!important;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper{min-height:unset;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content{max-width:1400px;padding-top:240px;padding-bottom:80px;padding-left:50px;padding-right:50px;margin-left:auto;margin-right:auto;}@media only screen and (max-width: 768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content{padding-top:180px;padding-bottom:64px;padding-left:25px;padding-right:25px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content ul.benefits{text-transform:var(--text-case);}@media (max-width: 768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content input.search-input{padding-top:20px;padding-bottom:20px;margin-bottom:16px;}}@media (max-width: 768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content button.home-val-btn{padding-left:20px!important;padding-right:20px!important;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal h2.lp-h1,#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal h3.lp-h3{font-size:var(--global-h3-font-size);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal button.hv-modal__back,#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal label.lp-label,#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal ul.hv-checklist,#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal p.content-item__address,#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.modal p.hv-modal__how-calc{font-weight:400;text-transform:var(--text-case);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper{min-height:unset;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.background:after{background:linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, #000 100%);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.background img.image{object-position:50% 75%;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content div.search-icon path{fill:var(--accent-dark);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content button.home-val-btn:is([disabled]){opacity:0.5;}@media (max-width: 768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content button.home-val-btn{background-color:var(--accent-light)!important;border-color:var(--accent-light)!important;color:var(--accent-dark)!important;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content div.line-wrapper{background:var(--primary-light);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f div.home-valuation div.opening-wrapper div.content div.line-wrapper div.line{background:var(--accent-dark);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f{--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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation{padding:var(--header-height, 96px) 72px 0 72px;}@media (max-width: 1024px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation{padding:0;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation__container{width:100%;max-width:none;padding-left:72px;padding-right:72px;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation__container{padding-left:16px;padding-right:16px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation--fullbleed{padding:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .opening-wrapper{min-height:calc(60vh - var(--header-height, 96px));position:relative;width:100%;height:100%;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .opening-wrapper{min-height:80vh;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .background{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .background>img{object-fit:cover;height:100%;width:100%;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .content{padding:216px 24px 60px 24px;}}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .benefits .benefit{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-icon{display:none;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input:focus{outline:none;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input{width:100%;margin-bottom:0.5rem;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .lp-btn{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-checklist li{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-checklist--golden li::before{background-color:var(--highlightColor, #CCB091);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-checklist--small li{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-checklist--small li::before{width:16px;height:16px;margin-right:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-wrapper{position:absolute;left:0;top:100%;width:100%;max-width:584px;z-index:12;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-wrapper{top:46px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .search-results.show{margin-top:4px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .search-results.on-top{top:auto;bottom:calc(100% + 1.25rem);box-shadow:none;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .not-visible{display:none!important;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .nothing-found{width:100%;padding:20px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .predefined-links{max-height:400px;overflow-x:hidden;overflow-y:auto;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-container,#section-475ddfda-1f55-4db5-b519-5f1409178b5f .predefined-links{padding:12px 24px;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-container,#section-475ddfda-1f55-4db5-b519-5f1409178b5f .predefined-links{padding-top:8px;padding-bottom:8px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-search__input{font-size:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .results-link:last-child{border-bottom:none;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-link .highlighted{color:var(--lp-color-dark, #000);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-link .main-text{max-width:100%;text-overflow:ellipsis;overflow:hidden;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .results-link:hover,#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-link.selected-link{color:var(--lp-color-dark-2, #000);font-weight:500;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-block-title{margin-bottom:0.125rem;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .results-title-label{padding-left:var(--res-h-pads);padding-right:var(--res-h-pads);font-weight:700;line-height:1.625;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal.visible{-webkit-animation:fadeIn .6s ease;animation:fadeIn .6s ease;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal:not(.visible){display:none;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal ::-webkit-scrollbar{width:6px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal ::-webkit-scrollbar-track{border-radius:6px;background-color:#f3f3f3;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal ::-webkit-scrollbar-thumb{border-radius:6px;background-color:#c4c4c4;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__back .hv-icon{margin-right:8px;font-size:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__back .hv-icon::after{width:16px;height:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__col:not(:first-child)::before{display:none;}}@media(max-width: 1024px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__col{max-width:100%;-webkit-flex:0;-ms-flex:0;flex:0;padding:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__col:not(:first-child){border-top:1px solid #e7e7e7;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__content-block{padding-top:40px;padding-bottom:40px;width:max(415px, 66.66667%);margin:15vh auto;}@media(max-width: 1024px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__content-block{width:100%;margin:auto;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__title{margin-bottom:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__lead{margin-bottom:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__powered-by svg{margin-left:.5em;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-modal__how-calc{margin-top:12px;margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .content-item:not(:last-of-type){padding-bottom:24px;border-bottom:1px solid #e7e7e7;margin-bottom:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .content-item__label{margin-bottom:8px;font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:0.5px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .content-item__address{margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .plunk-result{-webkit-order:2;-ms-flex-order:2;order:2;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-form{width:100%;margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-form__line{margin-bottom:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-form__footer{margin-top:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-form__footer:only-child{margin-top:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-form__footer .lp-btn{width:100%;margin-bottom:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__avatar{width:56px;height:56px;-webkit-flex-basis:56px;-ms-flex-preferred-size:56px;flex-basis:56px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__avatar>img{width:100%;height:100%;object-fit:cover;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__avatar>img.portrait{object-position:top;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__name{margin-bottom:4px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__name:last-child{margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__label{margin-bottom:0;font-size:14px;line-height:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .agent-card__label .hv-icon:after{width:16px;height:16px;vertical-align:middle;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon{font-size:inherit;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-success:after{-webkit-mask-image:var(--lp-icon-success);mask-image:var(--lp-icon-success);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-done:after{-webkit-mask-image:var(--lp-icon-done);mask-image:var(--lp-icon-done);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-close{width:21px;height:21px;background:transparent;cursor:pointer;border:unset;}@media (hover: hover) and (pointer: fine){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-close:hover{opacity:0.7;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-close:focus{outline:none;opacity:0.7;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-location:after{-webkit-mask-image:var(--lp-icon-location);mask-image:var(--lp-icon-location);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-mail:after{-webkit-mask-image:var(--lp-icon-mail);mask-image:var(--lp-icon-mail);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-question-mark:after{-webkit-mask-image:var(--lp-icon-question-mark);mask-image:var(--lp-icon-question-mark);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-checkmark:after{-webkit-mask-image:var(--lp-icon-checkmark);mask-image:var(--lp-icon-checkmark);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-back:after{-webkit-mask-image:var(--lp-icon-back);mask-image:var(--lp-icon-back);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-data:after{-webkit-mask-image:var(--lp-icon-data);mask-image:var(--lp-icon-data);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-icon-home:after{-webkit-mask-image:var(--lp-icon-home);mask-image:var(--lp-icon-home);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .valuation-placeholder{max-width:200px;margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .valuation-placeholder::before,#section-475ddfda-1f55-4db5-b519-5f1409178b5f .valuation-placeholder::after{content:"";display:block;width:80px;height:.5rem;background-color:#f3f3f3;border-radius:1rem;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .valuation-placeholder::before{width:144px;margin-bottom:.75rem;-webkit-animation-delay:2s;animation-delay:2s;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .valuation-output .lp-socials li{margin-bottom:1em;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .text-neutral{color:var(--textNeutralColor, #848484);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mb-0{margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mb-1{margin-bottom:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mb-2{margin-bottom:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mb-3{margin-bottom:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mt-0{margin-bottom:0;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mt-1{margin-top:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mt-2{margin-top:16px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .mt-3{margin-top:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup ::-webkit-scrollbar{width:6px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup ::-webkit-scrollbar-track{border-radius:6px;background-color:#f3f3f3;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup ::-webkit-scrollbar-thumb{border-radius:6px;background-color:#c4c4c4;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__text-header{padding-right:80px;margin-bottom:24px;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__text-header{padding-right:40px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__title{margin-bottom:8px;padding-right:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__lead{margin-bottom:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__close{position:absolute;right:40px;top:44px;cursor:pointer;}@media (max-width: 620px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__close{right:16px;top:24px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__container{padding:24px 16px;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__label{display:block;margin-bottom:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__btn-group{margin-top:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__btn-group button,#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__btn-group .lp-btn{display:block;width:100%;margin-top:12px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hv-popup__footer{margin-top:12px;text-align:center;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .close-icon{width:24px;height:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .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-475ddfda-1f55-4db5-b519-5f1409178b5f .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .map-container{width:100%;height:152px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .hint{cursor:pointer;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f [hidden]{display:none!important;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .redesign p{white-space:normal;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .conditional-desktop-only{display:block;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .conditional-mobile-only{display:none;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .schedule-consultation{border-top:none!important;}@media (max-width: 1024px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown:not(:first-child){border-bottom:1px solid #e7e7e7;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown .hv-modal__col{border-top:none;-webkit-order:2;-ms-flex-order:2;order:2;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown .plunk-result{-webkit-order:-1;-ms-flex-order:-1;order:-1;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown .conditional-desktop-only{display:none;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .js-result-shown .conditional-mobile-only{display:block;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .loader{position:absolute;right:0;left:0;bottom:-36px;color:var(--fontColor, #ffffff);}@media(max-width: 768px){#section-475ddfda-1f55-4db5-b519-5f1409178b5f .loader{margin-top:.75rem;}}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .loader .line-wrapper{background:#ffffff;height:3px;position:relative;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .loader .line{position:absolute;top:0;left:0;bottom:0;right:0;height:3px;width:0;background-color:var(--highlightColor);}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .loader .text{margin-top:8px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .lp-h5{text-transform:none;font-weight:400;font-family:var(--global-primary-font-family);font-size:24px;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .lp-input{color:currentColor;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input::-webkit-input-placeholder{color:#848484;opacity:1;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input::-moz-placeholder{color:#848484;opacity:1;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input:-ms-input-placeholder{color:#848484;opacity:1;}#section-475ddfda-1f55-4db5-b519-5f1409178b5f .home-valuation .search-wrapper .search-input::placeholder{color:#848484;opacity:1;}#section-8db0b613-5575-42a9-9099-dc80364b76d2{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(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 div.lp-title-group{max-width:unset;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 div.lp-title-group h2.lp-h2{max-width:800px;margin-left:auto;margin-right:auto;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 div.lp-title-group div.lp-text--subtitle{max-width:600px;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .lp-container:has(.lp-pagination[style="display: none;"]) .collection{margin-bottom:0px;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 div.data-container div.grid-item div.content-container h3.lp-h3{font-size:var(--global-h4-font-size);}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .pagination-container{display:none;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list{padding:120px 0;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list{padding:40px 0;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list .container{max-width:1166px;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list .title,#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list .description{text-align:center;margin-bottom:50px;max-width:70%;margin-left:auto;margin-right:auto;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list .title,#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list .description{margin-bottom:30px;max-width:100%;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item{width:calc(50% - 46px);margin-bottom:70px;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item{width:100%;margin-bottom:30px;}}@media(min-width: 1025px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item:hover .neighborhood-list-item-image:before,#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item:hover .neighborhood-list-item-image span{opacity:1;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item-image{padding-top:100%;position:relative;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item-image img{position:absolute;object-fit:cover;height:100%;width:100%;top:0;z-index:0;background-color:gray;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item-image:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;background-color:rgba(255, 255, 255, .75);-webkit-transition:all .3s;transition:all .3s;z-index:1;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item-image .btn{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0;z-index:2;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item p{padding:30px 30px 30px 115px;position:relative;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item p{padding:30px 30px 30px 75px;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item p:before{position:absolute;content:'';height:130px;background-color:#c0c0c0;width:1px;left:75px;top:-50px;z-index:3;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list-item p:before{height:110px;width:1px;left:35px;top:-40px;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-container{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item{width:calc(100%/3 - 30px);margin-right:40px;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item{width:100%;margin-right:0;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item:nth-child(3n){margin-right:0;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item p{padding:37px 30px 37px 94px;position:relative;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item p{padding:30px 30px 30px 75px;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item p:before{height:150px;width:1px;left:55px;top:-70px;}@media(max-width: 768px){#section-8db0b613-5575-42a9-9099-dc80364b76d2 .neighborhood-list.three-grid .neighborhood-list-item p:before{height:120px;width:1px;left:35px;top:-40px;}}#section-8db0b613-5575-42a9-9099-dc80364b76d2 h1{color:#000000;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 h2{color:#000000;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 h3{color:#000000;}#section-8db0b613-5575-42a9-9099-dc80364b76d2 p{color:#000000;}#section-8db0b613-5575-42a9-9099-dc80364b76d2>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd{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));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#FFFFFF;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text__description{font-size:var(--global-body-font-size);}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container{max-width:1100px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.lp-title-group{max-width:100%;margin-bottom:16px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.lp-title-group h2.lp-h2{margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.lp-title-group h4.lp-text--subtitle{margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.boxed-text__description{margin-bottom:48px;margin-left:auto;margin-right:auto;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.boxed-text__description>*:is(:last-child){margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.button-container{gap:16px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.button-container a.lp-btn{margin:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container div.lp-title-group:not(:has(.lp-text--subtitle)) h2.lp-h2{margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container:not(:has(.boxed-text__description)):not(:has(.button-container)) div.lp-title-group{margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd div.boxed-text div.lp-container:not(:has(.button-container)) div.boxed-text__description{margin-bottom:0px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd a.lp-btn{min-width:250px;}@media (max-width: 768px){#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd h2.lp-h2{font-size:28px;}}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .boxed-text__description{margin-bottom:30px;}}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .lp-title-group .lp-h2{margin-top:0;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media(max-width: 600px){#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container .lp-btn{margin-right:20px;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd .redesign p{margin-bottom:1.666rem;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd h1{color:#000000;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd h2{color:#000000;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd h3{color:#000000;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd p{color:#000000;}#section-56919c6d-753c-458e-b2d0-ea9b89ba47dd>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd{color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(0, 0, 0, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(0, 0, 0, 1);}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section{padding:140px 0;text-align:center;}@media(max-width: 768px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section{padding:40px 0;}}@media(min-width:769px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section{padding:82px 0;}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section header{max-width:700px;margin:0 auto 50px;}@media(max-width: 768px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section header{margin-bottom:40px;}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section header h2{margin:0 0 25px;}@media(max-width: 768px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section header h2{margin-bottom:20px;}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press-section header p{margin:0;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press__details{list-style-type:none;display:block;margin:0 0 9px;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press__details >li{display:inline-block;position:relative;font-size:14px;font-weight:700;line-height:1;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd .featured-press__details >li+li{margin-left:6px;padding-left:10px;border-left:2px solid;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press{margin:auto;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;-webkit-justify-content:space-evenly;justify-content:space-evenly;text-align:left;list-style:none;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:1130px;}@media(max-width: 1100px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press{margin-left:-10px;margin-right:-10px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}@media(max-width: 769px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press{margin:0 auto 50px;max-width:100%;}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press >li{max-width:unset;width:calc(45% - 20px);margin:0 10px 40px;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press >li:hover figure:before{opacity:1;}@media(max-width: 769px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press >li{max-width:100%;width:100%;margin-left:40px;margin-right:40px;margin-bottom:0;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press >li+li{margin-top:65px;}}@media(min-width: 770px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press.three-columns >li{width:calc(33% - 20px);}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press figure{height:300px;position:relative;margin-bottom:25px;background-color:gray;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press figure:before{content:'';position:absolute;top:0;bottom:0;right:0;left:0;background:rgba(0, 0, 0, .4);-webkit-transition:.3s linear;transition:.3s linear;opacity:0;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press img{vertical-align:top;height:100%;width:100%;object-fit:cover;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press .label{position:absolute;top:0;left:0;max-width:100%;background-color:#fff;color:#000;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press h4{margin:0 0 10px;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press h4 .link{white-space:normal;-webkit-text-decoration:underline;text-decoration:underline;font-weight:400;text-underline-offset:5px;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press h4 .link:before,#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press h4 .link:after{content:none;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press p{margin:0 0 20px;white-space:normal;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press strong{display:inline-block;vertical-align:top;font-weight:700;font-size:14px;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press time{position:relative;display:inline;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.featured-press time:before{content:"";display:inline-block;height:11px;background-color:#c6c6c6;width:1px;margin:8px 15px 0 12px;vertical-align:top;}@media (min-width: 769px){#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.one-item >li{max-width:610px;width:100%;}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd ul.one-item figure{height:250px;}}#section-b7221063-8ed7-411d-bddb-de7ea6f5abdd>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-274783f0-4da6-440d-9276-8b07eb13063c{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.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/ffd74885-256c-4feb-89c5-80a6983564c9');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-274783f0-4da6-440d-9276-8b07eb13063c.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-274783f0-4da6-440d-9276-8b07eb13063c.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-274783f0-4da6-440d-9276-8b07eb13063c.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-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us .container{text-align:center;max-width:750px;min-height:689px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:50px;padding-bottom:50px;position:relative;z-index:1;}@media (max-width: 768px){#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us h2{padding-bottom:40px;}}#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us h2:after{content:'';position:absolute;bottom:0;left:50%;margin-left:-55px;width:110px;height:1px;background-color:var(--fontColor, #ffffff);}#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us p{margin:0 0 30px;}@media(max-width: 768px){#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us p{margin-bottom:40px;}}#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us .btn-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:23px;margin-top:32px;}@media(max-width: 560px){#section-274783f0-4da6-440d-9276-8b07eb13063c .redesign.work-with-us .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (min-width: 960px) and (orientation: landscape){#section-274783f0-4da6-440d-9276-8b07eb13063c{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/ffd74885-256c-4feb-89c5-80a6983564c9');}}@media (min-width: 1280px) and (orientation: landscape){#section-274783f0-4da6-440d-9276-8b07eb13063c{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/ffd74885-256c-4feb-89c5-80a6983564c9');}}@media (min-width: 1920px) and (orientation: landscape){#section-274783f0-4da6-440d-9276-8b07eb13063c{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/ffd74885-256c-4feb-89c5-80a6983564c9');}}@media (min-width: 2560px) and (orientation: landscape){#section-274783f0-4da6-440d-9276-8b07eb13063c{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/ffd74885-256c-4feb-89c5-80a6983564c9');}}#section-ff459172-249b-4571-9b1a-5fde7e330639{color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:rgba(255, 255, 255, 1);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed{padding:80px 0;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .title{margin:0 20px 0 0;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .instagram-link .instagram-name{display:inline;margin:0;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .title+.instagram-link{margin-top:5px;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-wrapper{margin-bottom:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-right{margin-left:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .follow-button{margin:20px 0 0 0;display:block;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .nav-button{margin-top:20px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:42px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;transition-property:color,background-color,border-color;transition-duration:.3s;transition-timing-function:ease;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-nav-prev{margin-left:30px;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-nav-next{margin-left:10px;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .hidden-control{display:none;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi{position:relative;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% / 3);padding:10px;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single:first-child,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi:first-child{margin-left:auto;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single:last-child,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi:last-child{margin-right:auto;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single.type2,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi.type2{width:calc(100% / 5 * 2);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single.type3,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi.type3{width:calc(100% / 2);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single.type4,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi.type4{width:calc(100% / 2);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single.type5,#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-container{padding:0;width:100%;}}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item__info{position:absolute;top:0;left:0;bottom:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:10%;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0, 0, 0, 0.8);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:1;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .video-icon::before{content:'';display:block;width:0px;height:0px;border-style:solid;position:relative;left:1px;border-width:7.5px 0px 7.5px 11px;border-color:transparent transparent transparent #292826;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item:hover .video-icon{opacity:0;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single .ig-feed-item__info{padding:15%;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi-content{padding:10px;position:absolute;width:100%;height:100%;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;overflow:hidden;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-ff459172-249b-4571-9b1a-5fde7e330639 .slide-multi-content .ig-feed-item:nth-child(n + 3){-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .bottom-nav-button{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:20px 10px 0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;width:48px;height:48px;color:#1a1a1a;border:1px solid currentColor;cursor:pointer;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-right,#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .title,#section-ff459172-249b-4571-9b1a-5fde7e330639 .instagram-link{margin-right:0;text-align:center;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-nav-prev,#section-ff459172-249b-4571-9b1a-5fde7e330639 .top-nav-next{display:none;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-ff459172-249b-4571-9b1a-5fde7e330639 .ig-feed{display:none;}#section-ff459172-249b-4571-9b1a-5fde7e330639 .has-data .ig-feed{display:block;}#section-ff459172-249b-4571-9b1a-5fde7e330639.has-data .ig-feed,#section-ff459172-249b-4571-9b1a-5fde7e330639#section-temp .ig-feed{display:block;}#modal-global-contact-us .close{z-index:11;}#modal-global-contact-us .close:focus{outline:0;}#modal-global-contact-us .contact-form{padding:70px 0;width:100%;min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;color:var(--colorTxt, #ffffff);-webkit-background-size:cover;background-size:cover;}#modal-global-contact-us .contact-form:after{content:'';position:absolute;display:block;background-color:rgba(2, 5, 7, 0.85);height:100%;width:100%;z-index:0;}#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}body>div.sidemenu{background-color:#fff;color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}body>div.sidemenu{width:auto!important;left:auto!important;right:-100%;top:0;background-color:transparent;-webkit-transition:right .3s;transition:right .3s;display:block;}body>div.sidemenu:not(.visible){pointer-events:none;visibility:hidden;}body>div.sidemenu.visible{right:0;}body>div.sidemenu .sidebar{position:relative;width:400px;height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:40px;padding-bottom:100px;background-color:var(--bgColor, #fff);color:var(--fontColor, #000);font-family:var(--global-primary-font-family);font-size:21px;line-height:1.333333;letter-spacing:.5px;-webkit-transition:all .3s ease-in;transition:all .3s ease-in;}@media (max-width: 767px){body>div.sidemenu .sidebar{width:270px;font-size:18px;}}body>div.sidemenu .sidebar__content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%;padding-left:40px;padding-right:40px;text-align:center;overflow-y:auto;}@media (max-width: 767px){body>div.sidemenu .sidebar__content{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding-left:20px;padding-right:20px;}}body>div.sidemenu .sidebar__close{position:absolute;right:30px;top:30px;display:inline-block;width:38px;height:38px;padding:10px;border:none;border-radius:0;background:transparent;color:inherit;z-index:1;cursor:pointer;}body>div.sidemenu .sidebar__close:before,body>div.sidemenu .sidebar__close:after{content:'';display:block;width:22px;height:2px;background-color:currentColor;position:absolute;left:50%;top:50%;}body>div.sidemenu .sidebar__close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidebar__close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}@media (max-width: 767px){body>div.sidemenu .sidebar__close{right:10px;top:10px;}}body>div.sidemenu .sidebar__close:focus{outline:none;}body>div.sidemenu .sidebar__nav{list-style:none;padding:0;margin:auto 0;}body>div.sidemenu .sidebar__nav-item{margin:0;padding-top:4px;padding-bottom:4px;border-bottom:1px solid hsla(
      var(--bgColor_H, 0),
      var(--bgColor_S, 0%),
      calc(50% + (var(--bgColor_L, 100%) - 50%) * 0.9),
      var(--bgColor_A, 1)
    );}body>div.sidemenu .sidebar__nav-link{display:inline-block;padding:10px;border:none;border-radius:0;background:transparent;text-transform:none;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__nav-link:focus{outline:none;}body>div.sidemenu .sidebar__subnav{list-style:none;padding:4px 0 10px;margin:0;font-size:17px;}@media (max-width: 767px){body>div.sidemenu .sidebar__subnav{font-size:14px;letter-spacing:.3px;}}body>div.sidemenu .sidebar__subnav-item{margin-bottom:10px;}body>div.sidemenu .sidebar__subnav-item:last-child{margin-bottom:0;}body>div.sidemenu .sidebar__subnav-link{display:inline-block;padding:0;border:none;border-radius:0;background:transparent;text-transform:none;opacity:.7;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__subnav-link:focus{outline:none;}body>div.sidemenu .sub-nav{visibility:hidden;opacity:0;max-height:0;-webkit-transition:all .3s;transition:all .3s;}body>div.sidemenu .sub-nav.visible{display:block;visibility:visible;opacity:1;max-height:100vh;}body>div.sidemenu .sub-nav.visible+.main-nav{color:#7a7a7a;}body>div.sidemenu .sub-nav.visible+.main-nav:after{margin-left:40px;border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}body>div.sidemenu .sub-nav-container:hover .main-nav:after{border-bottom:2px solid var(--fontColor, #7a7a7a);border-right:2px solid var(--fontColor, #7a7a7a);}body>div.sidemenu .sub-nav-container .main-nav{position:relative;display:inline-block;}body>div.sidemenu .sub-nav-container .main-nav:after{content:'';display:inline-block;position:relative;width:8px;height:8px;margin-left:25px;-webkit-transform:rotate(45deg) translateX(-100%);-moz-transform:rotate(45deg) translateX(-100%);-ms-transform:rotate(45deg) translateX(-100%);transform:rotate(45deg) translateX(-100%);border-bottom:2px solid var(--fontColor, #000000);border-right:2px solid var(--fontColor, #000000);top:0;bottom:auto;left:auto;-webkit-transition:0.5s all ease;transition:0.5s all ease;background-color:transparent;}body>div.sidemenu #main-section .sidebar{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}footer{background-color:#fff;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;--greyColor:hsla(
var(--fontColor_H),
var(--fontColor_S),
calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445),
var(--fontColor_A));}footer .redesign .inp--dark-bg input{color:var(--fontColor);border-color:hsla(
      var(--fontColor_H),
      var(--fontColor_S),
      calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445),
      var(--fontColor_A));}footer .redesign .inp--dark-bg input:hover{border-color:var(--fontColor);}footer .redesign .inp+.inp{margin-top:24px;}footer .redesign .btn--primary-light{border-color:var(--fontColor);color:var(--fontColor);}footer .redesign .btn--primary-light:hover{background-color:var(--fontColor);color:var(--bgColor);}footer.is-background-color-light .redesign .btn--primary-light{border-width:1px;}footer .redesign .socials--grey{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}footer .redesign .socials--grey .socials__link{background-color:hsla(
      var(--bgColor_H),
      var(--bgColor_S),
      calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.15),
      var(--bgColor_A));color:var(--greyColor);}footer .redesign .socials--grey .socials__link svg{fill:var(--greyColor);}footer .redesign .socials--grey .socials__link:hover{background-color:hsla(
        var(--bgColor_H),
        var(--bgColor_S),
        calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.4),
        var(--bgColor_A));color:var(--fontColor);}footer .redesign .socials--grey .socials__link:hover svg{fill:var(--fontColor);}footer .redesign.footer .grey-text{color:var(--fontColor);}footer .footer{position:relative;padding-top:60px;padding-bottom:30px;}@media (max-width: 560px){footer .footer{padding-top:10px;}}@media (max-width: 500px){footer .footer{padding-bottom:70px;}}footer .footer .text_content_wrap p{margin-bottom:15px;}footer .footer .text_content_wrap p:last-of-type{margin-bottom:0;}footer .footer .container{max-width:1440px;}@media (max-width: 768px){footer .footer .container{padding-left:25px;padding-right:25px;}}@media (max-width: 560px){footer .footer .container{padding-left:20px;padding-right:20px;}}footer .footer h3{margin:0 0 15px 0;}footer .footer h5{text-transform:capitalize;}footer .footer .info-wrap{margin-bottom:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-wrap .agent_box{width:70%;}@media (max-width: 1280px){footer .footer .info-wrap .agent_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .agent_box{width:100%;}}footer .footer .info-wrap .newsletter_box{width:30%;}@media (max-width: 1280px){footer .footer .info-wrap .newsletter_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box{width:100%;}}footer .footer .info-wrap .newsletter_box--padding{padding-top:44px;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box--padding{padding-top:0;}}footer .footer .info-wrap .newsletter_box .contact_title{margin-bottom:13px;line-height:1.6;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_cell{margin-bottom:0;padding-left:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .icon_text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:22px;position:relative;}footer .footer .info-wrap .newsletter_box .icon_text i{position:relative;width:30px;margin-right:20px;}footer .footer .info-wrap .newsletter_box .icon_text .contact_title{margin-bottom:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_zone{margin-bottom:0;}}footer .footer .info-wrap-contact{position:relative;}footer .footer .info-wrap-contact_zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:39px;}@media (max-width: 768px){footer .footer .info-wrap-contact_zone{margin-bottom:21px;}footer .footer .info-wrap-contact_zone:last-child{margin-bottom:51px;}}footer .footer .info-wrap-contact_zone i{position:absolute;left:0;display:block;}footer .footer .info-wrap-contact_zone i svg path{fill:currentColor;}footer .footer .info-wrap-contact_zone h4{margin:0 0 13px 0;width:100%;}footer .footer .info-wrap-contact_cell{position:relative;padding-left:50px;width:400px;font-size:14px;text-transform:uppercase;font-weight:bold;letter-spacing:1.5px;}@media (max-width: 1280px){footer .footer .info-wrap-contact_cell:first-of-type{margin-bottom:21px;}}footer .footer .info-wrap-contact_cell .contact_title{line-height:1;margin-bottom:5px;}footer .footer .info-wrap-contact_link{color:var(--greyColor);position:relative;}@media (max-width: 560px){footer .footer .info-wrap-contact_link{letter-spacing:0;}}footer .footer .hvr_animation{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;}footer .footer .hvr_animation:after{content:'';position:absolute;left:0;bottom:0;width:0%;height:1px;background:var(--greyColor);-webkit-transition:.3s linear;transition:.3s linear;}footer .footer .hvr_animation:hover:after{width:100%;}footer .footer .hvr_animation.underlined:after{width:100%;}footer .footer .hvr_animation.underlined:hover:after{width:0%;}footer .footer .form-content{padding:0!important;}footer .footer .form-content label{color:var(--fontColor);text-transform:none;letter-spacing:1;}footer .footer .form-content input{padding:2px 24px 2px 0;}footer .footer .form-content .subscribe_btn{margin-top:20px;position:relative;}footer .footer .form-content .subscribe_btn i{font-size:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0;}footer .footer .form-content.success i{opacity:1;}footer .footer .form-content.success .subscribe_btn span{opacity:0;}footer .footer .form-content.success .hide{opacity:0;}footer .footer .form-content.success .hide +span{opacity:1;}footer .footer .text_footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:39px;}@media (max-width: 1280px){footer .footer .text_footer{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){footer .footer .text_footer{text-align:center;}}footer .footer .text_footer p{white-space:normal;}footer .footer .text_footer .images_box{max-width:186px;width:100%;margin-right:43px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 560px){footer .footer .text_footer .images_box{margin:0 auto 20px auto;}}@media (max-width: 1280px){footer .footer .text_footer .img_size{margin-bottom:20px;}}@media (max-width: 560px){footer .footer .text_footer .img_size{margin-bottom:0;}}footer .footer .text_footer .img_size img{width:100%;height:100%;object-fit:contain;}footer .footer .first_text_footer .img_size{width:100%;height:63px;}footer .footer .first_text_footer .img_size img{width:100%;height:100%;object-fit:contain;}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:51px;}}footer .footer .second_text_footer .first_img_size{width:45px;height:45px;margin-right:15px;}footer .footer .second_text_footer .second_img_size{width:100px;height:45px;}@media (max-width: 560px){footer .footer .second_text_footer{margin-bottom:21px;}}footer .footer .info-privacy{padding-top:45px;padding-bottom:30px;border-top:1px solid hsla(
        var(--bgColor_H),
        var(--bgColor_S),
        calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55),
        var(--bgColor_A));}@media (max-width: 768px){footer .footer .info-privacy{padding-top:0;border-top:none;}}footer .footer .info-privacy__row{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-privacy .copy_zone{font-size:18px;}@media (min-width: 1350px){footer .footer .info-privacy .copy_zone{text-align:center;}}@media (min-width: 1281px){footer .footer .info-privacy .copy_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 768px){footer .footer .info-privacy .copy_zone{text-align:center;margin-bottom:10px;padding-top:45px;border-top:1px solid hsla(
            var(--bgColor_H),
            var(--bgColor_S),
            calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55),
            var(--bgColor_A));}}footer .footer .info-privacy .copy_zone a{color:var(--greyColor);}footer .footer .info-privacy .powered_zone{font-size:18px;}@media (min-width: 1281px){footer .footer .info-privacy .powered_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 1280px){footer .footer .info-privacy .powered_zone{text-align:center;}}@media (max-width: 768px){footer .footer .info-privacy .powered_zone{text-align:center;margin-bottom:24px;}}footer .footer .info-privacy .powered_zone a{color:var(--greyColor);}@media (min-width: 1281px){footer .footer .info-privacy .socials_zone{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 1280px){footer .footer .info-privacy .socials_zone{width:100%;margin-top:20px;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (max-width: 768px){footer .footer .info-privacy .socials_zone{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:0;margin-bottom:20px;}footer .footer .info-privacy .socials_zone li{padding:0 7px 10px 7px;}}footer .footer.one_contact .type_user{margin-bottom:73px;}@media (max-width: 768px){footer .footer.one_contact .type_user{margin-bottom:51px;}}footer .footer.no_newsletter h3{margin-bottom:46px;}footer .footer.no_newsletter .newsletter_box{display:none;}footer .footer.no_newsletter .info-wrap-contact{width:calc(70% + 230px);width:100%;padding-left:230px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact{padding-left:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact{width:100%;}}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_cell{width:50%;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_cell{width:100%;}}footer .footer.no_newsletter .info-wrap-contact h4{position:absolute;margin-top:-8px;left:0;max-width:200px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;width:100%;margin-bottom:20px;margin-top:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;}}footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:71px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:39px;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:51px;}}footer .footer.no_newsletter .info-wrap-contact_zone:last-child{margin-bottom:0;}footer .footer.no_icon .info-wrap-contact_cell{padding-left:0;}footer .footer.no_icon .info-wrap-contact_cell i{display:none;}footer .footer.no-names .info-wrap-contact{padding-left:0;}footer .form-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-left:-15px;margin-right:-15px;}@media (min-width: 1281px){footer .form-row{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 900px){footer .form-row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:15px;padding-right:15px;}@media (min-width: 768px){footer .form-col{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;}}@media (min-width: 768px){footer .form-col--socials{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}@media (min-width: 1281px){footer .form-col--socials{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;}}@media (max-width: 768px){footer .form-col--socials{-webkit-order:-1;-ms-flex-order:-1;order:-1;}}@media (min-width: 1281px){footer .form-col--xl-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}}footer .additional-links-separator{display:block;width:100%;height:0;overflow:hidden;}@media (min-width: 768px){footer .additional-links-separator{display:inline;width:auto;height:auto;}footer .additional-links-separator:before{content:"|";}}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .img-wrap{max-width:100px;width:100%;display:block;margin-right:20px;}@media (max-width: 900px){footer .img-wrap{margin-right:0;margin-bottom:10px;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .powered-box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}@media (max-width: 900px){footer .powered-box{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col--copyright{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:10px 0;}footer .luxury-link{white-space:nowrap;}footer .footer__disclaimers{padding-top:24px;padding-bottom:24px;}@media (max-width: 900px){footer .footer__disclaimers{text-align:center;}}body>div.mobile-contact-wrapper{z-index:200;position:relative;}body>div.mobile-contact-wrapper .lp-ico:before{content:'';width:1em;height:1em;background-color:currentColor;-webkit-background-size:cover;background-size:cover;display:block;-webkit-mask-position:center;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-transition:all .3s;transition:all .3s;}body>div.mobile-contact-wrapper .lp-ico-search:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' 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">.social_icons-style-1 a{border-color:#042D49!important;background-color:#042D49!important;color:#FFFFFF!important;}.social_icons-style-1 a:hover{border-color:#042D49!important;background-color:rgba(0, 0, 0, 0)!important;color:#042D49!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;}.pagination-style-1 li a{color:#042D49!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:#042D49!important;border-color:#042D49!important;}.pagination-style-1 li.active a{color:#FFFFFF!important;background-color:#042D49!important;border-color:#042D49!important;}.hyperlink-style-1{color:#000000!important;}.hyperlink-style-1:hover{color:#042D49!important;}.button-style-1{color:#FFFFFF!important;background-color:#042D49!important;border-color:#042D49!important;}.button-style-1:hover{color:#042D49!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#042D49!important;}.hyperlink-style-2{color:#FFFFFF!important;}.hyperlink-style-2:hover{color:#FFFFFF!important;}.social_icons-style-2 a{border-color:#FFFFFF!important;background-color:#FFFFFF!important;color:#042D49!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:#042D49!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.pagination-style-2 li.active a{color:#042D49!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.button-style-2{color:#042D49!important;background-color:#FFFFFF!important;border-color:#FFFFFF!important;}.button-style-2:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!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="6F6D563899A42C028420CB015EF73B27" />');
        }
</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="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b">
            <div class="redesign">
  <div class="content-container header">
    <div class="container header__container">
      <div class="navbar">
        <div class="logo">
          <a href="/" class="logo__link">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8cf6c5c5-c8d6-4567-a4fc-18bd954b1a7b" 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/8cf6c5c5-c8d6-4567-a4fc-18bd954b1a7b 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8cf6c5c5-c8d6-4567-a4fc-18bd954b1a7b 524w" class="logo__img light" alt="">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3" 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/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3 524w" class="logo__img dark" alt="">
          </a>
        </div>
        <div class="navigation">
          <ul>
            <li class="navigation__item">
              <a  href="/properties" class="navigation__link wow fadeInUp" data-wow-delay="2.0"><span>Portfolio</span></a>
            </li>
            <li class="navigation__item">
              <a  href="/home-search/listings" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Home Search</span></a>
            </li>
            <li class="navigation__item">
              <a  href="/home-valuation" class="navigation__link wow fadeInUp" data-wow-delay="2.2"><span>Home Valuation</span></a>
            </li>
            <li class="navigation__item">
              <a  href="/neighborhoods" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Neighborhoods</span></a>
            </li>
            <li class="navigation__item">
              <a data-type="CONTACT_US" class="navigation__link wow fadeInUp"><span>Contact Us</span></a>
            </li>
            <li class="navigation__item">
              <a  href="tel:2078384034" class="navigation__link wow fadeInUp" data-wow-delay="2.5"><span>207-838-4034</span></a>
            </li>
          </ul>
        </div>
        <div class="buttons-wrapper">
          <button type="button" class="hamburger-component hamburger">
            <span class="hamburger__bars"></span>
          </button>
        </div>
      </div>
    </div>
  </div>
</div>

        </nav>
        <div id="global-sidemenu" class="sidemenu" data-el-id="11fa925d-d2dd-4213-a0fa-d46f769e2c18">
            <div class="sidebar">
  
  <button class="toggle sidebar__close close"></button>
  <div class="sidebar__content">

    <ul class="sidebar__nav">
      <li class="sidebar__nav-item">
        <a  href="/" class="sidebar__nav-link">Home</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/team" class="sidebar__nav-link">Meet The Team</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/properties" class="sidebar__nav-link">Portfolio</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/home-search/listings" class="sidebar__nav-link">Home Search</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/home-valuation" class="sidebar__nav-link">Home Valuation</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/neighborhoods" class="sidebar__nav-link">Neighborhoods</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/testimonials" class="sidebar__nav-link">Testimonials</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/blog" class="sidebar__nav-link">Blog</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/contact" class="sidebar__nav-link">Contact Us</a>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/home-search/account" class="sidebar__nav-link">My Search Portal</a>
      </li>
    </ul>
  </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(4, 45, 73, 1);">

    <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Contact Us</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
        Veronica Schneider
        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="Contact Us">
          </div>
        </div>
      </div>


      <div class="success-block">
          <h3 class="lp-h3 success-message">Thank you for your message. We 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-96ef5b94-296f-4401-8573-7ace79675e00"  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/ox9xvv0qarvhg6ji6iil/hov-massive-mansion-home-in-usa-aerial-view-of-luxury-house-in-america.jpg"
          style="height:100%;"
          loop
          muted
          autoplay
          playsinline>
          <source data-src="https://res.cloudinary.com/luxuryp/videos/f_webm,vc_vp9,q_auto/ox9xvv0qarvhg6ji6iil/hov-massive-mansion-home-in-usa-aerial-view-of-luxury-house-in-america.webm" type="video/webm;codecs=vp9">
<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h265,q_auto/ox9xvv0qarvhg6ji6iil/hov-massive-mansion-home-in-usa-aerial-view-of-luxury-house-in-america.mp4" type="video/mp4;codecs=hvc1">
<source data-src="https://res.cloudinary.com/luxuryp/videos/f_mp4,vc_h264,q_auto/ox9xvv0qarvhg6ji6iil/hov-massive-mansion-home-in-usa-aerial-view-of-luxury-house-in-america.mp4" type="video/mp4">
        </video>
      </div>
        <div class="poster" style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/6f644f21-add8-4539-84f8-8b8f1903900f')"></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-770px" 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">Veronica Schneider</h1>
          <div class="opening-description feature lp-pre-line "><p>Your Maine Real Estate Expert</p></div>
      </div>
          
      <div class="buttons"></div>
        <div class="search-form">
          <div class="search-wrapper search-near-hidden"  data-search-mls="true" data-search-properties="true" data-locations="US" data-search-area="&quot;&quot;">
            <div class="search-input-container">
              <span class="search-icon">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13" width="1em" height="1em"><g transform="translate(1 1)" stroke="currentColor" fill="none" fill-rule="evenodd"><circle cx="5.5" cy="5.5" r="5.5"/><path d="M9.5 9.5l2.123 2.123" stroke-linecap="square"/></g></svg>
              </span>
              <input
                type="text"
                placeholder="Search by Address, City, or Neighborhood"
                class="search-input"
                value=""
                />
            </div>
            <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>
          <button class="lp-btn search-button button-style-2">Search</button>
        </div>
    </div>
  </div>
  <div class="bottom-spacer"></div>
</div>
</section>
<section id="section-188c8f37-24b7-4b81-a99d-437c45057169"  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">Ready When You Are</h2>
    </div>
    <div class="row gallery-component__row cols-3">
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 href="/home-search/listings"             >
          <div class="gallery-card__preview">
            <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/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1" 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/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1 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/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1 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/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1 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/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/cbf11222-8c3e-4a52-bcbe-a163f54c5bb1 2000w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Buy a Home</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,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/3e27e1c8-09fd-4958-9a1c-c404fe369a83" 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/3e27e1c8-09fd-4958-9a1c-c404fe369a83 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/3e27e1c8-09fd-4958-9a1c-c404fe369a83 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/3e27e1c8-09fd-4958-9a1c-c404fe369a83 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/3e27e1c8-09fd-4958-9a1c-c404fe369a83 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3e27e1c8-09fd-4958-9a1c-c404fe369a83 2000w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Contact Us</h3>
        </a>
      </div>
      
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 href="/home-valuation"             >
          <div class="gallery-card__preview">
            <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/18b898cb-c793-4a4f-972e-87f9f08488b1" 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/18b898cb-c793-4a4f-972e-87f9f08488b1 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/18b898cb-c793-4a4f-972e-87f9f08488b1 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/18b898cb-c793-4a4f-972e-87f9f08488b1 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/18b898cb-c793-4a4f-972e-87f9f08488b1 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/18b898cb-c793-4a4f-972e-87f9f08488b1 2000w" class="portrait" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Sell a Home</h3>
        </a>
      </div>
      
    </div>
  </div>
</div>


</section>
<section id="section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="f3f78d3c-82be-4447-aede-c0dec5fd9e09">
  <div class="redesign featured-team-section">
  	<div class="container">
  		<div class="featured-team-header">
  			<h2 class="serif">Meet Our Team</h2>
  			<ul class="slick-links-nav">
  				<li><span class="link link--white feature prev hyperlink-style-1">previous</span></li>
  				<li><span class="link link--white feature next hyperlink-style-1">next</span> <span class="spacer hyperlink-style-1"></span></li>
  			</ul>
  		</div>
  		<ul class="featured-team carousel-container">
  			<li>
  				<a href="/agent/veronica-schneider" class="featured-team__holder border-animation">
  				  <figure class="featured-team__img">
                <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b9731f6d-6973-44fd-99aa-d548c9ad6d8e" alt="Veronica Schneider Falmouth, ME Real Estate Agent Headshot" class="portrait" loading="lazy">
  				  </figure>
  					<div class="featured-team__hover border-animation__inner">
  						<h3 class="serif">Veronica Schneider</h3>
  						<p>Broker</p>
  					</div>
  				</a>
  			</li>
  			<li>
  				<a href="/agent/amelia-crannell" class="featured-team__holder border-animation">
  				  <figure class="featured-team__img">
                <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/701086a2-f8ec-4007-b288-ec730990e9ec" alt="Amelia Crannell Falmouth, ME Real Estate Agent Headshot" class="portrait" loading="lazy">
  				  </figure>
  					<div class="featured-team__hover border-animation__inner">
  						<h3 class="serif">Amelia Crannell</h3>
  						<p>Associate Broker </p>
  					</div>
  				</a>
  			</li>
  		</ul>
  		
               <a
                   href="/team"
                   
                   class="btn btn--primary-light button-style-1"
                   
                   
                   
                   
                   
                   >
                           LEARN MORE
                   </a>
  	</div>
  </div> 
</section>
<section  class="image-section is-font-color-light is-background-color-light" id="section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e" data-el-id="3194d39b-ac2d-42a7-9973-4b279eaa51e6">
    <script>
  (function(){
    const sectionId = 'section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e'
    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="redesign featured-testimonials parallax">
	<div class="container">
		<div class="featured-testimonials__left">
			<h2 class="serif">Testimonials</h2>
  			<ul class="slick-links-nav">
  				<li><span class="link feature prev hyperlink-style-2">previous</span></li>
  				<li><span class="separator hyperlink-style-2"></span></li>
  				<li><span class="link feature next hyperlink-style-2">next</span></li>
  			</ul>
		</div>
		<div class="featured-testimonials__right"> 
			<ul class="featured-testimonials__slider js-slider" data-autoscroll=false data-autoscroll-interval=6>
				<li>
					<blockquote>Veronica was extremely helpful in showing homes remotely and promptly in a hot real estate market. She was knowledgeable about the market as shared useful contacts in the construction space for remodeling. She also helped facilitate a tricky closing situation. I would highly recommend her and her team.</blockquote>
						— <cite>Buyer</cite>
				</li>
				<li>
					<blockquote>We have bought and sold quite a few houses and multi units and Veronica has been with us every step of the way. Call her anytime night, day, weekends and even holidays and she will take care of you.</blockquote>
						— <cite>Buyer &amp; Seller</cite>
				</li>
				<li>
					<blockquote>Veronica’s work ethic and knowledge of real estate make her an exceptional broker. As a seller or a buyer, Veronica will assist you in making the best decision and stay with you through the entire process.</blockquote>
						— <cite>Buyer &amp; Seller</cite>
				</li>
			</ul>
			        <a
			            href="/testimonials"
			            
			            class="btn btn--primary-dark button-style-2"
			            
			            
			            
			            
			            
			            >
			                    VIEW ALL
			            </a>
		</div>
	</div>
</div>

</section>
<section id="section-6e5eddec-0536-4f89-b18f-c165a3f6daf3"  class="solid-section is-font-color-dark is-background-color-light" 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">Receive exclusive listings in your inbox</h2>
          <div class="lp-text--subtitle">Are you interested in buying a home? Look no further than working with a real estate expert.</div>
        </div>
        <div class="newsletter-signup-form">
          <div class="newsletter-signup__inputs-container">
              <input id="section-6e5eddec-0536-4f89-b18f-c165a3f6daf3__newsSignFirstName" type="text" name="name" class="lp-input lp-input--light newsletter-signup__form-item" required placeholder="Name">
              
            <input id="section-6e5eddec-0536-4f89-b18f-c165a3f6daf3__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-6e5eddec-0536-4f89-b18f-c165a3f6daf3__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-6e5eddec-0536-4f89-b18f-c165a3f6daf3-termsAccepted'>Opt In/Disclaimer Consent:</label>
  <label class='lp-tcr-content'>
    <span class='lp-tcr-checkbox'>
      <input
        type='checkbox'
        id='section-6e5eddec-0536-4f89-b18f-c165a3f6daf3-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
        Veronica Schneider
        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 our Newsletter. Stay tuned for the latest updates sent straight to your inbox!</p></div>
        </div>
      </div>
    </form>
    
  </div>
</div>
</section>
<section id="section-96e44b24-7cc5-449d-9875-ea0e65e071a8"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="09e98f83-51e3-4837-80a0-019e211aba4b">
<div class="redesign featured-properties-section " data-auto-scroll=false data-autoplay-speed=3000>
	<div class="container">
		<div class="featured-properties-header">
			<h2 class="serif">Featured Properties</h2>
			<ul class="slick-links-nav">
				<li><span class="link link--white feature prev">previous</span></li>
				<li><span class="link link--white feature next">next</span> <span class="spacer"></span></li>
			</ul>
		</div>
		<ul class="featured-properties carousel-container">
				<li class="featured-properties__item-cover">
					<div class="featured-properties__item feature">
						<a class="featured-properties__item-info" href="/properties/12-dunn-street-westbrook-me-04092-20260414063006162471000000">
							<div class="featured-properties__img">
								<img src="https://dlajgvw9htjpb.cloudfront.net/cms/609cd4e8-95af-457b-aa14-d438f5027e01/1657745/6598209470805403924.jpg" alt="" loading="lazy">
							</div>
							<span class="featured-properties__label">Pending</span>
							
							<div class="featured-properties__text">
								<h4 class="serif">12 Dunn Street</h4>
								<p>
										12 Dunn Street, Westbrook, ME 04092
								</p>

								<p>
													Studio | 
									4 BA
										 | 3,637 Sq.Ft.
								</p>

								<h5>
										$994,900
								</h5>
							</div>
							<div class="mls-compliance-container"> 
								<p class="lp-mls-compliance__mls-attribution featured-properties__item-mls-attribution">Listing Courtesy of Portside Real Estate Group</p>
								<img src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/dj6kihp8rreni3tq6acb/007c8aec25461d8203718eefd656ac5e-zillow_web_95_35" alt="MLS logo" class="lp-mls-compliance__mls-logo featured-properties__item-mls-logo" loading="lazy">
							</div>
						</a>
						<div class="featured-properties__hover">
							<a href="/properties/12-dunn-street-westbrook-me-04092-20260414063006162471000000"></a>
							<div class="featured-properties__buttons">
								<a href="/properties/12-dunn-street-westbrook-me-04092-20260414063006162471000000" class="btn btn--primary-dark button-style-1">VIEW PROPERTY</a>
							</div>
						</div>
					</div>
				</li>
				<li class="featured-properties__item-cover">
					<div class="featured-properties__item feature">
						<a class="featured-properties__item-info" href="/properties/39-rochester-street-westbrook-me-us-04092-20260512142159021217000000">
							<div class="featured-properties__img">
								<img src="https://dlajgvw9htjpb.cloudfront.net/cms/609cd4e8-95af-457b-aa14-d438f5027e01/1661821/7128066388502070800.jpg" alt="" loading="lazy">
							</div>
							<span class="featured-properties__label">Pending</span>
							
							<div class="featured-properties__text">
								<h4 class="serif">39 Rochester Street</h4>
								<p>
										39 Rochester Street, Westbrook, ME 04092
								</p>

								<p>
													Studio | 
									3 BA
										 | 4,168 Sq.Ft.
								</p>

								<h5>
										$806,000
								</h5>
							</div>
							<div class="mls-compliance-container"> 
								<p class="lp-mls-compliance__mls-attribution featured-properties__item-mls-attribution">Listing Courtesy of Portside Real Estate Group</p>
								<img src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/dj6kihp8rreni3tq6acb/007c8aec25461d8203718eefd656ac5e-zillow_web_95_35" alt="MLS logo" class="lp-mls-compliance__mls-logo featured-properties__item-mls-logo" loading="lazy">
							</div>
						</a>
						<div class="featured-properties__hover">
							<a href="/properties/39-rochester-street-westbrook-me-us-04092-20260512142159021217000000"></a>
							<div class="featured-properties__buttons">
								<a href="/properties/39-rochester-street-westbrook-me-us-04092-20260512142159021217000000" class="btn btn--primary-dark button-style-1">VIEW PROPERTY</a>
							</div>
						</div>
					</div>
				</li>
				<li class="featured-properties__item-cover">
					<div class="featured-properties__item feature">
						<a class="featured-properties__item-info" href="/properties/10-dunn-street-westbrook-me-04092-20260414061357323198000000">
							<div class="featured-properties__img">
								<img src="https://dlajgvw9htjpb.cloudfront.net/cms/609cd4e8-95af-457b-aa14-d438f5027e01/1657731/-4825807329480374628.jpg" alt="" loading="lazy">
							</div>
							<span class="featured-properties__label">Pending</span>
							
							<div class="featured-properties__text">
								<h4 class="serif">10 Dunn Street</h4>
								<p>
										10 Dunn Street, Westbrook, ME 04092
								</p>

								<p>
													Studio | 
									4 BA
										 | 2,112 Sq.Ft.
								</p>

								<h5>
										$624,900
								</h5>
							</div>
							<div class="mls-compliance-container"> 
								<p class="lp-mls-compliance__mls-attribution featured-properties__item-mls-attribution">Listing Courtesy of Portside Real Estate Group</p>
								<img src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/dj6kihp8rreni3tq6acb/007c8aec25461d8203718eefd656ac5e-zillow_web_95_35" alt="MLS logo" class="lp-mls-compliance__mls-logo featured-properties__item-mls-logo" loading="lazy">
							</div>
						</a>
						<div class="featured-properties__hover">
							<a href="/properties/10-dunn-street-westbrook-me-04092-20260414061357323198000000"></a>
							<div class="featured-properties__buttons">
								<a href="/properties/10-dunn-street-westbrook-me-04092-20260414061357323198000000" class="btn btn--primary-dark button-style-1">VIEW PROPERTY</a>
							</div>
						</div>
					</div>
				</li>
				<li class="featured-properties__item-cover">
					<div class="featured-properties__item feature">
						<a class="featured-properties__item-info" href="/properties/14-16-kendall-street-augusta-me-us-04330-20260521130906107596000000">
							<div class="featured-properties__img">
								<img src="https://dlajgvw9htjpb.cloudfront.net/cms/609cd4e8-95af-457b-aa14-d438f5027e01/1663270/6882330012466571011.jpg" alt="" loading="lazy">
							</div>
							<span class="featured-properties__label">Pending</span>
							
							<div class="featured-properties__text">
								<h4 class="serif">14-16 Kendall Street</h4>
								<p>
										14-16 Kendall Street, Augusta, ME 04330
								</p>

								<p>
													Studio | 
									4 BA
										 | 3,593 Sq.Ft.
								</p>

								<h5>
										$530,000
								</h5>
							</div>
							<div class="mls-compliance-container"> 
								<p class="lp-mls-compliance__mls-attribution featured-properties__item-mls-attribution">Listing Courtesy of Portside Real Estate Group</p>
								<img src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/dj6kihp8rreni3tq6acb/007c8aec25461d8203718eefd656ac5e-zillow_web_95_35" alt="MLS logo" class="lp-mls-compliance__mls-logo featured-properties__item-mls-logo" loading="lazy">
							</div>
						</a>
						<div class="featured-properties__hover">
							<a href="/properties/14-16-kendall-street-augusta-me-us-04330-20260521130906107596000000"></a>
							<div class="featured-properties__buttons">
								<a href="/properties/14-16-kendall-street-augusta-me-us-04330-20260521130906107596000000" class="btn btn--primary-dark button-style-1">VIEW PROPERTY</a>
							</div>
						</div>
					</div>
				</li>
		</ul>
  			<div class="featured-properties-button-holder">        <a
            href="/properties"
            
            class="btn btn--primary-light button-style-1"
            
            
            
            
            
            >
                    VIEW ALL
            </a>
</div>
	</div>
</div>

</section>
<section id="section-475ddfda-1f55-4db5-b519-5f1409178b5f"  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-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-address" style="display: none;">Home Valuation Address</label>
                <input type="hidden" id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-address" name="property-address" />

                <label for="section-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-valuation" style="display: none;">Home Valuation</label>
                <input type="hidden" id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-valuation" name="property-valuation" />

                <div class="hv-form__line">
                  <div class="hv-form__group lp-input-group">
                    <label for="section-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-name" class="lp-label">Full
                      Name*</label>
                    <input type="text" id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-name" name="name" class="lp-input"
                      placeholder="Full Name" required />
                  </div>
                </div>

                <div class="h-pot lp-h-pot">
                  <label for="section-475ddfda-1f55-4db5-b519-5f1409178b5f-middleName">Middle Name</label>
                  <input id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-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-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-email" class="lp-label">Email*</label>
                    <input type="email" id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-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-475ddfda-1f55-4db5-b519-5f1409178b5f-hv-phone" class="lp-label">Phone*</label>
                    <input type="tel" id="section-475ddfda-1f55-4db5-b519-5f1409178b5f-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-475ddfda-1f55-4db5-b519-5f1409178b5f-termsAccepted'>Opt In/Disclaimer Consent:</label>
  <label class='lp-tcr-content'>
    <span class='lp-tcr-checkbox'>
      <input
        type='checkbox'
        id='section-475ddfda-1f55-4db5-b519-5f1409178b5f-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
        Veronica Schneider
        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/b9731f6d-6973-44fd-99aa-d548c9ad6d8e" 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/b9731f6d-6973-44fd-99aa-d548c9ad6d8e 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b9731f6d-6973-44fd-99aa-d548c9ad6d8e 686w" sizes="72px" alt="Veronica Schneider Falmouth, ME Real Estate Agent Headshot" class="portrait" loading="lazy">
                    </div>
                    <div class="agent-card__details">
                      <p class="agent-card__name lp-h5">
Veronica Schneider                      </p>
                      <p class="agent-card__label text-neutral">
                        <span class="hv-icon hv-icon-thunder-move"></span>
Broker                      </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">
                  Her personality allows her to easily connect with her clients and to make the buying or selling process as stress-free as possible.
                </div>
                <div class="hv-form__footer">
                      <a href="/cdn-cgi/l/email-protection#710714031e1f18121031011e0305021815140314165f121e1c4e0204131b1412054c391e1c1454434127101d041005181e1f" 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:(207) 838-4034" data-number="(207) 838-4034"
                        class="lp-btn lp-btn--dark lp-btn--filled lp-btn--mob-full-width js-schedule js-phone button-style-1">Call (207) 838-4034</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 Veronica Schneider 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/79a1cab6-9d17-4851-8d71-a01598209732" 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/79a1cab6-9d17-4851-8d71-a01598209732 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/79a1cab6-9d17-4851-8d71-a01598209732 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/79a1cab6-9d17-4851-8d71-a01598209732 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/79a1cab6-9d17-4851-8d71-a01598209732 1535w" 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-475ddfda-1f55-4db5-b519-5f1409178b5f-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-8db0b613-5575-42a9-9099-dc80364b76d2"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="1dff414c-d788-45e2-a21f-e399f148cac4">
<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"><a class="neighborhood-list-item" href="/neighborhoods/{{slug}}">
  <div class="neighborhood-list-item-image">
    {{{mediaImage media.[0]}}}
    <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
  </div>
  <p class="feature">
    {{name}}
  </p>
</a>
</script>
<div class="redesign neighborhood-list three-grid">
  <div class="container">
      <h2 class="title">Neighborhood Guides</h2>
    <div class="neighborhood-list-container data-container">
      <a class="neighborhood-list-item" href="/neighborhoods/cape-elizabeth">
        <div class="neighborhood-list-item-image">
          <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/a65f8ba5-9a20-493c-a6f4-71e4598f2e19" 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/a65f8ba5-9a20-493c-a6f4-71e4598f2e19 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/a65f8ba5-9a20-493c-a6f4-71e4598f2e19 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a65f8ba5-9a20-493c-a6f4-71e4598f2e19 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          Cape Elizabeth
        </p>
      </a>
      <a class="neighborhood-list-item" href="/neighborhoods/south-portland">
        <div class="neighborhood-list-item-image">
          <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/88bc7667-8fc1-4865-867d-9e150dcbe63e" 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/88bc7667-8fc1-4865-867d-9e150dcbe63e 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/88bc7667-8fc1-4865-867d-9e150dcbe63e 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/88bc7667-8fc1-4865-867d-9e150dcbe63e 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          South Portland
        </p>
      </a>
      <a class="neighborhood-list-item" href="/neighborhoods/cumberland">
        <div class="neighborhood-list-item-image">
          <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/ea2e4c95-3d46-43ee-927b-97ebfb631c0c" 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/ea2e4c95-3d46-43ee-927b-97ebfb631c0c 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/ea2e4c95-3d46-43ee-927b-97ebfb631c0c 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ea2e4c95-3d46-43ee-927b-97ebfb631c0c 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          Cumberland
        </p>
      </a>
      <a class="neighborhood-list-item" href="/neighborhoods/gorham">
        <div class="neighborhood-list-item-image">
          <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/070af396-ea09-47f7-8902-0288ad4df824" 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/070af396-ea09-47f7-8902-0288ad4df824 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/070af396-ea09-47f7-8902-0288ad4df824 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/070af396-ea09-47f7-8902-0288ad4df824 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          Gorham
        </p>
      </a>
      <a class="neighborhood-list-item" href="/neighborhoods/scarborough">
        <div class="neighborhood-list-item-image">
          <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/95fce6b0-8496-4d62-832d-8b522c9ad861" 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/95fce6b0-8496-4d62-832d-8b522c9ad861 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/95fce6b0-8496-4d62-832d-8b522c9ad861 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/95fce6b0-8496-4d62-832d-8b522c9ad861 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          Scarborough
        </p>
      </a>
      <a class="neighborhood-list-item" href="/neighborhoods/portland">
        <div class="neighborhood-list-item-image">
          <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/7110470c-2cd3-4f1f-aee5-1a3dde34ab3d" 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/7110470c-2cd3-4f1f-aee5-1a3dde34ab3d 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/7110470c-2cd3-4f1f-aee5-1a3dde34ab3d 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/7110470c-2cd3-4f1f-aee5-1a3dde34ab3d 1920w" alt="" loading="lazy">
          <span class="btn btn--primary-dark button-style-1">EXPLORE</span>
        </div>
        <p class="feature">
          Portland
        </p>
      </a>
    </div>
    <div class="pagination-container pagination-style-1"></div>  </div>
</div>
</section>
<section id="section-56919c6d-753c-458e-b2d0-ea9b89ba47dd"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="21c5a117-61cb-4f43-8635-2da86e3ae7dd">
  
<div class="boxed-text lp-vertical-paddings redesign">
  <div class="lp-container">
    
    
      <div class="button-container">
                <a
                    href="/neighborhoods"
                    
                    class="lp-btn lp-btn--dark lp-btn--outline button-style-1"
                    
                    
                    
                    
                    
                    >
                            View All
                    </a>
      </div>
  </div>
</div>
</section>
<section id="section-b7221063-8ed7-411d-bddb-de7ea6f5abdd"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="cbccba56-02a9-4c0c-90bb-602d2d676658">

  <div class="redesign featured-press-section">
    <div class="container">
      <header>
        <h2 class="serif">Blog</h2>
      </header>
      <ul class="featured-press three-columns">
              <li> 
                <a href="/blog/how-to-underwrite-portland-multi-unit-properties">
                  <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/96dc05ac-60c4-4c85-8717-10f9faa8f787" 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/96dc05ac-60c4-4c85-8717-10f9faa8f787 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/96dc05ac-60c4-4c85-8717-10f9faa8f787 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/96dc05ac-60c4-4c85-8717-10f9faa8f787 1408w" alt="" loading="lazy">
                  </figure>
                  
                  <h4 class="serif "><span class="link hyperlink-style-2">How To Underwrite Portland Multi-Unit Properties</span>
                  </h4>
                  
                  <ul class="featured-press__details">
                      
                               
                  </ul>
                </a>
              </li>
              <li> 
                <a href="/blog/investing-in-small-multi-family-buildings-in-portland">
                  <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/83b4baba-eb54-4df1-8022-09d69980c2ff" 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/83b4baba-eb54-4df1-8022-09d69980c2ff 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/83b4baba-eb54-4df1-8022-09d69980c2ff 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/83b4baba-eb54-4df1-8022-09d69980c2ff 1408w" alt="" loading="lazy">
                  </figure>
                  
                  <h4 class="serif "><span class="link hyperlink-style-2">Investing In Small Multi Family Buildings In Portland</span>
                  </h4>
                  
                  <ul class="featured-press__details">
                      
                               
                  </ul>
                </a>
              </li>
              <li> 
                <a href="/blog/building-a-small-rental-portfolio-in-greater-portland">
                  <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/330621a8-f6f0-4433-8d25-7e2cffdfe7f8" 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/330621a8-f6f0-4433-8d25-7e2cffdfe7f8 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/330621a8-f6f0-4433-8d25-7e2cffdfe7f8 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/330621a8-f6f0-4433-8d25-7e2cffdfe7f8 1408w" alt="" loading="lazy">
                  </figure>
                  
                  <h4 class="serif "><span class="link hyperlink-style-2">Building A Small Rental Portfolio In Greater Portland</span>
                  </h4>
                  
                  <ul class="featured-press__details">
                      
                               
                  </ul>
                </a>
              </li>
      </ul>
  
              <a
                  href="/blog"
                  
                  class="btn btn--primary-dark button-style-2"
                  
                  
                  
                  
                  
                  >
                          VIEW ALL
                  </a>
    </div> 
  </div> 
</section>
<section  class="image-section is-font-color-light is-background-color-light" id="section-274783f0-4da6-440d-9276-8b07eb13063c" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c">
    <script>
  (function(){
    const sectionId = 'section-274783f0-4da6-440d-9276-8b07eb13063c'
    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="redesign work-with-us parallax">
	<div class="container">
			<h2 class="serif">Work With Us</h2>
		<p>By combining market knowledge, collaboration, and dedicated support, our team delivers a seamless and informed real estate experience tailored to your goals.</p>
		<div class="btn-container">
              <a
                  role="button"
                  data-type="CONTACT_US"
                  class="btn btn--primary-light button-style-2"
                  
                  
                  
                  
                  
                  >
                          Contact Us
                  </a>
    </div>
	</div>
</div> 
</section>
<section id="section-ff459172-249b-4571-9b1a-5fde7e330639"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284">
  <script type="text/x-handlebars-template" class="jsIGItem">
    <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}">
      <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div>
      <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div>
      {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}}
    </a> 
</script>
<div class="ig-feed redesign">
  <div class="ig-feed-top lp-container">
    <div class="top-wrapper">
      <div class="top-left">
          <h3 class="lp-h3 title">Follow Me on Instagram</h3>
        <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a>
      </div>
      <div class="top-right">
          <a href="#" target="_blank" class="lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width follow-button jsIGLink button-style-1">Follow Me</a>
        <a class="nav-button top-nav-prev hidden-control button-style-1">
          <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </a>
        <a class="nav-button top-nav-next hidden-control button-style-1">
          <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </a>
      </div>
    </div>
  </div>
  <div class="lp-container ig-feed-container ">
    <div class="ig-feed-feed" data-limit="33">
    </div>
  </div>
  <div class="bottom-controls">
    <a class="bottom-nav-button bottom-nav-prev button-style-1">
      <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.099 13.25l-5.25-5.775L7.099 1.7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
    </a>
    <a class="bottom-nav-button bottom-nav-next button-style-1">
      <svg width="9" height="15" viewBox="0 0 9 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.90137 1.75L7.15137 7.525L1.90137 13.3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
    </a>
  </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="874a9373-949d-4275-b72f-04c2a6ec373b">
            <div class="footer redesign  no_newsletter "> 
    <div class="container">
        <h3>Veronica Schneider</h3>
        <div class="info-wrap">
            <div class="info-wrap-contact agent_box">
                <div class="info-wrap-contact_zone type_user">
                    <h4 class="serif">Let&#x27;s Connect</h4>
                    <div class="info-wrap-contact_cell">
                        <i>
                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <path d="M2 0C0.903517 0 0 0.903517 0 2V16.6667C0 17.7631 0.903517 18.6667 2 18.6667H28C29.0965 18.6667 30 17.7631 30 16.6667V2C30 0.903517 29.0965 0 28 0H2ZM2.4375 1.33333H27.5625L15.6458 11.4896C15.3389 11.7512 14.6612 11.7512 14.3542 11.4896L2.4375 1.33333ZM1.33333 2.13542L10.1979 9.6979L1.33333 16.5729V2.13542ZM28.6667 2.13542V16.5729L19.8021 9.6979L28.6667 2.13542ZM11.2396 10.5833L13.4896 12.5C14.3543 13.2369 15.6457 13.2369 16.5104 12.5L18.7604 10.5833L27.4687 17.3333H2.53125L11.2396 10.5833Z" fill="#1A1A1A" />
                            </svg>
                        </i>
                        <p class="contact_title">Email</p>
                        <a href="/cdn-cgi/l/email-protection#304655425f5e59535170405f4244435954554255571e535f5d" class="lp-link info-wrap-contact_link grey-text hyperlink-style-1"><span class="__cf_email__" data-cfemail="dfa9baadb0b1b6bcbe9fafb0adabacb6bbbaadbab8f1bcb0b2">[email&#160;protected]</span></a>
                    </div>
                    <div class="info-wrap-contact_cell">
                        <i><svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A" />
                        </svg></i>
                        <p class="contact_title">Phone Number</p>
                        <a href="tel:2078384034" class="lp-link info-wrap-contact_link grey-text hyperlink-style-1">207-838-4034</a>
                    </div>
                </div>
                <div class="info-wrap-contact_zone">
                    <div class="info-wrap-contact_cell">
                        <i>
                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 30.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A" />
                                <path d="M6.57515 19.1142C6.6671 19.422 6.95006 19.6323 7.2713 19.6323C7.59215 19.6323 7.87511 19.422 7.96746 19.1142C8.67742 16.7514 10.0393 15.2447 11.3559 13.788C12.9944 11.9747 14.5422 10.2615 14.5422 7.2717C14.5422 3.39788 11.1451 0 7.2713 0C3.39827 0 0 3.39748 0 7.2717C0 10.2615 1.54819 11.9747 3.18674 13.788C4.50328 15.2447 5.86479 16.7514 6.57515 19.1142ZM7.2713 1.45426C10.316 1.45426 13.0883 4.22663 13.0883 7.2717C13.0883 9.70191 11.7852 11.1435 10.2769 12.8121C9.2461 13.9534 8.10992 15.2096 7.2713 16.9199C6.43229 15.2096 5.29651 13.953 4.2657 12.8121C2.75698 11.1432 1.45426 9.70191 1.45426 7.2717C1.45426 4.22663 4.22663 1.45426 7.2713 1.45426Z" fill="#1A1A1A" />
                                <path d="M7.26193 10.1616C8.8705 10.1616 10.1795 8.86084 10.1795 7.26175C10.1795 5.66305 8.87089 4.3623 7.26193 4.3623C5.65297 4.3623 4.34473 5.66305 4.34473 7.26175C4.34512 8.86084 5.65336 10.1616 7.26193 10.1616ZM7.26193 5.81657C8.06898 5.81657 8.72527 6.46536 8.72527 7.26175C8.72527 8.05932 8.06898 8.70733 7.26193 8.70733C6.45528 8.70733 5.79899 8.05893 5.79899 7.26175C5.79899 6.46536 6.45528 5.81657 7.26193 5.81657Z" fill="#1A1A1A" />
                            </svg>
                        </i>
                        <p class="info-wrap-contact_title">Address</p>
                        <p class="info-wrap-contact_link grey-text"><p>417 US ROUTE 1<br>FALMOUTH ME 04105</p></p>
                    </div>
                </div>
            </div>
        </div>
        <div class="text_footer first_text_footer">
            <div class="images_box">
                <div class="img_size">
                    <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3" 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/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3c9ddaf8-e0cf-475b-ae23-d939c376d7c3 524w" alt="Footer Image" sizes="200px">
                </div>
            </div>
            <div class="luxury-text">
                <div style="font-size: 12px;"><a href="https://www.portsiderealestategroup.com/privacy-policy/" target="_blank" rel="noopener">Portside Real Estate Group Privacy Policy</a><br><br>All information is deemed reliable but not guaranteed and should be independently reviewed and verified.</div>
<div style="opacity: 1;"><img style="margin-top: 20px; width: 100px; height: auto;" src="https://res.cloudinary.com/luxuryp/images/f_auto,q_auto/g5qzbyky8ifp5w0ex0ik/realtor-eho-logo-07232021-update-dark"></div>
            </div>
        </div>
        <div class="text_footer second_text_footer">
            <div class="text_content_wrap">
                <div>
                    <div>&nbsp;</div>
<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style>
                </div>
            </div>
        </div>
        <div class="info-privacy">
          <div class="form-row info-privacy__row">

            <div class="form-col form-col--powered powered-box">
                    <div class="img-wrap">
                        <img src="https://media-production.lp-cdn.com/media/b517d231-d9f5-4e15-870d-852a977c9204" alt="">
                    </div>
                <div class="powered_zone">
                    Real Estate Website Design by <a href="https://www.luxurypresence.com/real-estate-website-design/" target="_blank" class="lp-link grey-text luxury-link underlined hyperlink-style-1">Luxury Presence</a>
                </div>
            </div>

            <div class="form-col form-col--copyright">
              <div class="copy_zone">
                <span class="copy_words">Copyright &copy;</span> <span class="auto-year-update">2026</span>
                | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-1">Privacy Policy</a>

              </div>
            </div>

            <div class="form-col form-col--socials">
                <ul class="lp-socials social_icons-style-1 socials socials--grey socials_zone">
                
                        <li>
                          <a
                            href="https://www.facebook.com/veronicasellsmaine"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0s"
                            target="_blank"
                            aria-label="FACEBOOK"
                          >
                              <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
                          </a>
                        </li>
                        <li>
                          <a
                            href="https://www.instagram.com/veronicasellsmaine"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0.1s"
                            target="_blank"
                            aria-label="INSTAGRAM"
                          >
                              <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
                          </a>
                        </li>
                        <li>
                          <a
                            href="https://www.linkedin.com/in/vschneider/"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0.2s"
                            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/veronicaschneider"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0.3s"
                            target="_blank"
                            aria-label="ZILLOW"
                          >
                              <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                          </a>
                        </li>
                  </ul>            </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 redesign " style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85,fit&#x3D;scale-down,width&#x3D;1920/https://media-production.lp-cdn.com/media/c070ab02-375f-48b1-9f41-60b84b645906')">
          <div class="container">
              <div class="section-details" style="--colorTxt: #ffffff">
                  <h2>Contact Details</h2>
                  <div class="info-zone">
        
                          <div class="info-zone_contact type_user">
                                <h4 class="serif">Veronica Schneider</h4>
                                <div class="info-zone_contact_cell">
                                        <i>
                                            <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.2313 5.154 12.5265H6.9996C9.0918 12.5265 10.797 10.8207 10.797 8.7285V8.1207H10.7964ZM11.46 16.5807C11.46 14.6565 13.0188 13.0977 14.943 13.0977C16.8666 13.0977 18.4254 14.6571 18.4254 16.5807C18.4254 18.5055 16.8678 20.0631 14.943 20.0631C13.02 20.0637 11.46 18.5043 11.46 16.5807ZM14.943 12.0381C12.4344 12.0381 10.4004 14.0721 10.4004 16.5807C10.4004 19.0887 12.435 21.1233 14.943 21.1233C17.4486 21.1233 19.485 19.0869 19.485 16.5807C19.485 14.0727 17.451 12.0381 14.943 12.0381ZM9.0846 4.8363C8.22 4.8363 7.512 5.5443 7.512 6.4089V8.7285C7.512 9.0093 7.2804 9.2415 6.999 9.2415H1.5726C1.2906 9.2415 1.0596 9.0111 1.0596 8.7285V6.9285C1.0596 6.4797 1.1628 6.0945 1.3902 5.7069C1.896 4.8465 2.7294 4.1013 3.795 3.4749C9.279 0.2517 20.7192 0.2523 26.2044 3.4749C27.2706 4.1013 28.104 4.8465 28.6098 5.7069C28.8354 6.0921 28.9398 6.4815 28.9398 6.9285V8.7285C28.9398 9.0111 28.71 9.2415 28.4268 9.2415H23.0004C22.719 9.2415 22.4874 9.0093 22.4874 8.7285V6.4089C22.4874 5.5425 21.7806 4.8363 20.9148 4.8363H9.0846ZM8.571 6.4089C8.571 6.1263 8.8026 5.8965 9.0846 5.8965H20.9154C21.1968 5.8965 21.429 6.1275 21.429 6.4089V8.7285C21.429 9.5943 22.1352 10.3017 23.001 10.3017H28.4274C29.292 10.3017 30 9.5931 30 8.7285V6.9285C30 6.2835 29.8464 5.7291 29.5206 5.1729C28.9188 4.1493 27.9564 3.2799 26.7384 2.5641C20.9214 -0.8547 9.0798 -0.8547 3.2622 2.5641C2.0436 3.2799 1.0812 4.1487 0.48 5.1729C0.153 5.7291 0 6.2835 0 6.9279V8.7279C0 9.5925 0.7092 10.3011 1.5726 10.3011H6.999C7.8648 10.3011 8.571 9.5937 8.571 8.7279V6.4089ZM9.7368 7.5915V8.7285C9.7368 10.2387 8.5092 11.4669 6.999 11.4669H4.6686C4.3914 11.4669 4.164 11.6799 4.1412 11.9511C3.8892 14.8347 3.7386 17.7435 3.5448 20.6331C3.4116 22.6425 4.989 24.3315 7.0032 24.3315H22.8822C24.882 24.3315 26.475 22.6575 26.3406 20.6343L25.7622 11.9607C25.7436 11.6811 25.5102 11.4675 25.2342 11.4675L23.001 11.4663C21.4902 11.4663 20.2632 10.2375 20.2632 8.7279V7.5909C20.2632 7.2981 20.0262 7.0611 19.7334 7.0611H10.2666C9.9738 7.0611 9.7368 7.2987 9.7368 7.5915Z" fill="#1A1A1A"/>
                                            </svg>
                                        </i>
                                    <p class="contact_title">Phone</p>
                                    <a href="tel:207-838-4034" class="lp-link info-zone_contact_link link hyperlink-style-2">207-838-4034</a>
                                </div>
                                <div class="info-zone_contact_cell">
                                        <i>
                                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                <path d="M2 0C0.903517 0 0 0.903517 0 2V16.6667C0 17.7631 0.903517 18.6667 2 18.6667H28C29.0965 18.6667 30 17.7631 30 16.6667V2C30 0.903517 29.0965 0 28 0H2ZM2.4375 1.33333H27.5625L15.6458 11.4896C15.3389 11.7512 14.6612 11.7512 14.3542 11.4896L2.4375 1.33333ZM1.33333 2.13542L10.1979 9.6979L1.33333 16.5729V2.13542ZM28.6667 2.13542V16.5729L19.8021 9.6979L28.6667 2.13542ZM11.2396 10.5833L13.4896 12.5C14.3543 13.2369 15.6457 13.2369 16.5104 12.5L18.7604 10.5833L27.4687 17.3333H2.53125L11.2396 10.5833Z" fill="#1A1A1A"/>
                                            </svg>
                                        </i>
                                    <p class="contact_title">Email</p>
                                    <a href="/cdn-cgi/l/email-protection#b8ceddcad7d6d1dbd9f8c8d7cacccbd1dcddcadddf96dbd7d5" class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="3a4c5f48555453595b7a4a55484e49535e5f485f5d14595557">[email&#160;protected]</span></a>
                                </div>
                          </div>
                          <div class="info-zone_contact">
                                <div class="info-zone_contact_cell">
                                        <i>
                                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 30.0251 25.8466 30.0251 25.5431V7.08291C30.0251 6.85086 30.17 6.63144 29.9821 6.49489ZM28.8412 25.0388L20.9483 28.0361V10.7065L28.8412 8.08649V25.0388Z" fill="#1A1A1A"/>
                                                <path d="M6.57515 19.1142C6.6671 19.422 6.95006 19.6323 7.2713 19.6323C7.59215 19.6323 7.87511 19.422 7.96746 19.1142C8.67742 16.7514 10.0393 15.2447 11.3559 13.788C12.9944 11.9747 14.5422 10.2615 14.5422 7.2717C14.5422 3.39788 11.1451 0 7.2713 0C3.39827 0 0 3.39748 0 7.2717C0 10.2615 1.54819 11.9747 3.18674 13.788C4.50328 15.2447 5.86479 16.7514 6.57515 19.1142ZM7.2713 1.45426C10.316 1.45426 13.0883 4.22663 13.0883 7.2717C13.0883 9.70191 11.7852 11.1435 10.2769 12.8121C9.2461 13.9534 8.10992 15.2096 7.2713 16.9199C6.43229 15.2096 5.29651 13.953 4.2657 12.8121C2.75698 11.1432 1.45426 9.70191 1.45426 7.2717C1.45426 4.22663 4.22663 1.45426 7.2713 1.45426Z" fill="#1A1A1A"/>
                                                <path d="M7.26193 10.1616C8.8705 10.1616 10.1795 8.86084 10.1795 7.26175C10.1795 5.66305 8.87089 4.3623 7.26193 4.3623C5.65297 4.3623 4.34473 5.66305 4.34473 7.26175C4.34512 8.86084 5.65336 10.1616 7.26193 10.1616ZM7.26193 5.81657C8.06898 5.81657 8.72527 6.46536 8.72527 7.26175C8.72527 8.05932 8.06898 8.70733 7.26193 8.70733C6.45528 8.70733 5.79899 8.05893 5.79899 7.26175C5.79899 6.46536 6.45528 5.81657 7.26193 5.81657Z" fill="#1A1A1A"/>
                                            </svg>
                                        </i>
                                    <p class="info-wrap-contact_title">Address</p>
                                    <p class="info-zone_contact_link pre-line">417 US ROUTE 1
        FALMOUTH ME 04105</p>
                                </div>
                          </div>
                        <div class="info-zone_contact">
                            <div class="info-zone_contact_cell">
                                <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p>
                            </div>
                        </div>
                        <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__contact-column">
                        
                                <li>
                                  <a
                                    href="https://www.facebook.com/vschneider2004/"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0s"
                                    target="_blank"
                                    aria-label="FACEBOOK"
                                  >
                                      <span class="lp-i lp-i--facebook" aria-hidden="true"></span>
                                  </a>
                                </li>
                                <li>
                                  <a
                                    href="https://www.instagram.com/gtrmaine/?hl&#x3D;en"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0.1s"
                                    target="_blank"
                                    aria-label="INSTAGRAM"
                                  >
                                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
                                  </a>
                                </li>
                                <li>
                                  <a
                                    href="https://www.linkedin.com/in/vschneider/"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0.2s"
                                    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/veronicaschneider"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0.3s"
                                    target="_blank"
                                    aria-label="ZILLOW"
                                  >
                                      <span class="lp-i lp-i--zillow" aria-hidden="true"></span>
                                  </a>
                                </li>
                          </ul>          </div>
              </div>
              <div class="section-message">
                  <form data-type="contact-form">
                      <h2>Submit a Message</h2>
                       <div class="h-pot">
                        <label for="-middleName">Middle Name</label>
                        <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
                      </div>
        
        
                      <div class="lp-input-group">
                          <label for="prod-name" class="lp-label">Name</label>
                          <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light">
                      </div>
                      <div class="lp-input-group">
                          <label for="prod-email" class="lp-label">Email</label>
                          <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light">
                      </div>
                      <div class="lp-input-group">
                          <label for="prod-phone" class="lp-label">Phone</label>
                          <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light">
                      </div>
                      <div class="lp-input-group m16">
                          <label for="prod-message" class="lp-label">Message</label>
                          <textarea id="prod-message" name="message" value="" required="" class="lp-input"></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
                Veronica Schneider
                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 style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
                      
                      
                      <button type="submit" class="submitButton lp-btn button-style-2">
                          <span class="label-initial">Submit</span>
                          <span class="label-loading">Submitting</span>
                          <span class="label-success">Submitted</span>
                          <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span>
                      </button>
                      <p class="success-message success hide">
                        Message sent successfully!
                      </p>
                  </form>
                  
                  
              </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>
        <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>Veronica Schneider</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-HRHYFTS7PJ', { 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: '609cd4e8-95af-457b-aa14-d438f5027e01',
                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":"db264a47-d9a5-47d0-a2b2-f21b315ad749","alt":null,"bytes":112699,"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/dd908352-5d81-4a6f-a84b-55c104fe2c5c","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/dd908352-5d81-4a6f-a84b-55c104fe2c5c","authorUrl":null,"createdAt":"2025-12-20T20:48:58.135Z","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/dd908352-5d81-4a6f-a84b-55c104fe2c5c","sourceUrl":null,"updatedAt":"2025-12-20T20:48:58.135Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/dd908352-5d81-4a6f-a84b-55c104fe2c5c","__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/dd908352-5d81-4a6f-a84b-55c104fe2c5c","description":null,"displayName":"property-logo","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/dd908352-5d81-4a6f-a84b-55c104fe2c5c","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/dd908352-5d81-4a6f-a84b-55c104fe2c5c","originalFileName":"Property logo","cloudinaryPublicId":"dd908352-5d81-4a6f-a84b-55c104fe2c5c"}
            },
            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("609cd4e8-95af-457b-aa14-d438f5027e01", {});
                window.luxuryPresence.config.setWebsite("1a331a96-8dce-42a2-a62b-094a4bf5d580", {
                    myhomeDashboardEnabled: true
                });
                const url = new URL(window.location.href);
                const shareId = url.searchParams.get('shareId');
                window.luxuryPresence.config.setPage("4f4524ed-89eb-4dcd-af1c-13f9a8fe2b0a", {
                    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("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {});
                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) {
  const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content');
  if (disclaimerLabel) {
    const input = disclaimerLabel.querySelector('input');
    if (input) {
      input.setAttribute('id', `${sectionDomId}-termsAccepted`);
      input.value = 'true';
      const label = document.createElement('label');
      label.setAttribute('for', `${sectionDomId}-termsAccepted`);
      label.classList.add('lp-visually-hidden');
      label.textContent = 'Opt in/Disclaimer Consent:';
      disclaimerLabel.prepend(label);
    }
  }
  function setHttp(link) {
    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
      link = 'https://' + link;
    }
    return link;
  }
  const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link');
  socialLinks.forEach(linkElement => {
    const href = linkElement.getAttribute('href');
    if (href) {
      linkElement.setAttribute('href', setHttp(href));
    }
  });
  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
  if (redirectLink.length) {
    const rawHref = setHttp(redirectLink.attr('href'));
    let formEvent;
    if (rawHref) {
      formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset';
      $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () {
        redirectLink.attr('href', rawHref);
        redirectLink[0].click();
      });
    }
  }
})('modal-global-contact-us');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  const $section = $('#' + sectionDomId);
  const $hamburger = $section.find('.hamburger-component');
  function onSideMenuShow() {
    if (!$hamburger.hasClass('active')) {
      $hamburger.addClass('active');
    }
  }
  function onSideMenuHide() {
    $hamburger.removeClass('active');
  }
  const $window = $(window);
  $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow);
  $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide);
  const $subContainers = $section.find('.navigation__item.sub-nav-container');
  $subContainers.hover(function () {
    $(this).find('.sub-nav').addClass('visible');
  }, function () {
    $(this).find('.sub-nav').removeClass('visible');
  });
  $window.on('click.lpui-auto-clean', function () {
    $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown');
  });
  let fixedWidth = 0;
  const rightPad = 20;
  function fixSubsPosition() {
    const wWidth = window.innerWidth;
    if (innerWidth === fixedWidth) {
      return;
    }
    fixedWidth = wWidth;
    $subContainers.each(function () {
      const $sub = $(this).find('.sub-nav');
      $sub[0].style.right = '';
      const sRect = $sub[0].getBoundingClientRect();
      const sRight = sRect.left + sRect.width;
      if (sRight > wWidth - rightPad) {
        const parentRect = $sub[0].offsetParent.getBoundingClientRect();
        const parentRight = parentRect.left + parentRect.width;
        $sub[0].style.right = `${parentRight - wWidth + rightPad}px`;
      }
    });
  }
  var debouncer;
  $window.on('resize.lpui-auto-clean', function () {
    clearTimeout(debouncer);
    debouncer = setTimeout(fixSubsPosition, 500);
  });
  fixSubsPosition();
  if ($('.property-intro').length || $('.property-intro-2').length) {
    $('nav').addClass('dark-opening');
    $("#global-navbar").css({
      "background-color": "rgb(26, 26, 26)",
      "color": "rgb(255, 255, 255)"
    });
  }
})('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\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var sidemenu = $('#' + sectionDomId);
  sidemenu.on('lpui-sidemenu-show.lpui-auto-clean', function () {
    window.lpUI.requestScrollLock(sectionDomId);
  });
  $(window).on('lpui-sidemenu-hide.lpui-auto-clean', function () {
    window.lpUI.releaseScrollLock(sectionDomId);
  });
  $(window).click(function (e) {
    let targetContactForm = $(e.target).closest('#modal-global-contact-us').length;
    let targetSideMenu = $(e.target).closest('.sidemenu').length;
    let targetContactItem = $(e.target).closest('[data-type="CONTACT_US"]').length;
    let targetHamburger = $(e.target).closest('.hamburger-component').length;
    if (!(targetContactForm || targetSideMenu || targetContactItem || targetHamburger)) {
      $('body').removeClass('locked');
      $('.hamburger').removeClass('active');
      $('.sidemenu').removeClass('visible');
      $('#modal-global-contact-us').removeClass('visible');
    }
  });
})('global-sidemenu');
} catch(e) {
console.log(e);
}
                
                try {
(function init(footerId) {
  var textContent = $(".text_content_wrap p").text().trim().length;
  const socialLinks = $(`#${footerId} .lp-socials__link`);
  if (textContent < 1) {
    $(".text_content_wrap").remove();
    $(".second_text_footer").css({
      'margin-bottom': 0
    });
  }
  if (socialLinks.length > 0) {
    socialLinks.attr('data-wow-offset', '10');
  }
  if ($(window).width() > 1280) {
    let footer = document.querySelector("#" + footerId);
    let copyrightElem = footer.querySelector(".copy_zone");
    if (copyrightElem) {
      copyrightElem.style.whiteSpace = "nowrap";
      let nowrapElemWidth = copyrightElem.clientWidth;
      copyrightElem.style.whiteSpace = "";
      let normalElemWidth = copyrightElem.clientWidth;
      if (nowrapElemWidth > normalElemWidth) {
        footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto");
      }
    }
  }
  const form = $("#" + footerId).find("form");
  const redirectLink = $('#' + footerId + ' .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;
  }
})('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-96ef5b94-296f-4401-8573-7ace79675e00', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-188c8f37-24b7-4b81-a99d-437c45057169', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId, options) {
  var section = null;
  switch (sectionDomId) {
    case 'NAVBAR':
      section = $('body > nav');
      break;
    case 'FOOTER':
      section = $('body > footer');
      break;
    case 'SIDEMENU':
      section = $('body > div.sidemenu');
      break;
    case 'CONTACT':
      section = $('#modal-global-contact-us');
      break;
    case 'MOBILE_CONTACT':
      section = $('body > div.mobile-contact-wrapper');
      break;
    case 'SUBSCRIBE':
      // Subscribe Not Implemented
      section = null;
      break;
    case 'ACCOUNT':
      // Account Not Implemented
      section = null;
      break;
    default:
      section = $(`#${sectionDomId}`);
  }
  if (!section.length) {
    return;
  }
  if (options.nextArrow) {
    // eslint-disable-next-line
    options.nextArrow = `#${sectionDomId} ${options.nextArrow}`;
  }
  if (options.prevArrow) {
    // eslint-disable-next-line
    options.prevArrow = `#${sectionDomId} ${options.prevArrow}`;
  }
  if (options.asNavFor) {
    // eslint-disable-next-line
    var mainImageOptions = {
      slidesToShow: 1,
      slidesToScroll: 1,
      fade: true,
      asNavFor: `#${sectionDomId} .carousel-container`,
      nextArrow: options.nextArrow,
      prevArrow: options.prevArrow,
      swipe: true
    };
    $(options.asNavFor).not('.slick-initialized').slick(mainImageOptions);
    section.find('.carousel-container').not('.slick-initialized').slick(options);
  } else {
    section.find('.carousel-container').not('.slick-initialized').slick(options);
  }
})('section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1', JSON.parse("{\"arrows\":true,\"infinite\":false,\"nextArrow\":\".featured-team-section .slick-links-nav .next\",\"prevArrow\":\".featured-team-section .slick-links-nav .prev\",\"responsive\":[{\"settings\":{\"speed\":700,\"slidesToShow\":3,\"slidesToScroll\":3},\"breakpoint\":991},{\"settings\":{\"slidesToShow\":1,\"slidesToScroll\":1},\"breakpoint\":769}],\"slidesToShow\":3,\"slidesToScroll\":3,\"companyId\":\"609cd4e8-95af-457b-aa14-d438f5027e01\",\"usePageResource\":false,\"sectionIndex\":3}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-1b63b6ec-d9ac-4575-b35b-196d8364f2d1', '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');
  slider = $section.find('.js-slider');
  var autoscroll = slider.attr('data-autoscroll') === 'true';
  var autoscrollInterval = parseInt(slider.attr('data-autoscroll-interval'), 10) || 6;
  if (slider.length > 0) {
    slider.slick({
      dots: false,
      fade: true,
      speed: 300,
      arrows: true,
      infinite: true,
      nextArrow: ".featured-testimonials .slick-links-nav .next",
      prevArrow: ".featured-testimonials .slick-links-nav .prev",
      slidesToShow: 1,
      adaptiveHeight: true,
      slidesToScroll: 1,
      autoplay: autoscroll,
      autoplaySpeed: autoscrollInterval * 1000
    });
  }
})('section-3da2ee6f-7ae2-45bb-b0fc-fd8a06453a6e', '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-6e5eddec-0536-4f89-b18f-c165a3f6daf3', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $section = $(`#${sectionDomId}`);
  const $container = $section.find('.featured-properties-section');
  const $slider = $section.find('.featured-properties');
  const threeSlides = $container.hasClass('three-slides');
  const autoScroll = $container[0].dataset['autoScroll'] === 'true';
  const autoplaySpeed = parseInt($container[0].dataset['autoplaySpeed']) || 3000;
  const sliderOptions = {
    "arrows": true,
    "infinite": false,
    autoplay: autoScroll,
    autoplaySpeed: autoplaySpeed,
    "nextArrow": $section.find('.slick-links-nav .next'),
    "prevArrow": $section.find('.slick-links-nav .prev'),
    "slidesToShow": 2,
    "slidesToScroll": 2,
    "responsive": [{
      "settings": {
        "slidesToShow": 1,
        "slidesToScroll": 1
      },
      "breakpoint": 769
    }]
  };
  if (threeSlides) {
    sliderOptions.slidesToShow = 3;
    sliderOptions.slidesToScroll = 3;
    sliderOptions.responsive.unshift({
      "settings": {
        "slidesToShow": 2,
        "slidesToScroll": 2
      },
      "breakpoint": 1100
    });
  }
  if (!$slider.hasClass('.slick-initialized')) {
    $slider.slick(sliderOptions);
  }
  $slider.on('beforeChange', function () {
    $slider.find('.featured-properties__share.featured-properties__share--opened').removeClass('featured-properties__share--opened');
  });
  $slider.find('.featured-properties__share .btn').on('click', function () {
    $parent = $(this).parent();
    if ($parent.hasClass('featured-properties__share--opened')) {
      $parent.removeClass('featured-properties__share--opened');
    } else {
      $slider.find('.featured-properties__share.featured-properties__share--opened').removeClass('featured-properties__share--opened');
      $parent.addClass('featured-properties__share--opened');
    }
  });
})('section-96e44b24-7cc5-449d-9875-ea0e65e071a8', '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-475ddfda-1f55-4db5-b519-5f1409178b5f', '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;
  }

  // Where content / items are rendered
  const dataContainer = section.querySelector('.data-container');
  if (!dataContainer) {
    // no place to render items = no need to query server or do anything else
    return;
  }
  let variables = options.variables || {};

  // Some variables in options may not have been injected - remove
  Object.keys(variables).forEach(function (variableName) {
    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
      delete variables[variableName];
    }
  });

  // Merge page query variables
  if (options.usePageResource) {
    variables = {
      ...variables,
      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
    };
  }

  // Pagination Executes on a Numbered Pagination Container
  //  Or via a load more button
  let mode = 'BUTTONLESS_PAGINATION';
  const container = section.querySelector('.pagination-container');
  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
  if (container) {
    mode = 'NUMBERED_PAGINATION';
  }
  if (loadMoreButton) {
    mode = 'LOAD_MORE_BUTTON';
  }
  let searchContainer = section.querySelector('.search-container');
  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
  const eventPrefix = '__pagination-';
  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
    param: 'neighborhoodId',
    urlKey: 'neighborhood'
  }, {
    param: 'search',
    urlKey: 'search'
  }, {
    param: 'salesPriceGTE',
    urlKey: 'pricemin',
    formKey: 'priceMin',
    type: 'int'
  }, {
    param: 'salesPriceLTE',
    urlKey: 'pricemax',
    formKey: 'priceMax',
    type: 'int'
  }, {
    param: 'livingSpaceSizeGTE',
    urlKey: 'areamin',
    formKey: 'areaMin',
    type: 'int'
  }, {
    param: 'livingSpaceSizeLTE',
    urlKey: 'areamax',
    formKey: 'areaMax',
    type: 'int'
  }] : []);

  // Total entries - initialized in first render
  let totalNumber = 0;
  const DefaultSearchParams = {
    page: 1
  };
  searchFormParams.forEach(function (formParam) {
    DefaultSearchParams[formParam.formKey || formParam.param] = null;
  });
  let searchParams = {
    ...DefaultSearchParams
  };
  const offset = options.variables?.offset || 0;
  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;

  // entries of per page
  // when query variables for a given section would't be filled options.pageSize can store
  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
  let pageSize = parseInt(options.pageSize, 10) || 9;

  // Adding mobile pageRange support
  var NARROW_BREAKPOINT = 600;
  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);

  // Page range (pages on both sides of the current page)
  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;

  // Whether to display the 'Previous' button
  var showPrevious = true;

  // Whether to display the 'Next' button
  var showNext = true;

  // Whether to display the page buttons
  var showPageNumbers = true;

  // 'Previous' text
  var prevText = options.prevText || '&laquo;';

  // 'Next' text
  var nextText = options.nextText || '&raquo;';

  // Ellipsis text
  var ellipsisText = '&hellip;';
  var classPrefix = 'paginationjs';

  // Default active class
  var activeClassName = 'active';

  // Default disable class
  var disableClassName = 'disabled';

  // Pagination element's position in the container
  var position = 'bottom';

  // Whether to trigger pagination at initialization
  var triggerPagingOnInit = !options.skipInitialLoad;
  var showFirstOnEllipsisShow = true;
  var showLastOnEllipsisShow = true;

  // Instantiated in init()
  var el = null;

  // Controls scrollTop logic
  var firstRender = true;
  var renderBySearch = false;
  var disabled = false;

  // Pagination script class selector
  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';

  // Property Specific Image Override if No Image
  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;

  // Construct template
  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
  var template = Handlebars.compile(templateHTML);

  // Initialize
  init();
  function init() {
    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));

    // Append/prepend pagination element to the pagination container
    if (mode === 'NUMBERED_PAGINATION') {
      el = document.createElement('div');
      el.className = 'paginationjs';
      container[position === 'bottom' ? 'append' : 'prepend'](el);
    }
    if (searchContainer) {
      initSearchContainer({
        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
      }, function () {
        syncSearchFormState(searchParams);
      });
    }

    // Bind events
    observer();
  }
  function syncSearchFormState(params) {
    searchContainer.dispatchEvent(new CustomEvent('sync', {
      detail: params
    }));
  }
  function initSearchContainer(options, done) {
    var promises = [];
    if (options.fetchNeighborhoods) {
      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
          detail: {
            data: neighborhoods.map(function (item) {
              return {
                value: item.id,
                label: item.name
              };
            })
          }
        }));
      }));
    }
    if (options.fetchPostCategories) {
      promises.push(fetchPostCategories(function (categories) {
        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
          detail: {
            data: categories
          }
        }));
      }));
    }
    if (options.fetchOffices) {
      promises.push(fetchOffices(function (offices) {
        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
          detail: {
            data: offices
          }
        }));
      }));
    }
    if (options.fetchRentalRates) {
      promises.push(fetchAllRentalRates(function (rentalRates) {
        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
          detail: {
            data: rentalRates
          }
        }));
      }));
    }
    if (promises.length > 0) {
      Promise.all(promises).then(function () {
        done();
      });
    } else {
      // element's custom code is not executed yet, so we're scheduling callback to after element's code
      setTimeout(done);
    }
  }
  function fetchAllNeighborhoods(done) {
    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
    var gqlQuery = 'query ($companyId: String, $withProperties: NeighborhoodPropertiesFilter, $withBlogPosts: NeighborhoodBlogPostsFilter, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, withProperties: $withProperties, withBlogPosts: $withBlogPosts, offset: $offset, limit: $limit) {id, name}}';
    var payload = {};
    payload.offset = 0;
    payload.limit = 100;
    payload.companyId = variables.companyId;
    if (options.resource === 'properties') {
      payload.withProperties = {
        active: true
      };
      ['agentIds', 'tag', 'propertyTypeId', 'statusIds', 'architectureStyle', 'lifestyle', 'salesPriceGTE', 'salesPriceLTE', 'leasePriceGTE', 'leasePriceLTE', 'livingSpaceSizeGTE', 'livingSpaceSizeLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'featuredListing', 'leaseProperty', 'neighborhoodId', 'developmentId', 'openHouse'].forEach(function (field) {
        if (variables[field] !== undefined && variables[field] !== null) {
          payload.withProperties[field] = variables[field];
        }
      });
    }
    if (options.resource === 'posts') {
      payload.withBlogPosts = {
        active: true
      };
      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
        if (variables[field] !== undefined && variables[field] !== null) {
          payload.withBlogPosts[field] = variables[field];
        }
      });
    }
    superagent.post(url + '/graphql').withCredentials().send({
      query: gqlQuery,
      variables: payload
    }).then(function (res) {
      var items = res.body.data && res.body.data.neighborhoods || [];
      done(items, items.length);
    });
  }
  function fetchPostCategories(done) {
    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
    var featured = options.resource === 'posts' && !!variables.featured;
    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'postCategories (companyId: $companyId, offset: $offset, limit: $limit ' + (featured ? ' withFeaturedPublishedOnly: true' : ' withPublishedOnly: true') + ') {id, name, publishedCount, featuredPublishedCount}}';
    var payload = {};
    payload.offset = 0;
    payload.limit = 100;
    payload.companyId = variables.companyId;
    superagent.post(url + '/graphql').withCredentials().send({
      query: gqlQuery,
      variables: payload
    }).then(function (res) {
      var items = res.body.data && res.body.data.postCategories || [];
      done(items.map(function (item) {
        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
        return item;
      }), items.length);
    });
  }
  function fetchOffices(done) {
    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + 'id, name, tags}}';
    var payload = {
      offset: 0,
      limit: 100,
      companyId: variables.companyId
    };
    superagent.post(url + '/graphql').withCredentials().send({
      query: gqlQuery,
      variables: payload
    }).then(function (res) {
      var items = res.body.data && res.body.data.offices || [];
      done(items, items.length);
    });
  }
  function fetchAllRentalRates(done) {
    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
    var payload = {
      offset: 0,
      limit: 100,
      companyId: variables.companyId
    };
    superagent.post(url + '/graphql').withCredentials().send({
      query: gqlQuery,
      variables: payload
    }).then(function (res) {
      var items = res.body.data && res.body.data.rentalRates || [];
      done(items, items.length);
    }).catch(function (err) {
      console.error('Error fetching rental rates:', err);
      done([], 0);
    });
  }
  function fetchData(params, done) {
    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
    var resource = options.resource;
    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
    var payload = {};
    try {
      payload = JSON.parse(JSON.stringify(variables));
    } catch (e) {
      Object.keys(variables).forEach(function (variableName) {
        payload[variableName] = variables[variableName];
      });
    }
    payload.offset = (params.page - 1) * pageSize + offset;
    payload.limit = pageSize;
    payload.companyId = options.companyId;
    searchFormParams.forEach(function (formParam) {
      var val = params[formParam.formKey || formParam.param];
      if (val !== null && val !== undefined) {
        objSet(payload, formParam.param, val);
      }
    });

    // TODO: Disabled loading due to jarring effect
    // dataContainer.html('Loading...');
    superagent.post(url + '/graphql').withCredentials().send({
      query: gqlQuery,
      variables: payload
    }).then(function (res) {
      if (res.body.errors) {
        done(res.body.errors);
        return;
      }
      var data = res.body.data || {};
      var resources = data[resource] || [];
      var resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
      if (resource === 'properties' && propertyPlaceholderImage?.id) {
        resources = resources.map(resource => {
          if (resource.media?.length === 0) {
            return Object.assign(resource, {
              media: [propertyPlaceholderImage]
            });
          }
          return resource;
        });
      }
      done(null, resources, resourceCount);
    });
  }
  function getTotalPage() {
    return Math.ceil(totalNumber / pageSize);
  }
  function renderPaginationList() {
    var totalPages = getTotalPage();
    var rangeStart = searchParams.page - pageRange;
    var rangeEnd = searchParams.page + pageRange;
    if (rangeEnd > totalPages) {
      rangeEnd = totalPages;
      rangeStart = totalPages - pageRange * 2;
      rangeStart = rangeStart < 1 ? 1 : rangeStart;
    }
    if (rangeStart <= 1) {
      rangeStart = 1;
      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
    }

    // Making sure that 1 more page button is shown in edge positions
    if (pageRange === 0) {
      if (searchParams.page === totalPages) {
        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
      }
      if (searchParams.page === 1) {
        rangeEnd = Math.min(2, totalPages);
      }
    }

    // Render pagination list
    if (mode === 'NUMBERED_PAGINATION') {
      el.innerHTML = generateHTML({
        currentPage: searchParams.page,
        pageRange: pageRange,
        rangeStart: rangeStart,
        rangeEnd: rangeEnd
      });
      if (totalPages < 2 && hidePaginationOnFirstPage) {
        container.style.display = 'none';
      } else {
        container.style.display = '';
      }
    } else if (mode === 'LOAD_MORE_BUTTON') {
      if (searchParams.page >= totalPages) {
        loadMoreButton.style.display = 'none';
      } else {
        loadMoreButton.style.display = '';
      }
    }
  }
  function render(data) {
    renderPaginationList();

    // Render new content with handlebars
    var html = '';
    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
      // If using load more, append search results to existing results
      html = dataContainer.innerHTML;
    }
    for (var i = 0; i < data.length; i++) {
      var itemData = recursivelyParse(data[i]);
      itemData.sectionIndex = options.sectionIndex;
      itemData.renderOptions = options.renderOptions;
      html += template(itemData);
    }
    dataContainer.innerHTML = html;

    // Scroll Top
    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
      // Only animate to the top if we replace dataContainer (numbered pagination)
      setTimeout(() => {
        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
        window.scrollTo({
          top: scrollTargetOffsetTop,
          behavior: 'smooth'
        });
      }, 250);
    }
    return true;
  }
  function generateHTML(args) {
    const totalPages = getTotalPage();
    const {
      rangeStart,
      rangeEnd
    } = args;
    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
      ...searchParams,
      page
    });
    let html = '';
    if (showPrevious || showPageNumbers || showNext) {
      html += '<div class="paginationjs-pages"><ul>';

      // Previous button
      if (showPrevious) {
        if (searchParams.page <= 1) {
          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
        } else {
          html += `<li class="${classPrefix}-prev J-paginationjs-previous" data-num="${searchParams.page - 1}" title="Previous page"><a href="${makeLnk(searchParams.page - 1)}">${prevText}</a></li>`;
        }
      }

      // Pages
      if (showPageNumbers) {
        if (rangeStart <= 3) {
          for (let i = 1; i < rangeStart; i++) {
            html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
          }
        } else {
          if (showFirstOnEllipsisShow) {
            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
          }
          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
        }
        for (let i = rangeStart; i <= rangeEnd; i++) {
          html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`;
        }
        if (rangeEnd < totalPages - 2) {
          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
          if (showLastOnEllipsisShow) {
            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
          }
        } else {
          for (let i = rangeEnd + 1; i <= totalPages; i++) {
            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
          }
        }
      }

      // Next button
      if (showNext) {
        if (searchParams.page >= totalPages) {
          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
        } else {
          html += `<li class="${classPrefix}-next J-paginationjs-next" data-num="${searchParams.page + 1}" title="Next page"><a href="${makeLnk(searchParams.page + 1)}">${nextText}</a></li>`;
        }
      }
      html += '</ul></div>';
    }
    return html;
  }
  function go(newSearchParams, callback, restorationVisit) {
    if (disabled) return;
    var goToPageNumber = newSearchParams.page;

    // Page number is out of bounds
    if (!goToPageNumber || goToPageNumber < 1) return;
    var totalPage = getTotalPage();

    // Page number is out of bounds
    if (!restorationVisit && totalNumber > 0) {
      if (goToPageNumber > totalPage) return;
    }
    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
        ...newSearchParams,
        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
      });
      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
          queryString: true
        }));
      }
    }

    // Fetch and update page
    fetchData(newSearchParams, renderWithData);
    disabled = true;
    function renderWithData(err, data, count) {
      if (err) {
        dataContainer.dispatchEvent(new Event('error'));
      } else {
        searchParams = {
          ...newSearchParams
        };
        totalNumber = count - offset;
        if (data.length === 0) {
          dataContainer.dispatchEvent(new Event('no-data'));
        } else {
          dataContainer.dispatchEvent(new Event('data'));
        }
        render(data);
        firstRender = false;
      }
      disabled = false;
      renderBySearch = false;
    }
  }
  function areQueryParamsEqual(first, second) {
    var differ = Object.keys(first).find(function (key) {
      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
    });
    if (differ) {
      return false;
    }
    differ = Object.keys(second).find(function (key) {
      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
    });
    return !differ;
  }
  function next(callback) {
    go({
      ...searchParams,
      page: searchParams.page + 1
    }, callback);
  }
  function previous(callback) {
    go({
      ...searchParams,
      page: searchParams.page - 1
    }, callback);
  }
  function refresh(callback) {
    go(searchParams, callback);
  }
  function update(params, callback) {
    renderBySearch = true;
    go(params, callback);
  }
  function observer() {
    if (searchContainer) {
      searchContainer.addEventListener('search', function (event, newSearchParams) {
        newSearchParams = event.detail || newSearchParams;
        update({
          ...searchParams,
          ...newSearchParams,
          page: 1
        });
      });
      searchContainer.addEventListener('clear-search', function () {
        const defaultSearchParams = {
          ...DefaultSearchParams
        };
        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
          ...defaultSearchParams,
          page: null
        }, {
          ...searchParams,
          page: null
        });

        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
        // when search form have default state
        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
          return;
        }

        // if someone initially go to some page and click 'Clear' on search from
        // we should't navigate to first page. We should preserve page value
        if (isCurrentSearchFormStateDefault) {
          defaultSearchParams.page = searchParams.page;
        }
        syncSearchFormState(defaultSearchParams);
        update(defaultSearchParams);
      });
    }
    if (mode === 'LOAD_MORE_BUTTON') {
      loadMoreButton.addEventListener('click', function (event) {
        go({
          ...searchParams,
          page: searchParams.page + 1
        });
        return false;
      });
    }
    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
      // Do initial render
      go(Object.assign({}, searchParams, {
        page: 1
      }));
      return;
    }
    if (mode === 'NUMBERED_PAGINATION') {
      // Go to specified page number
      container.addEventListener(eventPrefix + 'go', function (event) {
        let {
          pageNumber,
          done
        } = event.detail || {};
        pageNumber = parseInt(pageNumber, 10);
        if (!pageNumber) {
          return;
        }
        go({
          ...searchParams,
          page: pageNumber
        }, done);
      });

      // Page number button click
      el.addEventListener('click', function (event) {
        let clickTarget = event.target;
        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
        let pageNumber = current?.getAttribute('data-num');
        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
          return;
        } else {
          go({
            ...searchParams,
            page: parseInt(pageNumber, 10)
          });
        }
        event.preventDefault();
      });

      // Whether to load the default page
      var defaultPageNumber = searchParams.page;
      if (triggerPagingOnInit) {
        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
          detail: {
            pageNumber: defaultPageNumber
          }
        }));
      }
    }
    window.addEventListener('popstate', function (event) {
      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
      if (!areQueryParamsEqual(newParams, searchParams)) {
        go(newParams, null, true);
        if (searchContainer) {
          syncSearchFormState(newParams);
        }
      }
    });
  }
  function replaceVariables(template, variables) {
    var formattedString;
    for (var key in variables) {
      var value = variables[key];
      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
      formattedString = (formattedString || template).replace(regexp, value);
    }
    return formattedString;
  }
  function isTextEditorValue(obj) {
    return 'raw' in obj || 'gjs' in obj;
  }
  function getTextEditorValue(obj) {
    if (!obj.html) {
      return '';
    }
    var data = obj.html;
    var css = (obj.raw || obj.gjs || {}).css;
    if (css) {
      data = data + '<style>' + css + '</style>';
    }
    return data;
  }

  /**
   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
   * strips out raw proprties and returns only HTML if it exists.
   * @param {Object} resources a collection retrieved from the database
   * @return {Object} the newly modified object.
   */
  function recursivelyParse(resources) {
    forEach(resources, function (value, key) {
      if (!value) {
        return;
      }
      if (value instanceof Object) {
        if (isTextEditorValue(value)) {
          resources[key] = getTextEditorValue(value);
          return;
        } else {
          return recursivelyParse(value);
        }
      }
      try {
        var parsedData = JSON.parse(value);
        if (isTextEditorValue(parsedData)) {
          resources[key] = getTextEditorValue(parsedData);
        }
      } catch (e) {
        // do nothing if we failed to parse value as JSON
      }
    });
    return resources;
  }
  function forEach(collection, iteratee) {
    var func = Array.isArray(collection) ? arrayEach : baseFor;
    return func(collection, iteratee);
  }
  function baseFor(object, iteratee) {
    if (!object) {
      return;
    }
    var iterable = Object(object);
    var props = Object.keys(object);
    var length = props.length;
    var index = -1;
    while (length--) {
      var key = props[++index];
      if (iteratee(iterable[key], key, iterable) === false) {
        break;
      }
    }
    return object;
  }
  function objSet(obj, path, value) {
    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
    pathArray.reduce((acc, key, i) => {
      if (acc[key] === undefined) acc[key] = {};
      if (i === pathArray.length - 1) acc[key] = value;
      return acc[key];
    }, obj);
  }
  function arrayEach(array, iteratee) {
    var index = -1;
    var length = array.length;
    while (++index < length) {
      if (iteratee(array[index], index, array) === false) {
        break;
      }
    }
    return array;
  }
  function selectPageRangeMode(e) {
    pageRange = e.matches ? mobilePageRange : desktopPageRange;
    renderPaginationList();
  }
  paginationMql.addEventListener('change', selectPageRangeMode);
})('section-8db0b613-5575-42a9-9099-dc80364b76d2', JSON.parse("{\"pageSize\":\"6\",\"resource\":\"neighborhoods\",\"pageRange\":0,\"variables\":{\"limit\":6,\"offset\":0,\"sortDir\":\"DESC\",\"companyId\":\"609cd4e8-95af-457b-aa14-d438f5027e01\",\"categoryId\":\"{{pageElement.categoryId}}\"},\"hidePaginationOnFirstPage\":true,\"companyId\":\"609cd4e8-95af-457b-aa14-d438f5027e01\",\"usePageResource\":false,\"sectionIndex\":8}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-8db0b613-5575-42a9-9099-dc80364b76d2', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-56919c6d-753c-458e-b2d0-ea9b89ba47dd', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-b7221063-8ed7-411d-bddb-de7ea6f5abdd', '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-274783f0-4da6-440d-9276-8b07eb13063c', '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-ff459172-249b-4571-9b1a-5fde7e330639', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"609cd4e8-95af-457b-aa14-d438f5027e01\",\"sectionIndex\":12}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  const $section = $('#' + sectionDomId);
  var templateHTML = $section.find('.jsIGItem').html();
  var itemTemplate = templateHTML && Handlebars.compile(templateHTML);
  const $container = $section.find('.ig-feed-feed');
  const $topPrev = $section.find('.top-nav-prev');
  const $topNext = $section.find('.top-nav-next');
  const $bottomPrev = $section.find('.bottom-nav-prev');
  const $bottomNext = $section.find('.bottom-nav-next');
  let limit = 33;
  try {
    limit = parseInt($container[0].dataset['limit']);
  } catch (e) {}
  if (!limit) {
    limit = 33;
  }
  let igFeed = {};
  let usedWidth = 0;
  let slider = null;
  $section.on('ig-data', function (ev, feed) {
    feed = ev.detail || feed;
    igFeed = feed;
    if (feed.active && feed.items.length) {
      buildSlider();
    }
  });
  $(window).on('resize.lpui-auto-clean', onResize);
  let timer = null;
  function onResize() {
    clearTimeout(timer);
    timer = window.setTimeout(buildSlider, 50);
  }
  function getLayout(w, n) {
    if (w > 1100) {
      if (n > 7) {
        return {
          type: 'type1',
          single: 1,
          multi: n,
          slides: 3,
          slider: n > 9
        };
      }
      if (n > 5) {
        return {
          type: 'type1',
          single: 2,
          multi: n,
          slides: 3,
          slider: false
        };
      }
      return {
        type: 'type1',
        single: n,
        multi: n,
        slides: 3,
        slider: n > 3
      };
    } else if (w > 880) {
      if (n > 4) {
        return {
          type: 'type2',
          single: 1,
          multi: n,
          slides: 2.5,
          slider: n > 7
        };
      }
      return {
        type: 'type1',
        single: n,
        multi: n,
        slides: 3,
        slider: n > 3
      };
    } else if (w > 767) {
      if (n > 4) {
        return {
          type: 'type3',
          single: 1,
          multi: n,
          slides: 2,
          slider: n > 5
        };
      }
      return {
        type: 'type4',
        single: n,
        multi: n,
        slides: 2,
        slider: n > 2
      };
    } else if (w > 460) {
      return {
        type: 'type4',
        single: n,
        multi: n,
        slides: 2,
        slider: n > 2
      };
    }
    return {
      type: 'type5',
      single: n,
      multi: n,
      slides: 1,
      slider: n > 1
    };
  }
  function ensureClass($el, className) {
    if ($el.hasClass(className)) {
      return;
    }
    $el.addClass(className);
  }
  function makeSquare($el) {
    const el = $el[0];
    el.style.width = '';
    el.style.height = '';
    const rect = el.getBoundingClientRect();
    if (rect.width !== rect.height) {
      el.style.width = rect.height + 'px';
    }
  }
  function buildSlider() {
    const cWidth = $container[0].getBoundingClientRect().width;
    if (cWidth === usedWidth) {
      return;
    }
    $container.empty();
    slider = $('<div class="ig-feed-slider"></div>');
    const items = igFeed.items.slice(0, limit);
    const layout = getLayout(cWidth, items.length);
    let i = 0;
    let slide = null;
    while (i < layout.single) {
      slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider);
      i++;
    }
    while (i < layout.multi) {
      slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider);
      let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide);
      const lim = i + 4;
      while (i < lim && i < layout.multi) {
        slideContent.append(itemTemplate(items[i]));
        i++;
      }
    }
    $container.append(slider);
    if (layout.slider) {
      $topPrev.removeClass('hidden-control');
      $topNext.removeClass('hidden-control');
      $bottomPrev.removeClass('hidden-control');
      $bottomNext.removeClass('hidden-control');
      let prev, next;
      if ($bottomPrev.parent()[0].getBoundingClientRect().width) {
        prev = $bottomPrev;
        next = $bottomNext;
      } else {
        prev = $topPrev;
        next = $topNext;
        makeSquare($topPrev);
        makeSquare($topNext);
      }
      slider.children().each(function () {
        this.style.width = this.getBoundingClientRect().width + 'px';
      });
      slider.slick({
        dots: false,
        prevArrow: prev,
        nextArrow: next,
        slidesToScroll: 1,
        infinite: false,
        slidesToShow: layout.slides
      });
    } else {
      ensureClass($topPrev, 'hidden-control');
      ensureClass($topNext, 'hidden-control');
      ensureClass($bottomPrev, 'hidden-control');
      ensureClass($bottomNext, 'hidden-control');
    }
  }
})('section-ff459172-249b-4571-9b1a-5fde7e330639', '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:'a06b1b3d5bafbce6',t:'MTc4MDYxOTgyMQ=='};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>
