<!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>Divorce Real Estate Agents | Realtors & Certified Specialists</title>
        <meta property="og:title" content="Divorce Real Estate Agents | Realtors &amp; Certified Specialists">
        <meta name="twitter:title" content="Divorce Real Estate Agents | Realtors &amp; Certified Specialists">
        <meta name="description" content="The Lynch Group&#x27;s team of real estate divorce specialists, realtors &amp; agents can help with divorce real estate in Dana Point, San Clemente &amp; Laguna Beach.">
        <meta property="og:description" content="The Lynch Group&#x27;s team of real estate divorce specialists, realtors &amp; agents can help with divorce real estate in Dana Point, San Clemente &amp; Laguna Beach.">
        <meta name="twitter:description" content="The Lynch Group&#x27;s team of real estate divorce specialists, realtors &amp; agents can help with divorce real estate in Dana Point, San Clemente &amp; Laguna Beach.">
        <meta property="og:image" content="https://media-production.lp-cdn.com/media/d3f28e88-ad35-4d70-95eb-ec826b1c8a01">
        <meta name="twitter:image" content="https://media-production.lp-cdn.com/media/d3f28e88-ad35-4d70-95eb-ec826b1c8a01">
        <meta property="og:url" content="https://thelynchgroupoc.com/divorce-real-estate">
        <link rel="canonical" href="https://thelynchgroupoc.com/divorce-real-estate">
    <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=Tenor%20Sans:400"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i">
    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
    <link rel="icon" type="image/x-icon" href="/favicon.ico">
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
    <style id="global-css">:root{--global-primary-font-family:'Tenor Sans',sans-serif;--global-primary-font-family-short:Tenor Sans;--global-secondary-font-family:Montserrat,sans-serif;--global-secondary-font-family-short:Montserrat;--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:Montserrat,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Tenor Sans',sans-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">nav .header .logo__img.light{max-height:40px;max-width:500px;}footer .footer .first_text_footer .img_size img{min-width:200px;}nav#global-navbar.scroll{background-color:#000!important;color:#fff!important;}nav .header .navigation .sub-nav ul{background-color:rgba(0,0,0,.75)!important;}footer#global-footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:21px;}footer#global-footer .info-wrap-contact_zone{margin-bottom:21px;}@media (max-width: 768px){footer#global-footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:20px;}}footer#global-footer .info-wrap-contact_zone{margin-bottom:21px;}div#modal-global-contact-us .contact-form .info-zone .info-zone_contact_cell{margin-bottom:26px;}div#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:26px;}@media (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:25px;}}div#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:26px;}div#modal-global-contact-us .contact-form .section-message h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .section-message h2{font-size:30px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:30px;}}@media(max-width: 560px){footer#global-footer .footer.no_newsletter h3{margin-bottom:10px;}}@media only screen and (max-width: 768px){footer#global-footer .redesign.footer .grey-text{font-size:12px;}}.redesign .btn--small{padding:20px 46px;}.lp-btn{padding:20px 46px;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}@media only screen and (max-width: 768px){nav .header .logo img.light{width:250px;}}footer .footer .first_text_footer .img_size img{margin-top:30px;}@media (hover:none) and (pointer:coarse){footer .footer .first_text_footer .img_size img{margin-top:0!important;}}#global-navbar .sub-nav li .nav-link{color:#fff;}#global-navbar .sub-nav li:hover .nav-link{color:#000;}#modal-bf756d12-5b63-4bee-9a96-bf1d89ca0e21 .close img,#modal-bf756d12-5b63-4bee-9a96-bf1d89ca0e21 .close .lp-close-icon{-webkit-filter:invert(1);filter:invert(1);}</style>
    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
        <style id="page-css">
            #section-0c43147f-d33f-4b89-80f9-7ce160913be3{color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#ffffff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.30));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/bgooldqmlfrl7xluys1l');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:600px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro__title{font-size:22px;}}#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-0c43147f-d33f-4b89-80f9-7ce160913be3 .custom-intro__subtitle{font-size:18px;}}@media (min-width: 960px) and (orientation: landscape){#section-0c43147f-d33f-4b89-80f9-7ce160913be3{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/bgooldqmlfrl7xluys1l');}}@media (min-width: 1280px) and (orientation: landscape){#section-0c43147f-d33f-4b89-80f9-7ce160913be3{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/bgooldqmlfrl7xluys1l');}}@media (min-width: 1920px) and (orientation: landscape){#section-0c43147f-d33f-4b89-80f9-7ce160913be3{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/bgooldqmlfrl7xluys1l');}}@media (min-width: 2560px) and (orientation: landscape){#section-0c43147f-d33f-4b89-80f9-7ce160913be3{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/bgooldqmlfrl7xluys1l');}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973{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;background-color:rgba(0, 0, 0, 1);}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-section--full-bleed{padding-bottom:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container{padding:0;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .lp-h2{margin-bottom:8px;}}#section-8b33ab52-cfc9-4183-bec3-11e4714fc973 .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-517fc939-beea-4a6b-be73-55817f4d77e2{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(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(0, 0, 0, 1);}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-section--full-bleed{padding-bottom:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container{padding:0;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-517fc939-beea-4a6b-be73-55817f4d77e2 .lp-h2{margin-bottom:8px;}}#section-517fc939-beea-4a6b-be73-55817f4d77e2 .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-517fc939-beea-4a6b-be73-55817f4d77e2>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-section--full-bleed{padding-bottom:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container{padding:0;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .lp-h2{margin-bottom:8px;}}#section-5d9f22c2-e523-408b-b2e0-ca086f51efbd .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c{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;--section-padding-top:calc(0 / 4 * var(--global-section-padding));background-color:#fff;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-section--full-bleed{padding-bottom:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col>div img{-webkit-transition:visibility 5s,opacity 0.5s linear;transition:visibility 5s,opacity 0.5s linear;position:absolute;object-fit:cover;width:100%;height:100%;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col--on-hover:hover .secondary-image{visibility:visible;opacity:1;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:120px;padding-right:0;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -12px;}@media (max-width: 560px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container{padding:0;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image__text-col .lp-container{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image__text-col .lp-container{position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);left:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .lp-h2{margin-bottom:8px;}}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674{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;--section-padding-top:calc(2 / 4 * var(--global-section-padding));--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#fff;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .boxed-text__description{margin-bottom:50px;text-align:center;}@media (max-width: 768px){#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .boxed-text__description{margin-bottom:30px;}}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .lp-title-group .lp-h2{margin-top:0;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .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-9f54afb4-02a6-4931-a1e9-3f55028ab674 .button-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .button-container .lp-btn{margin-right:20px;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .button-container .lp-btn:last-of-type{margin-right:0;}@media(max-width: 600px){#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .button-container .lp-btn{margin-right:0px;margin-bottom:20px;width:100%;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .button-container .lp-btn:last-of-type{margin-bottom:0;}}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .lp-text--subtitle{margin-left:auto;margin-right:auto;text-transform:none;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674 .redesign p{margin-bottom:1.666rem;}#section-9f54afb4-02a6-4931-a1e9-3f55028ab674>div:last-child{padding-top:calc(2 / 4 * var(--global-section-padding))!important;padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584{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;--section-padding-top:calc(0 / 4 * var(--global-section-padding));--section-padding-bottom:calc(0 / 4 * var(--global-section-padding));background-color:#fff;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid ul.scenes li.scene{min-height:auto!important;}@media only screen and (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 div.text-grid .scene__item{padding-top:0;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid{padding-top:96px;padding-bottom:96px;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid{padding-top:64px;padding-bottom:64px;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .lp-h2{text-align:center;margin-bottom:70px;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .lp-h2{margin-bottom:46px;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scenes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;list-style:none;margin:0;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene{min-height:272px;margin:0;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene__content{position:relative;z-index:2;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene__item{height:calc(1px + 100%);width:calc(1px + 100%);padding:32px 27px;border:none;position:relative;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene__item{padding:32px 27px;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene__item .border{display:none;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene__item--with-border .border{display:block;border:1px solid currentColor;position:absolute;z-index:1;opacity:0.1;top:0;left:0;right:0;bottom:0;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-1{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:1076px;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-1 .scene__item{padding:64px 110px;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-1 .scene__item{padding:32px 27px;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-2{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-3{-webkit-flex-basis:33.3%;-ms-flex-preferred-size:33.3%;flex-basis:33.3%;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene--columns-4{-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .scene ul{list-style:revert;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .button-wrapper{padding-top:90px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 768px){#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .text-grid .button-wrapper{padding-top:42px;}}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584 .redesign p{margin-bottom:1.666rem;}#section-94a9fbfa-8665-4275-9480-fbb8b5b44584>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;padding-bottom:calc(0 / 4 * var(--global-section-padding))!important;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#272727;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:15%;--bgColor_A:1;--bgColor_darkenDir:1;background-color:#272727;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .redesign.featured-agent-section{padding:96px 0;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .redesign.featured-agent-section p{white-space:normal;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .redesign.featured-agent-section{padding:64px 0;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .redesign.featured-agent-section .container{max-width:1200px;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent{display:block;max-width:325px;margin:0 auto;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__photo{margin-right:36px;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__photo{margin:0;width:100%;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__image img{width:auto;height:auto;vertical-align:top;}@media(min-width: 1024px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__image img{max-width:525px;max-height:525px;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info{width:100%;padding-top:70px;}@media(max-width: 1024px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info{padding-top:20px;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .h2{position:relative;margin:0;padding-bottom:35px;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .h2{padding-bottom:30px;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .h2:after{content:'';position:absolute;bottom:0;left:-114px;right:230px;height:1px;background-color:#c0c0c0;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .h2:after{width:1000px;right:100%;left:auto;margin-right:-120px;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .bio-container{margin:0 0 32px;white-space:pre-line;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .links-row{list-style:none;margin:0;padding:0;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-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .links-row >li:last-child{margin-right:0;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .links-row >li{margin-right:35px;margin-bottom:30px;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .link{cursor:pointer;position:relative;display:inline-block;vertical-align:top;font-size:14px;line-height:1.63;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .link.link--share-visible .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .featured-agent__info .link.link--share-visible{margin-bottom:110px;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .link{background:transparent;border:none;padding:0;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .share-links{display:none;width:276px;height:55px;position:absolute;top:100%;left:0;margin-top:5px;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .share-links li{width:25%;height:100%;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .share-links li .socials__link{width:100%;height:100%;}@media(max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .share-links{width:154px;height:113px;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .featured-agent .share-links li{width:50%;height:50%;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-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;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-8px;margin-right:-8px;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-container.desktop{padding-top:16px;}@media (max-width: 768px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-container.desktop{display:none;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-container.mobile{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}@media (min-width: 769px){#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-container.mobile{display:none;}}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .socials-container.socials.socials>li{margin:16px 8px 0 8px;padding:0;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .link:before,#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .link:after{background-color:currentColor;}#section-d83a9500-b13c-40b6-bbf7-9a87b7387404 .link:before{opacity:0.5;}#section-28286af2-4dac-4d61-9393-69b73fb27e61{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;background-color:rgba(0, 0, 0, 1);}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block .text-block{max-width:65%;}@media (max-width: 768px){#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block .text-block{max-width:100%;margin-bottom:24px;}}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block .lp-h2{margin-bottom:0;}@media (max-width: 768px){#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block .lp-h2{margin-bottom:24px;text-align:center;}}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block--Center-aligned{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center;}#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block--Center-aligned .text-block{margin-left:auto;margin-right:auto;margin-bottom:24px;}@media (min-width: 769px){#section-28286af2-4dac-4d61-9393-69b73fb27e61 .cta-block--Right-aligned .text-block{padding-right:20px;}}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#FFFFFF;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#FFFFFF;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .slick-slide>div{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-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .slick-slide>div:not(:last-child){margin-bottom:50px;}@media (max-width: 767px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .slick-slide>div:not(:last-child){margin-bottom:0;}}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .slick-dotted.slick-slider{margin-bottom:0;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .carousel-controls{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;margin-top:30px;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs ul{width:auto;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs li{cursor:pointer;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs li.active,#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs li.disabled{cursor:default;}@media (max-width: 575px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs .paginationjs-pages li.paginationjs-prev{margin-right:3px;margin-left:3px;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .paginationjs .paginationjs-pages li.paginationjs-next{margin-left:3px;margin-right:3px;}}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .slick-dots{position:static;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);-webkit-order:2;-ms-flex-order:2;order:2;width:auto;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .slick-dots li{width:auto;height:auto;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .slick-arrow:first-child{-webkit-order:1;-ms-flex-order:1;order:1;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .lp-pagination.pagination-container .slick-arrow:nth-child(2){-webkit-order:3;-ms-flex-order:3;order:3;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery{padding-top:80px;padding-bottom:80px;}@media (max-width: 767px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery{padding-top:30px;padding-bottom:30px;}}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery__header{margin-bottom:2em;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery__row{margin-left:-15px;margin-right:-15px;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery__slide{padding:20px 15px;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-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery__dots{position:relative;display:inline-block;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card{-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-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;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card:hover .video-card__preview img{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card:hover .video-card__preview:after{opacity:.5;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__header{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:10px;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__title,#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card h6{margin-bottom:0px;font-family:var(--global-primary-font-family);text-transform:uppercase;letter-spacing:4px;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__description{margin-bottom:0;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__preview{position:relative;width:100%;height:245px;overflow:hidden;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;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__preview:after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.3;-webkit-transition:all .25s;transition:all .25s;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__preview>img{width:100%;height:100%;object-fit:cover;-webkit-transition:-webkit-transform 1s ease-out;transition:transform 1s ease-out;position:absolute;left:0;top:0;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-card__btn-play{position:relative;z-index:1;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .li-hidden{display:none!important;border:none!important;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden{display:block!important;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden button,#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden a{display:none!important;--aColor:currentColor;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden button+li:after,#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden a+li:after{color:var(--aColor);}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 li:not(.li-hidden)+.li-hidden:after{content:"...";display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}@media (min-width: 575px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container:not(.slick-slider){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-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container:not(.slick-slider).centered{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide{width:33%;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide:nth-child(n + 10){display:none!important;}@media (max-width: 990px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide{width:50%;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide:nth-child(n + 7){display:none!important;}}@media (max-width: 574px){#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide{width:100%;}#section-5aae5d32-5ac5-4d4d-8950-c11b07c97200 .video-gallery .carousel-container>.video-gallery__slide:nth-child(n + 7){display:block!important;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425{background-image:linear-gradient(to bottom,rgba(234,231,224,1)50%,rgba(0,0,0,1)50%)!important;box-shadow:inset 0px 20px 8px -10px #eae7e0,inset 0px -20px 8px -10px #000;color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.gallery-component__col .gallery-card__title{text-align:center;font-size:26px;text-transform:none;margin-top:auto;margin-bottom:auto;padding-bottom:20px;letter-spacing:2px;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.gallery-component__col .gallery-card__title::after{content:"";position:absolute;left:0;right:0;bottom:0;opacity:0.8;width:50px;height:2px;background-color:#fff;margin:auto;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.row.gallery-component__row.cols-3 .gallery-component__col{padding-right:15px;padding-left:15px;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:20px;padding-left:20px;height:310px;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.gallery-component__col .gallery-card::before{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0,0,0,0.95))!important;}@media (max-width: 768px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.gallery-component__col .gallery-card{position:relative;width:100%;padding-right:0px;padding-left:0px;height:310px;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 div.row.gallery-component__row.cols-3 .gallery-component__col{max-width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-right:10px;padding-left:10px;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component{padding-top:30px;padding-bottom:10px;}@media (min-width: 769px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component{padding:80px 0 60px;}}@media (min-width: 1200px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component{padding:80px 0 30px;}}@media (max-width: 767px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__container{padding-left:20px;padding-right:20px;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header{margin-bottom:30px;max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}@media (min-width: 768px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header{margin-bottom:50px;}}@media (min-width: 1200px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header{margin-bottom:70px;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header img{max-width:260px;height:auto;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header img:not(:only-child){margin-bottom:30px;}@media (min-width: 768px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__header img:not(:only-child){margin-bottom:50px;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__heading{margin-bottom:20px;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__lead{margin-bottom:0;font-size:20px;line-height:1.4;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__col{width:100%;margin-bottom:20px;padding:0 7px;}@media (min-width: 768px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;margin-bottom:50px;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__col:first-child{margin-left:auto;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component__col:last-child{margin-right:auto;}@media (min-width: 992px){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-component .cols-4 .gallery-component__col{max-width:25%;-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;}}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-card:after{content:"";width:0;padding-top:121.5%;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-card:focus{outline:none;}@media (hover: hover) and (pointer: fine){#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-card:hover:before{background-color:#000;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-card:hover .gallery-card__title{-webkit-transform:translateY(-51px);-moz-transform:translateY(-51px);-ms-transform:translateY(-51px);transform:translateY(-51px);}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-aa2165f8-e41e-4807-8b05-2aed4add0425 .gallery-card__preview{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}#section-aa2165f8-e41e-4807-8b05-2aed4add0425 .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-1f0c2313-ff54-4a21-b27f-a2a330ae577c{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.40));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/media/005908a5-74a9-4d15-b57e-e21e94c79dc9');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c.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-1f0c2313-ff54-4a21-b27f-a2a330ae577c.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c.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-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .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-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us h2{padding-bottom:40px;}}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .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-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us p{margin:0 0 30px;}@media(max-width: 768px){#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us p{margin-bottom:40px;}}#section-1f0c2313-ff54-4a21-b27f-a2a330ae577c .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-1f0c2313-ff54-4a21-b27f-a2a330ae577c .redesign.work-with-us .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}#section-d169c8dc-706c-4152-aeb8-986c379aeb58{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(233, 231, 224, 1);--bgColor_H:47;--bgColor_S:17%;--bgColor_L:90%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:rgba(233, 231, 224, 1);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed{padding-bottom:50px!important;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .nav-button{border:2px solid currentColor!important;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .nav-button:not(.slick-disabled):hover{border-color:#000!important;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed{padding:80px 0;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .title{margin:0 20px 0 0;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .instagram-link .instagram-name{display:inline;margin:0;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .title+.instagram-link{margin-top:5px;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .follow-button{margin:20px 0 0 0;display:block;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-nav-prev{margin-left:30px;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-nav-next{margin-left:10px;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .hidden-control{display:none;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single:first-child,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi:first-child{margin-left:auto;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single:last-child,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi:last-child{margin-right:auto;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single.type2,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi.type2{width:calc(100% / 5 * 2);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single.type3,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi.type3{width:calc(100% / 2);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single.type4,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi.type4{width:calc(100% / 2);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single.type5,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-container{padding:0;width:100%;}}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-item:hover .video-icon{opacity:0;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single .ig-feed-item__info{padding:15%;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .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-d169c8dc-706c-4152-aeb8-986c379aeb58 .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-right,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .title,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .instagram-link{margin-right:0;text-align:center;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-nav-prev,#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .top-nav-next{display:none;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .ig-feed{display:none;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58 .has-data .ig-feed{display:block;}#section-d169c8dc-706c-4152-aeb8-986c379aeb58.has-data .ig-feed,#section-d169c8dc-706c-4152-aeb8-986c379aeb58#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{-webkit-transition:0.2s all;transition:0.2s all;color:#fff;z-index:102;}nav nav{-webkit-transition:0.2s all;transition:0.2s all;color:#fff;}nav nav.scroll .header__logo .dark{display:block;}nav nav.scroll .header__logo .light{display:none;}nav.scroll .header__logo .dark{display:block;}nav.scroll .header__logo .light{display:none;}@-webkit-keyframes producerCustomFadeInUp{to{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}@keyframes producerCustomFadeInUp{to{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header{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;padding:10px 30px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header__left{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}nav .header__logo{display:block;cursor:pointer;}nav .header__logo img{display:block;max-height:52px;max-width:250px;}nav .header__logo .dark{display:none;}nav .header__logo--center{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}nav .header__right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .sub-nav{position:absolute;left:50%;bottom:0;-webkit-transform:translate(-50%, calc(100% + 50px));-moz-transform:translate(-50%, calc(100% + 50px));-ms-transform:translate(-50%, calc(100% + 50px));transform:translate(-50%, calc(100% + 50px));z-index:1;background-color:#fff;box-shadow:0 0 3px rgba(0,0,0,0.3);-webkit-transition:0.3s all;transition:0.3s all;opacity:0;visibility:hidden;min-width:178px;max-width:250px;}nav .sub-nav:after{display:block;position:absolute;content:'';left:0;right:0;top:-50px;height:50px;}nav .sub-nav ul{margin:0;padding:0;display:block;}nav .sub-nav ul li{position:relative;display:block;margin:0;text-align:left;}nav .sub-nav ul li a:hover{color:#000;background-color:#eee;}nav .sub-nav ul li:last-child{border-bottom:none;}nav .sub-nav ul li:last-child:after{content:'';}nav .sub-nav ul li a{display:inline-block;color:#000;margin:0;font-size:16px;letter-spacing:1px;padding:6px 16px;position:relative;width:100%;line-height:1.63;}nav .sub-nav ul li a:after{position:absolute;content:'';display:block;width:0;height:1px;bottom:0;left:0;-webkit-transition:0.3s all;transition:0.3s all;background-color:#000;}nav .sub-nav.visible{visibility:visible;opacity:1;-webkit-transform:translate(-50%, 100%);-moz-transform:translate(-50%, 100%);-ms-transform:translate(-50%, 100%);transform:translate(-50%, 100%);}nav .header__left .navigation__item:nth-child(-n + 2) .sub-nav{left:10px;-webkit-transform:translateY(calc(100% + 50px));-moz-transform:translateY(calc(100% + 50px));-ms-transform:translateY(calc(100% + 50px));transform:translateY(calc(100% + 50px));}nav .header__left .navigation__item:nth-child(-n + 2) .sub-nav.visible{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);}nav .header__right .navigation__item:nth-last-child(-n + 1) .sub-nav{left:auto;right:0;-webkit-transform:translateY(calc(100% + 50px));-moz-transform:translateY(calc(100% + 50px));-ms-transform:translateY(calc(100% + 50px));transform:translateY(calc(100% + 50px));}nav .header__right .navigation__item:nth-last-child(-n + 1) .sub-nav.visible{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);}nav .navigation{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;margin:0;list-style-type:none;}@media(max-width: 1200px){nav .navigation{display:none;}}nav .navigation__item{padding:0;margin:0;}nav .navigation__item.sub-nav-container{position:relative;}nav .navigation__item.sub-nav-container .navigation__link{padding-right:36px;}nav .navigation__item.sub-nav-container .navigation__link:before{display:block;width:9px;height:9px;border-bottom:2px solid;border-right:2px solid;content:'';position:absolute;line-height:1;top:calc(50% - 8px);right:18px;font-size:18px;-webkit-transition:0.2s -webkit-transform;transition:0.2s transform;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}nav .navigation__item.sub-nav-container .navigation__link.visible-dropdown:before{-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg);top:calc(50% - 3px);}nav .navigation__link{display:block;color:inherit;position:relative;font-size:13px;font-weight:700;line-height:1;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-transform:uppercase;padding:19px 13px;z-index:2;white-space:nowrap;opacity:0;-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-animation-name:producerCustomFadeInUp;animation-name:producerCustomFadeInUp;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;}nav .navigation__link span{display:inline-block;position:relative;}nav .navigation__link span:after{content:'';display:block;width:0;height:1px;margin-top:3px;background-color:currentColor;-webkit-transition:0.3s all ease;transition:0.3s all ease;}nav .navigation__link:hover:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}nav .navigation__link:hover span:after{width:100%;max-width:100%;}nav .hamburger{border:none;background-color:transparent;cursor:pointer;outline:none;z-index:915;position:relative;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;text-transform:capitalize;letter-spacing:1px;color:inherit;width:37px;height:58px;}nav .hamburger span{display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.3s -webkit-transform;transition:0.3s transform;position:relative;}nav .hamburger span:before,nav .hamburger span:after{display:block;width:26px;height:2px;background-color:currentColor;position:absolute;left:0;content:'';}nav .hamburger span:before{top:-9px;}nav .hamburger span:after{bottom:-9px;}nav .hamburger.active span{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);}nav .hamburger.active span:before,nav .hamburger.active span:after{top:0;bottom:auto;}nav .hamburger.active span:before{display:none;}nav .hamburger.active span:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .search{cursor:pointer;}nav .search svg{display:block;}body>div.sidemenu{background-color:#fff;color:#1a1a1a;--fontColor:#1a1a1a;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:10%;--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:0!important;top:0;background-color:transparent;}body>div.sidemenu.visible .sidebar{-webkit-animation:slideIn .3s forwards;animation:slideIn .3s forwards;}body>div.sidemenu.is-hiding{display:block;}body>div.sidemenu.is-hiding .sidebar{-webkit-animation:slideOut .3s forwards;animation:slideOut .3s forwards;}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;}@-webkit-keyframes slideIn{0%{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}100%{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}}@keyframes slideIn{0%{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}100%{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}}@-webkit-keyframes slideOut{0%{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}100%{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}}@keyframes slideOut{0%{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}100%{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);}}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:#1a1a1a;--fontColor:#1a1a1a;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:10%;--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 .mobile-contact{display:none;position:fixed;right:30px;bottom:25px;z-index:91;}body>div.mobile-contact-wrapper .mobile-contact a{-webkit-text-decoration:none;text-decoration:none;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;width:55px;height:55px;margin-bottom:15px;background-color:#fff;font-size:22px;border:2px solid hsla(0,0%,49.8%,.3);border-radius:90px;margin-left:1px;}body>div.mobile-contact-wrapper .mobile-contact a i{color:#000;}body>div.mobile-contact-wrapper .mobile-contact .buttons-holder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}body>div.mobile-contact-wrapper .mobile-contact.dark a{background-color:#000;}body>div.mobile-contact-wrapper .mobile-contact.dark a i{color:#fff;}@media (max-width: 560px){body>div.mobile-contact-wrapper .mobile-contact{display:block;}}
        </style>
    <style id="custom-style-css">.pagination-style-1 li a{color:rgba(0, 0, 0, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-1 li a:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 1)!important;border-color:rgba(0, 0, 0, 1)!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 1)!important;border-color:rgba(0, 0, 0, 1)!important;}.hyperlink-style-1{color:rgba(0, 0, 0, 1)!important;}.hyperlink-style-1:hover{color:rgba(0, 0, 0, 1)!important;}.social_icons-style-1 a{border-color:rgba(0, 0, 0, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(0, 0, 0, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(0, 0, 0, 1)!important;background-color:rgba(0, 0, 0, 1)!important;color:rgba(255,255,255,1)!important;}.social_icons-style-1 a i{color:inherit!important;}.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.button-style-1{color:rgba(0, 0, 0, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 1)!important;}.button-style-1:hover{color:rgba(255,255,255,1)!important;background-color:rgba(0, 0, 0, 1)!important;border-color:rgba(0, 0, 0, 1)!important;}.button-style-2{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-2:hover{color:rgba(0, 0, 0, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.pagination-style-2 li a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(0, 0, 0, 0)!important;}.pagination-style-2 li a:hover{color:rgba(0, 0, 0, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.pagination-style-2 li.active a{color:rgba(0, 0, 0, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(0, 0, 0, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!important;}.hyperlink-style-3{color:rgba(198, 198, 198, 1)!important;}.hyperlink-style-3:hover{color:rgba(198, 198, 198, 1)!important;}.hyperlink-style-4{color:rgba(71, 71, 71, 1)!important;}.hyperlink-style-4:hover{color:rgba(71, 71, 71, 1)!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>
        
    <!-- 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="43fa2137-fe5b-4845-ba78-95c0fb5084ae">
            <div class="header">
  <div class="header__left">

    <ul class="navigation">
        <li class="navigation__item sub-nav-container">
          <a href="#" class="navigation__link"><span>Meet the Team</span></a>
          <div class="sub-nav">
            <ul>
              <li><a  href="/team" class="nav-link">About Us</a></li>
              <li><a  href="/join-the-team" class="nav-link">Join The Team</a></li>
            </ul>
          </div>
        </li>
        <li class="navigation__item sub-nav-container">
          <a href="#" class="navigation__link"><span>Our Services</span></a>
          <div class="sub-nav">
            <ul>
              <li><a  href="/sell-your-home" class="nav-link">Seller Services</a></li>
              <li><a  href="/buyer-services" class="nav-link">Buyer Services</a></li>
              <li><a  href="/comprehensive-design-services" class="nav-link">Comprehensive Design Services</a></li>
              <li><a  href="/divorce-real-estate" class="nav-link">Divorce Real Estate</a></li>
              <li><a  href="/1031-exchange-dst-investment-real-estate" class="nav-link">Investment Services</a></li>
              <li><a  href="/concierge" class="nav-link">Lynch Group Concierge</a></li>
              <li><a  href="/private-exclusives" class="nav-link">Compass Private Exclusives</a></li>
              <li><a  href="/preferredlender" class="nav-link">Preferred Lender</a></li>
            </ul>
          </div>
        </li>
        <li class="navigation__item sub-nav-container">
          <a href="#" class="navigation__link"><span>Communities</span></a>
          <div class="sub-nav">
            <ul>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/san-clemente" class="nav-link">San Clemente</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/dana-point" class="nav-link">Dana Point</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/laguna-beach" class="nav-link">Laguna Beach</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/newport-coast" class="nav-link">Newport Coast</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/coto-de-caza" class="nav-link">Coto de Caza</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/monarch-beach" class="nav-link">Monarch Beach</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/san-juan-capistrano" class="nav-link">San Juan Capistrano</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/laguna-niguel" class="nav-link">Laguna Niguel</a></li>
              <li><a  href="https://thelynchgroupoc.com/neighborhoods/rancho-santa-margarita" class="nav-link">Rancho Santa Margarita</a></li>
            </ul>
          </div>
        </li>
    </ul>


  </div>
  <a href="/" class="header__logo header__logo--center">
    <img src="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/wgqx6rwljvjzwpk3jexr" alt="" class="dark">
    <img src="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/d53lkwzg2wigsjt0hkot" alt="" class="light">
  </a>
  <div class="header__right">
    <ul class="navigation">
      <li class="navigation__item sub-nav-container">
        <a href="#" class="navigation__link"><span>Properties</span></a>
        <div class="sub-nav">
          <ul>
            <li><a  href="/properties/sale" class="nav-link">Featured Properties</a></li>
            <li><a  href="/properties/sold" class="nav-link">Notable Sales</a></li>
          </ul>
        </div>
      </li>
      <li class="navigation__item sub-nav-container">
        <a href="#" class="navigation__link"><span>Testimonials</span></a>
        <div class="sub-nav">
          <ul>
            <li><a  href="/testimonials" class="nav-link">Testimonials</a></li>
            <li><a target="_blank" href="https://g.page/r/CcCUujADLbDYEAg/review" class="nav-link">Leave Us a Review</a></li>
          </ul>
        </div>
      </li>
      <li class="navigation__item">
        <a  href="/blog" class="navigation__link"><span>Blog</span></a>
      </li>
      <li class="navigation__item">
        <a data-type="CONTACT_US" class="navigation__link"><span>Contact Us</span></a>
      </li>
    </ul>
    <button class="hamburger-component hamburger">
      <span></span>
    </button>
  </div>
</div>

        </nav>
        <div id="global-sidemenu" class="sidemenu" data-el-id="285d4c89-6ed5-4dac-8cef-5b61ac8aadad">
            <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 sub-nav-container">
        <a href="#" class="sidebar__nav-link">MEET THE TEAM</a>
        <div class="sub-nav">
          <ul class="sidebar__subnav">
            <li class="sidebar__subnav-item"><a  href="/team" class="sidebar__subnav-link">ABOUT US</a></li>
            <li class="sidebar__subnav-item"><a  href="/american-dream" class="sidebar__subnav-link">AMERICAN DREAM TV</a></li>
          </ul>
        </div>
      </li>
      <li class="sidebar__nav-item sub-nav-container">
        <a href="#" class="sidebar__nav-link">PROPERTIES</a>
        <div class="sub-nav">
          <ul class="sidebar__subnav">
            <li class="sidebar__subnav-item"><a  href="/properties/sale" class="sidebar__subnav-link">FEATURED PROPERTIES</a></li>
            <li class="sidebar__subnav-item"><a  href="/properties/sold" class="sidebar__subnav-link">NOTABLE SALES</a></li>
          </ul>
        </div>
      </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">COMMUNITIES</a>
      </li>
      <li class="sidebar__nav-item sub-nav-container">
        <a href="#" class="sidebar__nav-link">HOMES FOR SALE</a>
        <div class="sub-nav">
          <ul class="sidebar__subnav">
            <li class="sidebar__subnav-item"><a  href="/dana-point-real-estate" class="sidebar__subnav-link">Dana Point</a></li>
            <li class="sidebar__subnav-item"><a  href="/laguna-beach-real-estate" class="sidebar__subnav-link">Laguna Beach</a></li>
            <li class="sidebar__subnav-item"><a  href="/san-clemente-real-estate" class="sidebar__subnav-link">San Clemente</a></li>
            <li class="sidebar__subnav-item"><a  href="/newport-coast-real-estate" class="sidebar__subnav-link">Newport Coast</a></li>
            <li class="sidebar__subnav-item"><a  href="/coto-de-caza-real-estate" class="sidebar__subnav-link">Coto De Caza</a></li>
            <li class="sidebar__subnav-item"><a  href="/monarch-beach-real-estate" class="sidebar__subnav-link">Monarch Beach</a></li>
            <li class="sidebar__subnav-item"><a  href="/san-juan-capistrano-real-estate" class="sidebar__subnav-link">San Juan Capistrano</a></li>
            <li class="sidebar__subnav-item"><a  href="/laguna-niguel-real-estate" class="sidebar__subnav-link">Laguna Niguel</a></li>
            <li class="sidebar__subnav-item"><a  href="/rancho-santa-margarita-real-estate" class="sidebar__subnav-link">Rancho Santa Margarita</a></li>
          </ul>
        </div>
      </li>
      <li class="sidebar__nav-item sub-nav-container">
        <a href="#" class="sidebar__nav-link">TESTIMONIALS</a>
        <div class="sub-nav">
          <ul class="sidebar__subnav">
            <li class="sidebar__subnav-item"><a  href="/testimonials" class="sidebar__subnav-link">TESTIMONIALS</a></li>
            <li class="sidebar__subnav-item"><a target="_blank" href="https://www.google.com/maps/place//data&#x3D;!4m3!3m2!1s0x80dcebafbb3c2deb:0xd8b02d0330ba94c0!12e1?source&#x3D;g.page.m.rc._&amp;laa&#x3D;merchant-web-dashboard-card" class="sidebar__subnav-link">LEAVE US A REVIEW</a></li>
          </ul>
        </div>
      </li>
      <li class="sidebar__nav-item">
        <a  href="/blog" class="sidebar__nav-link">BLOG</a>
      </li>
      <li class="sidebar__nav-item sub-nav-container">
        <a href="#" class="sidebar__nav-link">UNIQUE SERVICES</a>
        <div class="sub-nav">
          <ul class="sidebar__subnav">
            <li class="sidebar__subnav-item"><a  href="/sell-your-home" class="sidebar__subnav-link">Seller Services</a></li>
            <li class="sidebar__subnav-item"><a  href="/buyer-services" class="sidebar__subnav-link">Buyer Services</a></li>
            <li class="sidebar__subnav-item"><a  href="/comprehensive-design-services" class="sidebar__subnav-link">Comprehensive Design Services</a></li>
            <li class="sidebar__subnav-item"><a  href="/divorce-real-estate" class="sidebar__subnav-link">Divorce Real Estate</a></li>
            <li class="sidebar__subnav-item"><a  href="/1031-exchange-dst-investment-real-estate" class="sidebar__subnav-link">Investment Services</a></li>
            <li class="sidebar__subnav-item"><a  href="/concierge" class="sidebar__subnav-link">Lynch Group Concierge</a></li>
            <li class="sidebar__subnav-item"><a  href="/private-exclusives" class="sidebar__subnav-link">Compass Private Exclusives</a></li>
            <li class="sidebar__subnav-item"><a  href="/preferredlender" class="sidebar__subnav-link">Preferred Lender</a></li>
          </ul>
        </div>
      </li>
      <li class="sidebar__nav-item">
        <button data-type="CONTACT_US" class="sidebar__nav-link">CONTACT US</button>
      </li>
    </ul>
  </div>
</div>
        </div>
        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="ca33406a-b24a-4100-b315-87fd53d5adc2">
            <div class="mobile-contact ">
  <div class="buttons-holder">
    <a href="/cdn-cgi/l/email-protection#385b505d4a4154785b505d4a41545441565b50165b5755">
      <i class="lp-i lp-i--envelope"></i>
    </a>
    <a href="tel:(949) 842-5340">
      <i class="lp-i lp-i--phone"></i>
    </a>
  </div>
</div>

        </div>
        <section  class="image-section is-font-color-light is-background-color-light" id="section-0c43147f-d33f-4b89-80f9-7ce160913be3" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb">
    <div class="redesign custom-intro">
    <div class="container">
        <h1 class="custom-intro__title">Divorce Real Estate</h1>
    </div>
</div>

</section>
<section id="section-8b33ab52-cfc9-4183-bec3-11e4714fc973"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6">
  <div class="hoverable-section lp-vertical-paddings  redesign">
  <div class="lp-container">

    <div class="hoverable-image  hoverable-image--straight">

      <div class="hoverable-image__img-col">
        <div class="">
          <div class="">
            <img src="https://media-production.lp-cdn.com/media/e1e1c32d-c19a-4a49-b282-5eec00588cf2" alt="main" class="main-image" loading="lazy">
            
          </div>
        </div>
      </div>

      <div class="hoverable-image__text-col">
        
        <div class="hoverable-image__text-wrap">
            <h2 class="lp-h2">Experts in Divorce Real Estate</h2>
          <div class="lp-a lp-text--subtitle">
            <p>California has a staggering divorce rate of 72% and housing prices are among the highest in the nation. The family home remains one of the most valuable assets in California divorce that typically must be sold. &nbsp;NOT selling the house is among the riskiest divorce options a divorcing couple can make and can potentially have future disastrous results to the divorcing couple&rsquo;s future. When one spouse retains the house post-divorce, either or both spouses risk significant adverse exposure from liens, clouded title, mortgage liens, consumer credit decline, default, foreclosure, bankruptcy, and other potentially devastating post-divorce financial issues.</p>
          </div>
          <div class="buttons-wrapper">
          </div>
        </div>
        
        
      </div>
    </div>
  </div>
</div>
</section>
<section id="section-517fc939-beea-4a6b-be73-55817f4d77e2"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6">
  <div class="hoverable-section lp-vertical-paddings  redesign">
  <div class="lp-container">

    <div class="hoverable-image  hoverable-image--reverse">

      <div class="hoverable-image__img-col">
        <div class="">
          <div class="">
            <img src="https://media-production.lp-cdn.com/media/47d5f91e-7504-4561-880d-1fdeb76abfd5" alt="main" class="main-image" loading="lazy">
            
          </div>
        </div>
      </div>

      <div class="hoverable-image__text-col">
        
        <div class="hoverable-image__text-wrap">
          <div class="lp-a lp-text--subtitle">
            <p>Divorce is never easy, but the pain and upheaval which often accompanies divorce may be minimized by surrounding the divorcing couple with knowledgeable and understanding real estate professionals that are certified in divorce real estate. These specialized divorce professionals offer a comprehensive service tailored to meet the unique needs of their divorcing clientele. These real estate professionals examine the legal, financial and emotional interaction between the disposition of the family home. They dive into issues of marital versus separate property, who holds property title, property valuation, calculation of current and future house equity, post-divorce residence, all with a focus of professional cooperation for mutual gain.</p>
          </div>
          <div class="buttons-wrapper">
          </div>
        </div>
        
        
      </div>
    </div>
  </div>
</div>
</section>
<section id="section-5d9f22c2-e523-408b-b2e0-ca086f51efbd"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6">
  <div class="hoverable-section lp-vertical-paddings  redesign">
  <div class="lp-container">

    <div class="hoverable-image  hoverable-image--straight">

      <div class="hoverable-image__img-col">
        <div class="">
          <div class="">
            <img src="https://images.unsplash.com/photo-1589391886645-d51941baf7fb?ixid=Mnw0MTQ1MnwwfDF8c2VhcmNofDZ8fGxhd3xlbnwwfHx8fDE2NTEyNzUwMDU&ixlib=rb-1.2.1&q=80&w=1920" alt="main" class="main-image" loading="lazy">
            
          </div>
        </div>
      </div>

      <div class="hoverable-image__text-col">
        
        <div class="hoverable-image__text-wrap">
            <h2 class="lp-h2">Protect Your Future</h2>
          <div class="lp-a lp-text--subtitle">
            <p>Divorce real estate firms have REALTORS&reg; designated in divorce real estate. Having earned an RCS-DTM Real Estate Collaborative Specialist-Divorce) designation and working closely with family law firms, an RCS-DTM REALTOR&reg;, is specially trained to neutralize divorce real estate and treat the house sale as a business transaction. These professionals work for the &ldquo;best interest of the house&rdquo;, and each divorcing spouse equally benefits.</p>
          </div>
          <div class="buttons-wrapper">
          </div>
        </div>
        
        
      </div>
    </div>
  </div>
</div>
</section>
<section id="section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6">
  <div class="hoverable-section lp-vertical-paddings  redesign">
  <div class="lp-container">

    <div class="hoverable-image  hoverable-image--reverse">

      <div class="hoverable-image__img-col">
        <div class="">
          <div class="">
            <img src="https://images.unsplash.com/photo-1450101499163-c8848c66ca85?ixid=Mnw0MTQ1MnwwfDF8c2VhcmNofDF8fGxhd3xlbnwwfHx8fDE2NTEyNzUwMDU&ixlib=rb-1.2.1&q=80&w=1920" alt="main" class="main-image" loading="lazy">
            
          </div>
        </div>
      </div>

      <div class="hoverable-image__text-col">
        
        <div class="hoverable-image__text-wrap">
          <div class="lp-a lp-text--subtitle">
            <p>The divorcing sellers&rsquo; challenge can be maintaining a logical and objective approach to the process of selling the home. &nbsp;A proactive posture must be taken through the process, taking steps to alleviate misunderstandings and mitigate any potential issues before the home is listed for sale. Unfortunately, the sale of the marital home is an inevitable end for some people. &nbsp;These RCS-DTM REALTORS&reg; live by the creed and give clients this advice, &ldquo;Protect yourself and your financial future, make sure you know what you owe, what you own, what you are getting into, what you are getting out of, and most importantly &ndash; what you may be getting stuck with &hellip; before it&rsquo;s too late.&rdquo;</p>
          </div>
          <div class="buttons-wrapper">
          </div>
        </div>
        
        
      </div>
    </div>
  </div>
</div>
</section>
<section id="section-9f54afb4-02a6-4931-a1e9-3f55028ab674"  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="boxed-text__description"><h4 style="text-align: center;"><strong>What Divorcing Couples don't know during their divorce may hurt them long after the divorce is finalized.</strong></h4>
<p style="text-align: center;">Major mistakes in divorce real estate are preventable during divorce but are not fixable after the divorce is final. Divorce does not automatically cancel or sever joint mortgage or any joint ownership of one&rsquo;s house. These mistakes often result in damaged credit, mortgage default, foreclosure or even bankruptcy. These mistakes ruin finances, families, and futures years after divorce.</p>
<p style="text-align: center;">Firms specializing in Divorce Real Estate follow a very detailed process for a confidential consultation or to receive our &ldquo;10 Deadliest mistakes divorcing couples make&rdquo; primer, please fill out our contact form.</p></div>
  </div>
</div>
</section>
<section id="section-94a9fbfa-8665-4275-9480-fbb8b5b44584"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="ac6eadbb-9a79-4823-ad06-c25adbbb4479">
  <div class="lp-container text-grid redesign">
  <ul class="scenes ">
    <li class="scene scene--columns-3">
      <div class="scene__item ">
        <div class="border"></div>
        <div class="scene__content">
          <div class="lp-a lp-a--dark">
            <p>1️⃣ Using an Appraisal to Find Value</p>
<p>2️⃣ Not Conducting Professional Pre-Divorce Home Inspections</p>
<p>3️⃣ Not Understanding Options / Consequences of Keeping / Selling Property</p>
<p>4️⃣ Not Completing a Full Title Search</p>
<p>5️⃣ Not Consulting a Mortgage Professional</p>
<p>&nbsp;</p>
          </div>
        </div>
      </div>
    </li>
    <li class="scene scene--columns-3">
      <div class="scene__item ">
        <div class="border"></div>
        <div class="scene__content">
          <div class="lp-a lp-a--dark">
            <p>6️⃣ Leaving One Person on Title &amp; Both on the Mortgage Note</p>
<p>7️⃣ Not Conducting an Insurance Inspection</p>
<p>8️⃣ Not Conducting a Tax Bill Inspection</p>
<p>9️⃣ Not Staging Property being Sold</p>
<p>🔟 Not Getting a Home Warranty</p>
          </div>
        </div>
      </div>
    </li>
  </ul>
  <div class="button-wrapper">
  </div>
</div>
</section>
<section id="section-d83a9500-b13c-40b6-bbf7-9a87b7387404"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="4e27cc96-9ee2-4352-824e-b9cb27519b3d">
  <div class="redesign featured-agent-section">
  <div class="container">
    <div class="featured-agent">
      <div class="featured-agent__photo">
        <div class="featured-agent__image">
            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bc4470dc-14c4-4733-99fa-f3a77f3c5e36" 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/bc4470dc-14c4-4733-99fa-f3a77f3c5e36 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bc4470dc-14c4-4733-99fa-f3a77f3c5e36 600w" alt="agent photo" class="portrait" loading="lazy">
        </div>
<ul class="lp-socials social_icons-style-2 socials socials--light-grey socials-container desktop">

        <li>
          <a
            href="https://www.facebook.com/KatieDorrRealEstate"
            class="lp-socials__link 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/katie_dorr_real_estate"
            class="lp-socials__link 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/katie-dorr-05b343112/"
            class="lp-socials__link 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.youtube.com/channel/UCFVpxN85XuABgVekP_WEtkQ"
            class="lp-socials__link wow fadeInUp socials__link"
            data-wow-delay="0.3s"
            target="_blank"
            aria-label="YOUTUBE"
          >
              <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
          </a>
        </li>
              <li>
              <a href="/cdn-cgi/l/email-protection#5f343e2b363a713b302d2d1f3c30322f3e2c2c713c3032" class="socials__link wow fadeInUp" data-wow-delay=".4s" target="_blank">
                <i class="lp-i lp-i--envelope"></i>
              </a>
            </li>
</ul>
      </div>
      <div class="featured-agent__info">
        <h2 class="h2">Katie Dorr – Real Estate Divorce Specialist</h2>

        <div class="bio-container">
          <p style="text-align: justify;" data-start="183" data-end="506">Katie Dorr is a dedicated real estate professional specializing in guiding individuals through the complexities of selling or purchasing a home during a divorce. With a deep understanding of the emotional and financial challenges involved, Katie provides compassionate and strategic support to ensure a smooth transition.</p>
<p style="text-align: justify;" data-start="508" data-end="873">Her expertise in handling delicate negotiations, understanding court-ordered sales, and coordinating with legal and financial professionals makes her an invaluable resource during this critical time. Whether you're looking for a fresh start or need to navigate the intricacies of property division, Katie is here to provide expert guidance and unwavering support.</p>
        </div>

        <ul class="links-row">
          <li>
                    <a
                        href="https://linktr.ee/katie.dorr?fbclid&#x3D;PAZXh0bgNhZW0CMTEAAaZgsAMBaOhs89h_LoKmn52-caS3gGvLB9-x4Z6nF7v_DZ0akOCVlc3O2pM_aem_Drm92Ba-yyV0zRRokRCtaQ"
                        
                        class="link link--white hyperlink-style-2"
                        
                        
                        
                        
                        
                        >
                                LEARN MORE
                        </a>
          </li>
          <li>
          </li>

          <li>
            <div class="link link--white link--share hyperlink-style-2">
              SHARE
              <ul class="share-links socials socials--block-light">
                <li><a class="socials__link" href="https://www.facebook.com/sharer/sharer.php?u=https://www.thelynchgroupoc.com" target="_blank"><i class="lp-i lp-i--facebook"></i></a></li>
                <li><a class="socials__link" href="https://twitter.com/intent/tweet?url=https://www.thelynchgroupoc.com&text=" target="_blank"><i class="lp-i lp-i--twitter"></i></a></li>
                <li><a class="socials__link" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.thelynchgroupoc.com&text=&title=&summary=&source=" target="_blank"><i class="lp-i lp-i--linkedin"></i></a></li>
                <li><a class="socials__link" href="/cdn-cgi/l/email-protection#d2b9b3a6bbb7fcb6bda0a092b1bdbfa2b3a1a1fcb1bdbfeda1a7b0b8b7b1a6ef82beb7b3a1b7f2b1bab7b1b9bda7a6f2a6babba1f2a0b7b3bef2b7a1a6b3a6b7f2b3b5b7bca6"><i class="lp-i lp-i--envelope"></i></a></li>
              </ul>
            </div>
          </li>
        </ul>
      </div>
<ul class="lp-socials social_icons-style-2 socials socials--light-grey socials-container mobile">

        <li>
          <a
            href="https://www.facebook.com/KatieDorrRealEstate"
            class="lp-socials__link 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/katie_dorr_real_estate"
            class="lp-socials__link 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/katie-dorr-05b343112/"
            class="lp-socials__link 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.youtube.com/channel/UCFVpxN85XuABgVekP_WEtkQ"
            class="lp-socials__link wow fadeInUp socials__link"
            data-wow-delay="0.3s"
            target="_blank"
            aria-label="YOUTUBE"
          >
              <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
          </a>
        </li>
            <li>
            <a href="/cdn-cgi/l/email-protection#ec878d988589c288839e9eac8f83819c8d9f9fc28f8381" class="socials__link wow fadeInUp" data-wow-delay=".4s" target="_blank">
              <i class="lp-i lp-i--envelope"></i>
            </a>
          </li>
</ul>    </div>
  </div>
</div>
</section>
<section id="section-28286af2-4dac-4d61-9393-69b73fb27e61"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="e7db0aa2-a33d-4b1c-bd9f-41337c1c9384">
  <div class="lp-vertical-paddings redesign">
  <div class="lp-container cta-block cta-block--Right-aligned">
    <div class="text-block">
        <h2 class="lp-h2">Learn More About Divorce Real Estate</h2>
    </div>
    
            <a
                href="/your-divorce-real-estate"
                
                class="lp-btn lp-btn--dark lp-btn--big lp-btn--outline lp-btn--mob-full-width button-style-2"
                
                
                
                
                
                >
                        More Details
                </a>
  </div>
</div>
</section>
<section id="section-5aae5d32-5ac5-4d4d-8950-c11b07c97200"  class="solid-section is-font-color-dark is-background-color-light" data-el-id="ac02c806-12cd-4935-a9ef-ee0ce348a752">
  <div class="video-gallery redesign">
  <div class="lp-container">
    

    <div class="video-gallery__row">
      <div class="carousel-container " data-columns=3>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://youtu.be/fy2seXj36fM">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">8 Positive Mindset Tips for Navigating Divorce</h6>
              <div class="video-card__description"><p>Empower yourself with eight essential tips for fostering a positive mindset through your divorce jo...</div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/qd75q8rhpx2neg05mfdv" 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/qd75q8rhpx2neg05mfdv 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/qd75q8rhpx2neg05mfdv 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/qd75q8rhpx2neg05mfdv 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="8 Positive Mindset Tips for Navigating Divorce" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://www.youtube.com/watch?v&#x3D;GBlqW30D6A8">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">Divorce: Sell, Refinance, or Rent Home?</h6>
              <div class="video-card__description"><p>Discover your home options during a divorce: selling, refinancing, or renting it out for potential ...</div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/geunuzmlkjlt197uhgsl" 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/geunuzmlkjlt197uhgsl 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/geunuzmlkjlt197uhgsl 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/geunuzmlkjlt197uhgsl 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="Divorce: Sell, Refinance, or Rent Home?" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://youtu.be/G0lLwZvjLLE">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">Divorce Real Estate Guide by Katie Dorr</h6>
              <div class="video-card__description"><p>Katie Dorr at Lynch Group OC combines compassion and expertise in Divorce Real Estate. With her bac...</div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/sl1ztnsihsjza4mg3c7c" 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/sl1ztnsihsjza4mg3c7c 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/sl1ztnsihsjza4mg3c7c 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/sl1ztnsihsjza4mg3c7c 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="Divorce Real Estate Guide by Katie Dorr" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://youtu.be/7WBtVtAp1pU">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">Divorce &amp; Assets: Fun Guide</h6>
              <div class="video-card__description"><p>Explore the fun and stress-free ways to handle asset division during a divorce, focusing on what to...</div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ddu9uwnpospofpnpaokh" 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/ddu9uwnpospofpnpaokh 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/ddu9uwnpospofpnpaokh 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ddu9uwnpospofpnpaokh 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="Divorce &amp; Assets: Fun Guide" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://www.youtube.com/watch?v&#x3D;IpuTtDnwL0o">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">Sell Home in Divorce</h6>
              <div class="video-card__description"><p>Learn how to navigate the emotional and practical sides of selling your home during a divorce.</p></div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/quxfhpdm9eryfb2snzms" 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/quxfhpdm9eryfb2snzms 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/quxfhpdm9eryfb2snzms 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/quxfhpdm9eryfb2snzms 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="Sell Home in Divorce" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
        <div class="video-gallery__slide">
          <a class="video-card" data-type="VIDEO" data-src="https://youtu.be/cH4elNwceb4">
            <div class="video-card__header">
              <h6 class="video-card__title lp-h6">Refinancing Home After Divorce: Buying Out Your Spouse</h6>
              <div class="video-card__description"><p>Discover how to smoothly navigate refinancing your home to buy out your spouse after a divorce.</p></div>
            </div>

            <div class="video-card__preview">
              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/csxfwlgidacnkuebumnp" 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/csxfwlgidacnkuebumnp 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/csxfwlgidacnkuebumnp 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/csxfwlgidacnkuebumnp 1280w" sizes="(max-width: 574px) 100vw, (max-width: 990px) 50vw, 33vw" alt="Refinancing Home After Divorce: Buying Out Your Spouse" loading="lazy">
              <span class="lp-play lp-play--light video-card__btn-play" aria-label="play video"></span>
            </div>
          </a>
        </div>
      </div>
    </div>

    <div class="lp-pagination pagination-container pagination-style-1">
      <div class="paginationjs">
        <div class="paginationjs-pages">
          <div class="carousel-controls"></div>
        </div>
      </div>
    </div>

  </div>
</div>
</section>
<section id="section-aa2165f8-e41e-4807-8b05-2aed4add0425"  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="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/media/5d237f76-6287-48d4-a9c7-270e9b0fceaf" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Home Search</h3>
        </a>
      </div>
      
      
      <div class="gallery-component__col">
        <a class="gallery-card"
 href="/concierge"             >
          <div class="gallery-card__preview">
            <img src="https://media-production.lp-cdn.com/media/22373f14-fa55-476e-9288-79e1b5231b4f" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Concierge Services</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/media/383e59ce-6937-4a26-ae10-e9d13f552984" alt="" loading="lazy">
          </div>
          <h3 class="lp-h3 gallery-card__title">Home Valuation</h3>
        </a>
      </div>
      
    </div>
  </div>
</div>


</section>
<section  class="image-section is-font-color-light is-background-color-light" id="section-1f0c2313-ff54-4a21-b27f-a2a330ae577c" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c">
    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
  (function(){
    const sectionId = 'section-1f0c2313-ff54-4a21-b27f-a2a330ae577c'
    const section = document.querySelector(`#${sectionId}`);
    var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image');

    if('false' === 'true') {
      section.classList.add('parallax-enabled');
      section.style.setProperty('--sectionBackground', sectionBg);
      section.style.setProperty('background', 'none');
    }
  })()
</script>
<div class="redesign work-with-us ">
	<div class="container">
			<h2 class="serif">Work With Us</h2>
		<p>With our strong and growing team, we have many years of combined experience and close to three-quarters of a billion dollars in sales. We handle all aspects of residential real estate from leasing, purchasing, selling, investing, developing, or building. Contact Us Today!</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-d169c8dc-706c-4152-aeb8-986c379aeb58"  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 Us 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 Us</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>The Lynch Group</h3>
        <div class="info-wrap">
            <div class="info-wrap-contact agent_box">
                <div class="info-wrap-contact_zone type_user">
                    <h4 class="serif">Southern California Coastal Real Estate Specialists</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#ddbeb5b8afa4b19dbeb5b8afa4b1b1a4b3beb5f3beb2b0" class="lp-link info-wrap-contact_link grey-text hyperlink-style-4"><span class="__cf_email__" data-cfemail="80e3e8e5f2f9ecc0e3e8e5f2f9ececf9eee3e8aee3efed">[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:(949) 842-5340" class="lp-link info-wrap-contact_link grey-text hyperlink-style-4">(949) 842-5340</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>33522 Niguel Rd, <br />Dana Point, CA 92629</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/media/b3eb3003-8f9d-4027-a995-98cd1c2affdf" alt="Footer Image">
                </div>
            </div>
            <div class="luxury-text">
                <div id="iw5i">
<p id="i4ufo">CHERYL LYNCH | CA DRE# 01314572</p>
<p id="i9g8o"><br>The Lynch Group is a team of real estate agents affiliated with Compass. <a id="iukbv" class="link" href="https://www.compass.com/" target="_blank" rel="noopener">Compass</a> is a real estate broker licensed by the State of California and abides by Equal Housing Opportunity laws. License Number 01991628. All material presented herein is intended for informational purposes only and is compiled from sources deemed reliable but has not been verified. Changes in price, condition, sale or withdrawal may be made without notice. No statement is made as to the accuracy of any description. All measurements and square footage are approximate. If your property is currently listed for sale this is not a solicitation.<br><img id="ietj8" src="https://media-production.lp-cdn.com/media/e7474b2e-4dd7-4cb1-9ad9-58b46c484d7a" width="100px;"></p>
</div>
<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}#i4ufo{font-size:14px;font-weight:700;}#i9g8o{font-size:12px;}#iukbv{font-size:12px;font-weight:400;}#ietj8{filter:invert(0);margin-top:20px;}</style>
            </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="powered_zone">
                    Powered by <a href="https://www.luxurypresence.com/" target="_blank" class="lp-link grey-text luxury-link underlined hyperlink-style-4">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">2022</span>
                | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-4">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/theLynchGroupOC/"
                            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/thelynchgroup/?hl&#x3D;en"
                            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/company/thelynchgroup/about/"
                            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://share.google/sWRs92sipW4JrWhjF"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0.3s"
                            target="_blank"
                            aria-label="GOOGLE"
                          >
                              <span class="lp-i lp-i--google" aria-hidden="true"></span>
                          </a>
                        </li>
                        <li>
                          <a
                            href="https://www.compass.com/agents/the-lynch-group/"
                            class="lp-socials__link socials__item socials__link wow fadeInUp"
                            data-wow-delay="0.4s"
                            target="_blank"
                            aria-label="BROKERAGE"
                          >
                             <svg width="20" height="20" viewBox="0 0 60.14 60"><path d="M29.86 0a30 30 0 00.28 60 30.03 30.03 0 0030-30A30 30 0 0029.86 0zm.28 8a22.03 22.03 0 0122 22 22 22 0 11-22-22zm7.18 9.17l-20 20 5.65 5.66 20-20z" /></svg>
                          </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/media/73cdf1e7-fe5b-4831-b734-dc684f37c086')">
          <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">The Lynch Group</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:(949) 842-5340" class="lp-link info-zone_contact_link link hyperlink-style-3">(949) 842-5340</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#593a313c2b2035193a313c2b20353520373a31773a3634" class="lp-link info-zone_contact_link link hyperlink-style-3"><span class="__cf_email__" data-cfemail="7f1c171a0d06133f1c171a0d06131306111c17511c1012">[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">33522 Niguel Rd, 
        Dana Point, CA 92629
        
        Gregory Lynch | CA DRE# 1982385</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/theLynchGroupOC/"
                                    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/thelynchgroup/?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/company/thelynchgroup/about/"
                                    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://share.google/sWRs92sipW4JrWhjF"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0.3s"
                                    target="_blank"
                                    aria-label="GOOGLE"
                                  >
                                      <span class="lp-i lp-i--google" aria-hidden="true"></span>
                                  </a>
                                </li>
                                <li>
                                  <a
                                    href="https://www.compass.com/agents/the-lynch-group/"
                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
                                    data-wow-delay="0.4s"
                                    target="_blank"
                                    aria-label="BROKERAGE"
                                  >
                                     <svg width="20" height="20" viewBox="0 0 60.14 60"><path d="M29.86 0a30 30 0 00.28 60 30.03 30.03 0 0030-30A30 30 0 0029.86 0zm.28 8a22.03 22.03 0 0122 22 22 22 0 11-22-22zm7.18 9.17l-20 20 5.65 5.66 20-20z" /></svg>
                                  </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
                The Lynch Group
                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>The Lynch Group</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', 'UA-214542020-33', { page: location.pathname, location: location.href });
            document.sendGoogleTagManagerEvent('config', 'G-KGT1FGP7W6', { page: location.pathname, location: location.href });
            document.sendGoogleTagManagerEvent('config', 'G-3QP2NRVWJ6', { page: location.pathname, location: location.href });
        document.sendGoogleAnalyticsEvent = function(googleEvent) {
            /* Now this has a mapping to match ga4 in order to not modify buttons.js and contactForms.js */
            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction, {
                event_category: googleEvent.eventCategory,
                event_label: googleEvent.eventLabel,
                value: googleEvent.eventValue
            })
        };

        document.addEventListener("DOMContentLoaded", function() {
            var pageView = {
                hitType: 'pageview',
                page: location.pathname,
                location: location.href
            };
            (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', {});
            }
            document.sendGoogleAnalyticsEvent(pageView);
        });
    </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: 'f65852ef-1e26-41eb-8c9f-e6cf6bf923fc',
                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  ) {\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    ) {\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    ) {\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":"5352ae73-a0d0-41a1-be66-3d29f59a3929","alt":null,"bytes":5738,"width":960,"format":"jpg","height":600,"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/rzhcoqabu3pi3d5svnee","smallUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rzhcoqabu3pi3d5svnee","authorUrl":null,"mediumUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rzhcoqabu3pi3d5svnee","sourceUrl":null,"xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rzhcoqabu3pi3d5svnee","__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/rzhcoqabu3pi3d5svnee","description":null,"displayName":"property-placeholder","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rzhcoqabu3pi3d5svnee","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/rzhcoqabu3pi3d5svnee","originalFileName":"property-placeholder"}
            },
            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();
        }
    };
}
$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.recaptcha = {
            // Extend for future recaptcha settings
            enabled: false,
            recaptchaSiteId: ''
        };
        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.recaptchaSiteId) this.recaptcha = {
            enabled: true,
            recaptchaSiteId: options.recaptchaSiteId
        };
        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,
            gRecaptchaResponse: data.g_recaptcha_response,
            gRecaptchaAction: data.g_recaptcha_action,
            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
            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);
                throw error;
            }
            // 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';
const $e10bd00497be8876$var$GRECAPTCHA_ACTION = 'contact_form';
// 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 {string} recaptchaToken - Recaptcha token
   * @param {HTMLFormElement} contactForm - Form element
   * @return {Object} - Submission data
   */ _buildSubmissionData(values, fields, recaptchaToken, 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 {
            g_recaptcha_response: recaptchaToken,
            g_recaptcha_action: $e10bd00497be8876$var$GRECAPTCHA_ACTION,
            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) {
        const { config: config } = this;
        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;
            }
            // Get reCAPTCHA token if enabled (inside try/catch to handle failures)
            let recaptchaToken = '';
            if (config.recaptcha.enabled) recaptchaToken = await this._recaptchaToken();
            const fields = this._getFields(contactForm);
            const data = this._buildSubmissionData(values, fields, recaptchaToken, 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.');
        }
    }
    /**
   * Get Recaptcha token for assessment
   * @param {Object} data
   * @return {Promise<string>}
   */ _recaptchaToken() {
        const { window: window, config: config } = this;
        if (!config.recaptcha.recaptchaSiteId) {
            // eslint-disable-next-line no-console
            console.log('No recaptchaSiteId provided');
            return;
        }
        return new Promise((resolve, reject)=>{
            window.grecaptcha.enterprise.ready(()=>{
                window.grecaptcha.enterprise.execute(config.recaptcha.recaptchaSiteId, {
                    action: $e10bd00497be8876$var$GRECAPTCHA_ACTION
                }).then((token)=>resolve(token)).catch((e)=>reject(e));
            });
        });
    }
    /**
   * 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("f65852ef-1e26-41eb-8c9f-e6cf6bf923fc", {});
                window.luxuryPresence.config.setWebsite("387b6d27-7d11-4a71-a6f4-a16e31e7eec2", {
                    recaptchaSiteId: "",
                    myhomeDashboardEnabled: false
                });
                const url = new URL(window.location.href);
                const shareId = url.searchParams.get('shareId');
                window.luxuryPresence.config.setPage("93f6df55-73e9-4c3e-8e0a-56fe51d0d55b", {
                    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("dbfbedc7-c7e2-4812-86ee-0ee198862c21", {});
                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');
  const $window = $(window);
  $window.on('lpui-sidemenu-show.lpui-auto-clean', function () {
    $hamburger.addClass('active');
  });
  $window.on('lpui-sidemenu-hide.lpui-auto-clean', function () {
    $hamburger.removeClass('active');
  });
  setTimeout(() => {
    if ($window.scrollTop() > 0) {
      $section.find('.wow').each(function () {
        wow.applyStyle(this, true);
        wow.show(this);
      });
    }
  }, 500);
  function updateSubsVisibility(e) {
    try {
      e.forEach(function (record) {
        var $target = $(record.target);
        if (!$target.hasClass('sub-nav')) {
          return;
        }
        var $link = $target.siblings('.navigation__link');
        if (!$link.length) {
          return;
        }
        if ($target.hasClass('visible')) {
          $link.addClass('visible-dropdown');
        } else {
          $link.removeClass('visible-dropdown');
        }
      });
    } catch (e) {
      console.log(e);
    }
  }
  var observer = new MutationObserver(updateSubsVisibility);
  observer.observe($section.find('.header')[0], {
    subtree: true,
    attributes: true,
    attributeFilter: ["class"]
  });
})('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\":\"#ffffff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#000000\",\"backgroundColorScroll\":\"#ffffff\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}"));
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var $sidemenu = $('#' + sectionDomId);
  var shown = false;
  function onShow() {
    if (shown) {
      return;
    }
    shown = true;
    window.lpUI.requestScrollLock(sectionDomId);
  }
  function onHide(ev, opts) {
    if (!shown) {
      return;
    }
    shown = false;
    window.lpUI.releaseScrollLock(sectionDomId);
    $('body').removeClass('locked');
    opts = ev.detail || opts;
    if (!opts || !opts.instant) {
      $sidemenu.addClass("is-hiding");
      setTimeout(function () {
        $sidemenu.removeClass("is-hiding");
      }, 300);
    }
  }
  $sidemenu.on('lpui-show', onShow);
  $(window).on('lpui-sidemenu-hide.lpui-auto-clean', onHide);
  $sidemenu.removeClass("is-hiding");
})('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(options) {})('global-mobile-contact');
} catch(e) {
console.log(e);
}
                
                try {
(function init(sectionDomId) {
  var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap');
  var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top'));
  var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom'));
  var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div');
  function resizeImage() {
    if (window.matchMedia('(min-width: 993px)').matches) {
      imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom);
    }
  }
  $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () {
    if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) {
      $(this).toggleClass('active');
    }
  });
  resizeImage();
  $(window).on('resize.lpui-auto-clean', resizeImage);
})('section-8b33ab52-cfc9-4183-bec3-11e4714fc973', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap');
  var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top'));
  var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom'));
  var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div');
  function resizeImage() {
    if (window.matchMedia('(min-width: 993px)').matches) {
      imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom);
    }
  }
  $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () {
    if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) {
      $(this).toggleClass('active');
    }
  });
  resizeImage();
  $(window).on('resize.lpui-auto-clean', resizeImage);
})('section-517fc939-beea-4a6b-be73-55817f4d77e2', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap');
  var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top'));
  var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom'));
  var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div');
  function resizeImage() {
    if (window.matchMedia('(min-width: 993px)').matches) {
      imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom);
    }
  }
  $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () {
    if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) {
      $(this).toggleClass('active');
    }
  });
  resizeImage();
  $(window).on('resize.lpui-auto-clean', resizeImage);
})('section-5d9f22c2-e523-408b-b2e0-ca086f51efbd', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap');
  var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top'));
  var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom'));
  var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div');
  function resizeImage() {
    if (window.matchMedia('(min-width: 993px)').matches) {
      imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom);
    }
  }
  $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () {
    if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) {
      $(this).toggleClass('active');
    }
  });
  resizeImage();
  $(window).on('resize.lpui-auto-clean', resizeImage);
})('section-30cfc6ca-2781-435d-bcb0-82a3f9215d5c', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-9f54afb4-02a6-4931-a1e9-3f55028ab674', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {// please write all js here and use sectionDomId in selectors in order of DOM encapsulation
})('section-94a9fbfa-8665-4275-9480-fbb8b5b44584', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var _target = $(`#${sectionDomId} .link.link--share`);
  _target.on('click', function () {
    $(this).toggleClass('link--share-visible');
  });
})('section-d83a9500-b13c-40b6-bbf7-9a87b7387404', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-28286af2-4dac-4d61-9393-69b73fb27e61', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {
  var $section = $("#" + sectionDomId);
  var $slider = $section.find(".carousel-container");
  var columnsCount = $slider.data('columns');
  var sliedsCount;
  var itemsCount = $slider.find(".video-gallery__slide").length;
  if (itemsCount % columnsCount > 0) {
    $slider.addClass('centered');
  }
  var $carouselControls = $section.find(".carousel-controls");
  var headerHeight = $("body > header").height();
  if (!headerHeight || headerHeight < 100) headerHeight = 100;
  const sliderOptions = {
    "dots": true,
    "fade": true,
    "rows": columnsCount == 2 ? 3 : 2,
    "arrows": true,
    "infinite": false,
    "touchMove": false,
    "appendDots": $carouselControls,
    "slidesPerRow": columnsCount,
    "adaptiveHeight": true,
    "appendArrows": $carouselControls,
    "nextArrow": "<ul><li class='paginationjs-next'><a></a></li></ul>",
    "prevArrow": "<ul><li class='paginationjs-prev'><a></a></li></ul>",
    "customPaging": function (slider, i) {
      return '<a>' + (i + 1) + '</a>';
    },
    "responsive": [{
      "settings": {
        "rows": 3,
        "slidesPerRow": 2,
        "adaptiveHeight": true
      },
      "breakpoint": 991
    }, {
      "settings": {
        "rows": 2,
        "slidesPerRow": 1
      },
      "breakpoint": 575
    }]
  };
  $section.find('.carousel-container').not('.slick-initialized').slick(sliderOptions);
  function showHidePages() {
    $section.find('.carousel-controls .slick-disabled li').addClass('disabled');
    $section.find('.carousel-controls .slick-dots .slick-active').addClass('active');
    slidesCount = $slider.find('.slick-slide').length;
    if (slidesCount < 2) {
      $section.find('.carousel-controls').hide();
    } else {
      $section.find('.carousel-controls').show();
    }
  }
  showHidePages();
  function scrollToSectionTop() {
    $section.find('.carousel-controls .slick-disabled li').removeClass('disabled');
    $('html, body').animate({
      scrollTop: $slider.offset().top - headerHeight
    }, 1000, 'linear');
  }
  $slider.on("beforeChange", scrollToSectionTop);
  $slider.on("afterChange", function () {
    $section.find('.pagination-container').find('.slick-dots .active').removeClass('active');
    $section.find('.pagination-container').find('.slick-dots .slick-active').addClass('active');
    $section.find('.carousel-controls .slick-disabled li').addClass('disabled');
  });
  function renderDots() {
    var $dots = $("#" + sectionDomId + " .slick-dots");
    var $dotsItems = $dots.children("li");
    $dotsItems.removeClass("li-hidden");
    var dotsWidth = $carouselControls.width() - $carouselControls.find(".paginationjs-prev").outerWidth(true) - $carouselControls.find(".paginationjs-next").outerWidth(true);
    var dotItemWidth = $dotsItems.last().outerWidth(true);
    var totalDotsCount = $dotsItems.length;
    var dotsToShow = Math.floor(dotsWidth / dotItemWidth);
    var activeItem = $dots.find(".slick-active")[0];
    var activeItemIndex = $dotsItems.index(activeItem);
    var mql = window.matchMedia('(min-width: 576px)').matches;
    var dummyFirstSlide = activeItemIndex === 0 ? 1 : '';
    var dummyLastSlide = activeItemIndex === totalDotsCount - 1 ? totalDotsCount - 2 : '';
    var showIndices = mql ? [0, totalDotsCount - 1, activeItemIndex - 1, activeItemIndex, activeItemIndex + 1] : [0, dummyFirstSlide, dummyLastSlide, activeItemIndex, totalDotsCount - 1];
    if (totalDotsCount > dotsToShow) {
      $dotsItems.filter(function (index) {
        return showIndices.indexOf(index) === -1;
      }).addClass("li-hidden").filter(function () {
        return !$(this).next().hasClass("li-hidden") && !$(this).prev().hasClass("li-hidden");
      }).removeClass("li-hidden");
    }
  }
  renderDots();
  $slider.on("afterChange", renderDots);
  $(window).on("resize", renderDots);
  var resizeTimer;
  $(window).on('resize', function (e) {
    clearTimeout(resizeTimer);
    resizeTimer = setTimeout(function () {
      showHidePages();
    }, 100);
  });
})('section-5aae5d32-5ac5-4d4d-8950-c11b07c97200', 'undefined');
} catch(e) {
console.log(e);
}
                try {
(function init(sectionDomId) {})('section-aa2165f8-e41e-4807-8b05-2aed4add0425', '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-1f0c2313-ff54-4a21-b27f-a2a330ae577c', '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-d169c8dc-706c-4152-aeb8-986c379aeb58', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"f65852ef-1e26-41eb-8c9f-e6cf6bf923fc\",\"sectionIndex\":13}"));
} 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-d169c8dc-706c-4152-aeb8-986c379aeb58', '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 -->
        <!-- CUSTOM Compliance Checkbox Script START -->
<script>
  document.addEventListener('DOMContentLoaded', () => {
    // Function to get the business name dynamically
    function getBusinessName(form) {
      const DEFAULT_BUSINESS_NAME = "Luxury Presence";
      const currentDisclaimer = form ? form.querySelector(".lp-tcr-content") : null;
      if (currentDisclaimer) {
        const businessNameMatch = currentDisclaimer.textContent?.match(
          /I agree to be contacted by\s+(.*?)\s+via call/s
        );
        if (businessNameMatch && businessNameMatch[1]) {
          return businessNameMatch[1];
        }
      }
      return DEFAULT_BUSINESS_NAME;
    }

    // Select all elements with the class lp-tcr-message and update them
    function updateMessages(root = document) {
      root.querySelectorAll('.lp-tcr-message').forEach(element => {
        if (!element.dataset.updated) { // Prevent redundant updates
          // Find the closest form to get the business name from its context
          const closestForm = element.closest('form[data-type="contact-form"]');
          const businessName = getBusinessName(closestForm);

          element.innerHTML = `
            <p>By providing ${businessName} your contact information, you acknowledge and agree to our <a href="/terms-and-conditions" target="_blank" rel="noreferrer noopener">Privacy Policy and Terms & Conditions</a> and consent to receiving marketing communications, including through automated calls, texts, and emails, some of which may use artificial or prerecorded voices. This consent isn’t necessary for purchasing any products or services and you may opt out at any time. To opt out from texts, you can reply, ‘STOP’ at any time or reply 'HELP' for assistance. To opt out from emails, you can click on the unsubscribe link in the emails. Message frequency may vary. Message and data rates may apply.</p>
          `;
          element.dataset.updated = "true"; // Mark as updated
        }
      });
    }

    // Run once on page load for initial content
    updateMessages();

    // --- Optimized Mutation Observer for Modals ---
    function observeModalsForUpdates() {
      const modalsContainer = document.getElementById("modals");

      if (modalsContainer) {
        let observerDisconnectionDone = false; // Flag to ensure disconnection after first run
        const observer = new MutationObserver((mutationsList, observer) => {
          mutationsList.forEach((mutation) => {
            if (mutation.type === "childList" && mutation.addedNodes.length > 0) {
              mutation.addedNodes.forEach((node) => {
                // Only act if the added node is an element and contains a .lp-tcr-message
                // or if it's the modal itself and will contain forms
                if (node.nodeType === 1 && (node.querySelector('.lp-tcr-message') || node.matches('.modal, [id^="modal-"]'))) {
                  if (!observerDisconnectionDone) {
                    // Pass the modalsContainer as the root to updateMessages
                    // This ensures it only processes elements within the newly added modal
                    setTimeout(() => updateMessages(modalsContainer), 50); // Small delay to ensure content is rendered
                    observerDisconnectionDone = true; // Set flag
                    observer.disconnect(); // Disconnect observer
                  }
                }
              });
            }
          });
        });

        // Start observing the modals container for added child nodes
        // We might keep subtree true if modals themselves load content dynamically *after* they appear
        observer.observe(modalsContainer, {
          childList: true,
          subtree: true // Keep subtree true if the modal's content loads forms dynamically
        });
      }
    }

    // Initialize the modal observer
    observeModalsForUpdates();

    // Re-evaluate if needed for modals opened by click (as a fallback or for specific modal types)
    // This event listener can be kept as a robust fallback, especially if modals load outside the #modals container.
    document.body.addEventListener('click', event => {
      if (event.target.closest('[data-open-modal]')) { // Adjust selector if necessary
        // A small delay to ensure content is fully loaded in the modal
        setTimeout(() => {
          const modalsContainer = document.getElementById("modals");
          if (modalsContainer) {
            updateMessages(modalsContainer); // Update specifically within the modals container
          } else {
            updateMessages(); // Fallback to document-wide if #modals not found
          }
        }, 500);
      }
    });
  });
</script>
<!-- CUSTOM Compliance Checkbox Script END -->

            <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:'a0a32801ee906111',t:'MTc4MTIwNzU0Nw=='};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>
