1<!DOCTYPE html> 2<html class="no-js" lang=en> 3<head> 4 <meta charset="utf-8"> 5 <meta http-equiv="x-ua-compatible" content="ie=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta name="twitter:card" content="summary_large_image"> 8 <meta property="og:type" content="website"> 9 <title>Meet the Team | Philadelphia Real Estate | The Eric Fox Team</title> 10 <meta property="og:title" content="Meet the Team | Philadelphia Real Estate | The Eric Fox Team"> 11 <meta name="twitter:title" content="Meet the Team | Philadelphia Real Estate | The Eric Fox Team"> 12 <meta name="description" content="Find out more about the members of The Eric Fox Team. Clients of this team receive high-quality service when they buy or sell homes in Philadelphia."> 13 <meta property="og:description" content="Find out more about the members of The Eric Fox Team. Clients of this team receive high-quality service when they buy or sell homes in Philadelphia."> 14 <meta name="twitter:description" content="Find out more about the members of The Eric Fox Team. Clients of this team receive high-quality service when they buy or sell homes in Philadelphia."> 15 <meta property="og:image" content="https://media-production.lp-cdn.com/media/366839bb-5798-451e-94d1-ae253dd20efc"> 16 <meta name="twitter:image" content="https://media-production.lp-cdn.com/media/366839bb-5798-451e-94d1-ae253dd20efc"> 17 <meta property="og:url" content="https://efoxhomes.com/team"> 18 <link rel="canonical" href="https://efoxhomes.com/team"> 19
19<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
19 20 <link rel="preconnect" href="https://fonts.googleapis.com"> 21 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 22 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Maven%20Pro:400,500,600,700,800,900"><style>@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Regular.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Regular.woff') format('woff');font-weight: 400;font-style: normal;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Italic.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Italic.woff') format('woff');font-weight: 400;font-style: italic;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Medium.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Medium.woff') format('woff');font-weight: 500;font-style: normal;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-MediumItalic.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-MediumItalic.woff') format('woff');font-weight: 500;font-style: italic;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Bold.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Bold.woff') format('woff');font-weight: 700;font-style: normal;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-BoldItalic.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-BoldItalic.woff') format('woff');font-weight: 700;font-style: italic;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Medium.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-Medium.woff') format('woff');font-weight: 600;font-style: normal;}@font-face {font-family: 'CompassSans';src: url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-MediumItalic.woff2') format('woff2'),url('https://s3-us-west-2.amazonaws.com/static-lp/fonts/compass/CompassSans/CompassSans-MediumItalic.woff') format('woff');font-weight: 600;font-style: italic;}</style> 23 <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 24 <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript> 25 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 26 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 27 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 28 <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png"> 29 <style id="global-css">:root{--global-primary-font-family:'Maven Pro',sans-serif;--global-primary-font-family-short:Maven Pro;--global-secondary-font-family:CompassSans,sans-serif;--global-secondary-font-family-short:CompassSans;--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:CompassSans,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Maven Pro',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> 30 <link rel="stylesheet" type="text/css" href="https://styles.luxurypresence.com/producer/index.css" /> 31 <style id="website-css">nav#global-navbar .header .logo__img{max-height:70px;}nav#global-navbar .header .logo{max-height:80px;max-width:250px;margin-left:30px;}footer#global-footer .footer .info-wrap-contact_zone i{color:#CE5331;}nav#global-navbar.scroll .content-container{background:#fff!important;color:#000!important;}nav#global-navbar.scroll .logo .logo__img.dark{display:block;}nav#global-navbar.scroll .logo .logo__img.light{display:none;}div#modal-global-contact-us .contact-form .info-zone_contact_link{color:#fff;}.lp-btn{padding:20px 46px;min-width:250px;}.redesign .btn--small{padding:20px 46px;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}@media only screen and (max-width: 560px){.lp-btn{width:100%;padding:20px auto;min-width:auto;}}h1{text-transform:uppercase;}h2{text-transform:uppercase;}h3{text-transform:uppercase;}h4{text-transform:uppercase;}h5{text-transform:uppercase;}h6{text-transform:uppercase;}div#global-sidemenu.sidemenu a{text-transform:uppercase;}div#global-sidemenu.sidemenu button{text-transform:uppercase;}footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:46px!important;}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:22px!important;}}div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:22px!important;}@media (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:22px!important;}}#global-footer .info-wrap-contact_zone:nth-child(1) .info-wrap-contact_cell:nth-child(3) .contact_title:after{content:' (CELL)';}#global-footer .info-wrap-contact_zone:nth-child(2) .info-wrap-contact_cell:nth-child(1) .contact_title:after{content:' (OFFICE)';}@media (min-width: 1201px){#global-footer .info-wrap-contact_zone:nth-child(2){float:right;}}@media (max-width: 768px){#global-footer .info-wrap-contact_zone:nth-child(2){margin-bottom:0;}}</style> 32 <style id="wow-hide-elements">.wow{visibility:hidden!important}</style> 33 <style id="page-css"> 34 #section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d{color:#fff;--fontColor:#fff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, #06212C);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/uu02zvgpsxg1wey27qzw');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .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;
34-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro__title{font-size:22px;}}#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .custom-intro__subtitle{font-size:18px;}}#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d .description{margin-bottom:15px;}@media (min-width: 960px) and (orientation: landscape){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d{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/uu02zvgpsxg1wey27qzw');}}@media (min-width: 1280px) and (orientation: landscape){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d{background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/uu02zvgpsxg1wey27qzw');}}@media (min-width: 1920px) and (orientation: landscape){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d{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/uu02zvgpsxg1wey27qzw');}}@media (min-width: 2560px) and (orientation: landscape){#section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d{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/uu02zvgpsxg1wey27qzw');}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2{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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-section--full-bleed{padding-top:0;}@media (min-width: 993px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-section--full-bleed{padding-bottom:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image--reverse{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image--reverse{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image--reverse .hoverable-image__text-col{padding-right:120px;padding-left:0;}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image--reverse .hoverable-image__text-col{padding:0;margin-top:29px;margin-bottom:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col{-webkit-flex:50%;-ms-flex:50%;flex:50%;z-index:1;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col>div{width:100%;height:100%;position:relative;padding-bottom:79%;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col>div .main-image{visibility:visible;opacity:1;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col>div .secondary-image{visibility:hidden;opacity:0;}@media (hover: hover) and (pointer: fine){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col--on-hover:hover .main-image{visibility:hidden;opacity:0;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col--on-hover:hover .
34secondary-image{visibility:visible;opacity:1;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col--on-hover.active .main-image{visibility:hidden;opacity:0;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__img-col--on-hover.active .secondary-image{visibility:visible;opacity:1;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-col{padding-left:0;margin-top:29px;margin-bottom:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-col .lp-text--subtitle{max-width:100%;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-col .buttons-wrapper{margin:0;}}@media (max-width: 576px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-col .buttons-wrapper .lp-btn{vertical-align:top;margin:24px 12px 0;}@media (max-width: 560px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-col .buttons-wrapper .lp-btn{margin-left:0;margin-right:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-wrap{-webkit-flex:1;-ms-flex:1;flex:1;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .hoverable-image__text-wrap p:last-child{margin-bottom:0;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container{padding:0;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image__text-col{padding:69px;}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image__text-col{padding:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .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-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image__img-col>div{max-height:none;}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:calc(50% + 69px);}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image--straight .hoverable-image__text-wrap{padding-left:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:calc(50% + 69px);}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .full-bleed-container .hoverable-image--reverse .hoverable-image__text-wrap{padding-right:0;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .lp-h2{margin-bottom:16px;}@media (max-width: 992px){#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .lp-h2{margin-bottom:8px;}}#section-5928088b-820c-4c14-aa0e-75ff1b36ebc2 .redesign p{margin-bottom:1.666rem;text-transform:none;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137{color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#EAE4E1;--bgColor_H:20;
34--bgColor_S:18%;--bgColor_L:90%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#EAE4E1;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 div.team-grid .team-member__hover{border-color:#CE5331;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid{padding:140px 0 90px;}@media (max-width: 768px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid{padding:40px 0;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__title{text-align:center;margin-bottom:50px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid .lp-input{width:100%;height:35px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__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-left:-25px;margin-right:-25px;}@media(min-width: 1001px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__wrapper.two-col{max-width:750px;width:100%;margin:0 auto;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__wrapper.two-col .team-member__container{width:50%;}}@media(max-width: 1000px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__wrapper{max-width:1000px;}}@media (max-width: 768px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-grid__wrapper{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container{width:33.333%;padding-left:25px;padding-right:25px;margin-bottom:50px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:first-child{margin-left:auto;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:last-child{margin-right:auto;}@media(max-width: 1000px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container{width:50%;}}@media (max-width: 768px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container{width:100%;}}@media (hover: hover) and (pointer: fine){@media (min-width: 769px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__image{opacity:.5;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__hover{opacity:1;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__hover::before,#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__hover::after{width:100%;height:100%;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__hover::before{border-top-color:inherit;border-right-color:inherit;-webkit-transition:width 0.25s ease-out,height 0.25s ease-out 0.25s;transition:width 0.25s ease-out,height 0.25s ease-out 0.25s;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container:hover .team-member__hover::after{border-bottom-color:inherit;border-left-color:inherit;-webkit-transition:width 0.25s ease-out 0.5s,height 0.25s ease-out 0.75s,border-color 0.01s ease-out 0.5s;transition:width 0.25s ease-out 0.5s,height 0.25s ease-out 0.75s,border-color 0.01s ease-out 0.5s;}}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__container.filtered-out{display:none;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__link{position:relative;display:block;height:100%;cursor:pointer;color:inherit;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__image{position:relative;width:100%;padding-top:130%;background-color:#cccccc;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__image img{position:absolute;object-fit:cover;width:100%;height:100%;top:0;left:0;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__image-wrap{position:relative;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover{opacity:0;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-transform:translate(20px, 20px);-moz-transform:translate(20px, 20px);-ms-transform:translate(20px, 20px);transform:translate(20px, 20px);
34display:-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;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:10px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover:before,#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover:after{content:' ';position:absolute;border:2px solid transparent;width:0;height:0;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover:before{top:0;left:0;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover:after{bottom:0;right:0;}@media (hover:none) and (pointer: coarse){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__hover{display:none;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__name{display:block;margin-top:25px;font-size:30px;line-height:40px;font-weight:400;font-family:var(--global-primary-font-family);}@media (max-width: 560px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__name{font-size:18px;line-height:29px;letter-spacing:0.75px;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__role{display:block;margin-top:8px;font-size:14px;line-height:24px;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:1.5px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__license{font-size:13px;text-transform:uppercase;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__info{text-align:center;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .team-member__btn{margin-bottom:60px;position:relative;z-index:1;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .form-container{padding-bottom:48px;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-form{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;margin:0 -10px -8px;}@media (max-width: 600px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-form{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .input-group{-webkit-flex:1 0 250px;-ms-flex:1 0 250px;flex:1 0 250px;max-width:300px;position:relative;margin:8px 10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 600px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .input-group{-webkit-flex:1;-ms-flex:1;flex:1;max-width:unset;margin:8px 0;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:0;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-clear-icon{color:#b2b2b2;position:absolute;top:calc(50% + 2px);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:40px;-webkit-transition:-webkit-transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0.3s;transition:transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0.3s;opacity:1;visibility:visible;cursor:pointer;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-clear-icon:hover{-webkit-transform:translateY(-50%) scale(1.2);-moz-transform:translateY(-50%) scale(1.2);-ms-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2);}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .is-empty .search-clear-icon{opacity:0;visibility:hidden;-webkit-transition:-webkit-transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0s;transition:transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0s;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-input{padding-right:65px;}@media (max-width: 569px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .search-input{padding-bottom:5px;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-toggle{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;outline:none;text-align:left;cursor:pointer;position:relative;padding-right:65px;overflow:hidden;text-overflow:ellipsis;text-transform:none;font-family:var(--global-secondary-font-family);}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-open-icon{position:absolute;right:17px;top:calc(50% - 1px);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:-webkit-transform .3s ease;transition:transform .3s ease;cursor:pointer;color:#b2b2b2;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-clear{color:#b2b2b2;position:absolute;right:40px;top:calc(50% + 2px);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:-webkit-transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0.3s;transition:transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0.3s;opacity:1;visibility:visible;cursor:pointer;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-clear:hover{-webkit-transform:translateY(-50%) scale(1.2);-moz-transform:translateY(-50%) scale(1.2);-ms-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2);}@media (max-width: 639px){#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-clear{display:none;}}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-dropdown{position:absolute;width:100%;top:calc(100% + 5px);overflow:hidden;height:0;-webkit-transition:height 0.3s ease;transition:height 0.3s ease;background-color:#f5f5f5;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-dropdown.on-top{bottom:calc(100% + 5px);top:auto;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;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-dropdown.opened{z-index:999;position:fixed;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-dropdown-wrapper{width:100%;overflow:hidden auto;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-optgroup{width:100%;padding:11px 20px;color:#b2b2b2;cursor:default;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-option{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;text-align:left;width:100%;border:none;border-radius:0;background-color:transparent;cursor:pointer;padding:11px 20px;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;text-transform:none;font-family:var(--global-secondary-font-family);}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select-option:hover{background-color:#b2b2b2;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select{-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select.is-empty .c-select-toggle{color:#b2b2b2;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select.is-empty .c-select-clear{opacity:0;visibility:hidden;-webkit-transition:-webkit-transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0s;transition:transform 0.3s ease,opacity 0.3s ease,visibility 0s linear 0s;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .c-select.opened .c-select-open-icon{color:currentColor;-webkit-transform:translateY(-50%) rotateX(180deg);-moz-transform:translateY(-50%) rotateX(180deg);-ms-transform:translateY(-50%) rotateX(180deg);transform:translateY(-50%) rotateX(180deg);}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .empty-message{padding:160px 0;text-align:center;display:none;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .empty-message.visible{display:block;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137 .visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0;}#section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-46871a9d-151f-4e36-9f45-e215a457103a{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-46871a9d-151f-4e36-9f45-e215a457103a .f-video-carousel{padding-top:70px;padding-bottom:70px;position:relative;}@media(min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .f-video-carousel{padding-top:130px;padding-bottom:130px;}}
34#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media(min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;height:384px;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__preview{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:#eeeeee;position:relative;margin-bottom:30px;height:280px;}@media(min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__preview{margin-bottom:0;height:auto;-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%;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__preview button{padding:0;border:none;display:block;position:absolute;left:0;top:0;cursor:pointer;height:100%;width:100%;background-color:transparent;}@media (min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__preview button:hover .v-carousel__button{background-color:rgba(255,255,255,0.3);}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__preview-item{height:100%;width:100%;position:absolute;left:0;top:0;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__cover{display:block;width:100%;height:100%;object-fit:cover;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button{-webkit-transition:all .2s;transition:all .2s;cursor:pointer;background-color:rgba(255,255,255,0.16);border-radius:50%;width:89px;height:89px;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;position:relative;border:none;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button:before{content:'';background-color:#fff;border-radius:50%;-webkit-transition:0.2s all;transition:0.2s all;width:44px;height:44px;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button:after{content:'';width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid #000;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%);}@media (min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button{width:127px;height:127px;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button:before{width:63px;height:63px;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__button:after{border-width:6px 0 6px 11px;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list{list-style-type:none;margin:0;padding:0 26px 0 0;overflow:auto;max-height:480px;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list::-webkit-scrollbar{width:6px;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list::-webkit-scrollbar-track{background-color:rgba(32, 32, 32, 0.05);}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list::-webkit-scrollbar-button{background-color:transparent;height:0;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list::-webkit-scrollbar-thumb{background-color:#535353;border-radius:3px;}@media(min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list{padding:0 50px;height:auto;-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%;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item{position:relative;-webkit-transition:0.4s all;transition:0.4s all;padding-right:30px;margin-bottom:0;padding-top:26px;padding-bottom:26px;cursor:pointer;}@media (min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carou
34sel__list-item:hover{background-color:rgba(196, 196, 196, 0.1);padding-left:20px;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item+.v-carousel__list-item:after{content:'';display:block;position:absolute;top:0;left:0;right:0;background-color:currentColor;height:1px;opacity:0.2;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item:first-child{padding-top:0;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item:last-child{padding-bottom:0;}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item h3{font-size:20px;line-height:1.33;margin-bottom:10px;}@media(min-width: 769px){#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item h3{font-size:24px;}}#section-46871a9d-151f-4e36-9f45-e215a457103a .v-carousel__list-item p{font-size:14px;line-height:1.57;margin-bottom:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#ffff;--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:#ffff;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704{--bg-table-stripe:#f6f6f5;--b-table:#e3e3e2;--caption:#242423;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 table{background-color:transparent;border-collapse:collapse;table-layout:fixed;width:300px;background-color:#fff;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 th{text-align:left;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-txt-center{text-align:center!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-txt-left{text-align:left!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-txt-right{text-align:right!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table caption{color:var(--caption);font-weight:700;padding-bottom:.56rem;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tbody{border-bottom:1px solid var(--b-table);border-top:1px solid var(--b-table);}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table th{padding-right:1.78em;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered th{border:1px solid var(--b-table);}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered th,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-striped td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-striped th{padding-left:1em;padding-right:1em;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered tr:not(:last-child),#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-striped tr:not(:last-child){border-bottom:1px solid var(--b-table);}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-striped tbody tr:nth-of-type(2n){background-color:var(--bg-table-stripe);}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table thead td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table thead th{padding-bottom:.75em;vertical-align:bottom;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tbody td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tbody th,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tfoot td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tfoot th{padding-top:.75em;vertical-align:top;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tbody td,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table tbody th{padding-bottom:.75em;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-bordered thead th{padding-top:1.33em;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-wrapper-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;left:50%;margin-left:-50vw;margin-right:-50vw;padding-bottom:1em;position:relative;right:50%;width:100vw;}@media only screen and (max-width:42.09em){#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 th{width:100vw;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 tr{margin-bottom:5px;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 td:before{background-color:#000;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0!important;font-weight:500;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 td{padding:0!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive thead{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px;white-space:nowrap;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive tr{display:block;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive td{-webkit-column-gap:3.16vw;-moz-column-gap:3.16vw;-webkit-column-gap:3.16vw;column-gap:3.16vw;display:-ms-grid;display:grid;-ms-grid-columns:1fr 2fr;grid-template-columns:1fr 2fr;text-align:left!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive.dcf-table-bordered,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive.dcf-table-bordered thead th{border-width:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive.dcf-table-bordered tbody td{border-top-width:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive:not(.dcf-table-bordered) tbody tr{padding-bottom:.75em;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive:not(.dcf-table-bordered) tbody td{padding-bottom:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive:not(.dcf-table-bordered):not(.dcf-table-striped) tbody td{padding-right:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive.dcf-table-bordered tbody tr:last-child td:last-child{border-bottom-width:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-table-responsive tbody td:before{content:attr(data-label);float:left;padding-right:1.78em;}}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-overflow-x-auto{overflow-x:auto!important;-webkit-overflow-scrolling:touch;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .dcf-w-100\%{width:100%!important;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 div.lp-container{max-width:1700px;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .video-wrapper{z-index:1;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .overlay-component{z-index:2;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .custom-content{z-index:3;position:relative;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h1,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h2,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h3,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h4,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h5,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 h6,#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 p{margin-bottom:1.6666rem;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704 .lp-container *:last-child{margin-bottom:0;}#section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704>div:last-child{padding-top:calc(0 / 4 * var(--global-section-padding))!important;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4{background-attachment:fixed;-webkit-background-position:center;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#f8f8f8;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:97%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#f8f8f8;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.6));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/eapqbqlefkr1cuc9t0t4');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}@media (max-width: 767px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4{background-attachment:scroll;}}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .redesign .link:after{background-color:#fff;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4.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-f4b511f5-8707-423d-92bd-e6e5108751a4.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4.parallax-enabled .featured-testimonials:before{display:block;content:'';left:0;top:0;width:100%;
34background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials{padding:140px 0;position:relative;max-height:100vh;}@media(max-width: 768px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials{padding:40px 0;max-height:unset;}}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .container{max-width:1300px;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .container:after{content:'';clear:both;display:block;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left{text-align:right;padding-right:45px;max-width:500px;width:100%;float:left;}@media(max-width: 991px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left{max-width:350px;width:inherit;padding-right:30px;}}@media(max-width: 768px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left{text-align:center;padding-right:0;margin-bottom:30px;float:none;max-width:100%;}}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left h2{margin:0 0 15px;width:100%;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0;padding:0;white-space:nowrap;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav li{display:inline-block;vertical-align:top;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav .separator{margin-left:40px;position:relative;pointer-events:none;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav .separator:before{content:'';position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:currentColor;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:before,#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__left .slick-links-nav .link.slick-disabled:after{opacity:0;color:inherit;background-color:inherit;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__right{padding-left:45px;max-width:700px;overflow:hidden;}@media(max-width: 991px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__right{padding-left:30px;}}@media(max-width: 768px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials .featured-testimonials__right{overflow:visible;padding-left:0;}}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider{border-left:solid 1px #d5d5d5;margin-left:-45px;padding-left:45px;margin-bottom:40px;}@media(max-width: 991px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider{margin-left:-30px;padding-left:30px;}}@media(max-width: 768px){#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider{margin-left:0;padding:0;margin-bottom:30px;border:none;}}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider blockquote{margin:0 0 25px;white-space:pre-line;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider cite{font-weight:bold;font-size:14px;line-height:18px;text-transform:uppercase;font-style:normal;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider .slick-slide{vertical-align:top;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-f4b511f5-8707-423d-92bd-e6e5108751a4 .featured-testimonials__slider:not(.slick-initialized) li:not(:first-child){display:none;}@media (min-width: 960px) and (orientation: landscape){#section-f4b511f5-8707-423d-92bd-e6e5108751a4{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/eapqbqlefkr1cuc9t0t4');}}@media (min-width: 1280px) and (orientation: landscape){#section-f4b511f5-8707-423d-92bd-e6e5108751a4{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/eapqbqlefkr1cuc9t0t4');}}@media (min-width: 1920px) and (orientation: landscape){#section-f4b511f5-8707-423d-92bd-e6e5108751a4{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/eapqbqlefkr1cuc9t0t4');}}@media (min-width: 2560px) and (orientation: landscape){#section-f4b511f5-8707-423d-92bd-e6e5108751a4{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/eapqbqlefkr1cuc9t0t4');}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5{color:rgba(0, 0, 0, 1);--fontColor:rgba(0, 0, 0, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:rgba(255, 255, 255, 1);--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:rgba(255, 255, 255, 1);}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign .link--white{color:#000;border-color:#000;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign .link--white:after{background-color:#000;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign .slick-links-nav span.spacer{background-color:#000;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__text{background-color:#f9f9f9;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__text h4,#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__text p,#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__text h5{color:#000;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__item{background-color:#f9f9f9;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .redesign.featured-properties-section .featured-properties .featured-properties__label{background-color:#F1A64F;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section{padding:140px 0;}@media (max-width: 991px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section{padding:100px 0;}}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section{padding:40px 0;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-list{width:100%;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-track{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-slide{height:inherit!important;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-arrow:not(.slick-disabled){cursor:pointer;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav{display:inline-block;list-style:none;vertical-align:top;margin:0 0 0;padding:28px 0 0;white-space:nowrap;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav{padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;
34-webkit-justify-content:center;justify-content:center;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav li{display:inline-block;vertical-align:top;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav li+li{margin-left:40px;position:relative;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .slick-hidden+.spacer{display:none;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .spacer{position:absolute;left:-23px;width:1px;height:10px;margin-top:-5px;top:50%;background-color:#fff;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .link.slick-disabled{cursor:default;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .link.slick-disabled:hover{color:inherit;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .link.slick-disabled:before,#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .slick-links-nav .link.slick-disabled:after{opacity:0;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .btn{min-width:250px;}@media (min-width: 561px) and (max-width: 1024px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-section .btn{width:275px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:60px;text-align:center;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-header{display:block;margin-bottom:40px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-header h2{color:var(--fontColor);margin:0;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-header h2{margin-bottom:25px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-button-holder{text-align:center;margin-top:80px;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-button-holder{margin-top:40px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow{position:relative;left:auto;right:auto;bottom:auto;top:auto;text-align:left;font-size:14px;line-height:24px;width:auto;height:24px;text-transform:uppercase;margin-top:15px;color:#C6C6C6;opacity:1!important;-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);font-family:var(--global-secondary-font-family);}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow:hover{color:#fff;opacity:1;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow:before{content:'';}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow{margin-top:0;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow:after{content:'';position:absolute;bottom:3px;height:1px;background-color:#fff;left:0;right:0;-webkit-transition:opacity .3s;transition:opacity .3s;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow.slick-prev:before{content:none;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow.slick-next{margin-left:41px;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow.slick-next:before{left:-21px;width:1px;height:12px;background-color:#fff;pointer-events:none;top:8px;opacity:1;position:absolute;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties-nav .slick-arrow.slick-disabled:after{opacity:0;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties{padding:0;margin:0 -40px;color:#000;}@media (max-width: 991px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties{margin-left:-12px;margin-right:-12px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item-cover{padding:0 40px;}@media (max-width: 991px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item-cover{padding:0 12px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item-cover:focus{outline:none;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item{background-color:#fff;text-align:center;font-weight:bold;position:relative;height:100%;color:var(--fontColor);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media (min-width: 1025px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item{min-height:500px;}}@media (hover: none) and (pointer: coarse){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item{min-height:1px;background-color:transparent;}}@media (hover: hover) and (pointer: fine){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item:hover .featured-properties__hover{opacity:1;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item h4{text-transform:none;color:black;margin:0 0 7px;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item p{color:black;margin:0 0 7px;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item p{margin-bottom:3px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item h5{color:black;margin:0;font-family:var(--global-secondary-font-family);text-transform:none;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__item >a{width:100%;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__img{vertical-align:top;width:100%;height:315px;background-color:gray;position:relative;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__img img{width:100%;height:100%;object-fit:cover;}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__img{height:200px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__text{color:var(--fontColor);background-color:#fff;padding:25px 15px 15px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (hover: none) and (pointer: coarse){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__text{padding:13px;min-height:175px;}}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__text h4{max-height:56px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__text p{white-space:normal;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__label{position:absolute;top:0;right:0;background:#000;color:#fff;
34padding:4px 35px;z-index:2;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__hover{color:var(--bgColor);padding:15px;position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.75);opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear;z-index:3;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}@media(max-width: 991px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__hover{display:none;}}@media(max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__hover h4{display:none;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__hover >a{position:absolute;top:0;left:0;width:100%;height:100%;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:10px 24px;position:relative;z-index:2;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share{display:inline-block;position:relative;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share.featured-properties__share--opened .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (hover: none) and (pointer: coarse){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share{display:block;width:100%;margin-top:4px;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share .btn.btn--primary-light{display:block;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share .socials{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:none;}@media (hover: none) and (pointer: coarse){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share .socials{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:static;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);top:auto;left:auto;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share .socials .socials__link{width:69px;}@media (hover: none) and (pointer: coarse){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties .featured-properties__share .socials .socials__link:hover{border-bottom:transparent!important;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties:not(.slick-initialized){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties:not(.slick-initialized) >.featured-properties__item-cover{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;}@media (min-width: 769px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties:not(.slick-initialized) >.featured-properties__item-cover{width:50%;}}@media (min-width: 1100px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .three-slides .featured-properties:not(.slick-initialized)>.featured-properties__item-cover{width:33%;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item-info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100%;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item-info:has(.mls-compliance-container) .featured-properties__text{padding-bottom:0;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item-mls-attribution{text-shadow:none;margin:0!important;color:#000!important;width:calc(100% - 200px);}@media (max-width: 1024px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item-mls-attribution{width:100%;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item .featured-properties__item-mls-attribution+.featured-properties__item-mls-logo{position:absolute!important;right:15px!important;bottom:15px!important;display:inline-block;}@media (max-width: 1024px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item .featured-properties__item-mls-attribution+.featured-properties__item-mls-logo{position:static!important;}}@media (max-width: 1024px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__item .featured-properties__item-mls-logo{display:inline-block!important;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .mls-compliance-container{margin-top:auto;padding:15px!important;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__open-house{position:absolute;bottom:0;left:0;width:100%;padding:8px 0;color:black;background:rgba(255, 255, 255, 0.7);}@media (max-width: 768px){#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .featured-properties__open-house{font-size:12px;}}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5 .description{margin-bottom:15px;}#section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-7f291366-97f6-4b89-9d21-f10295e3b700{color:#ffffff;--fontColor:#ffffff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.30));background-image:linear-gradient(var(--gradient-color), var(--gradient-color)),url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/oygsrpfp9mncgyc88izh');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-7f291366-97f6-4b89-9d21-f10295e3b700.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-7f291366-97f6-4b89-9d21-f10295e3b700.parallax-enabled>div.video-wrapper{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:-9999;}#section-7f291366-97f6-4b89-9d21-f10295e3b700.parallax-enabled .work-with-us:before{display:block;content:'';left:0;top:0;width:100%;
34background:var(--sectionBackground) center no-repeat;-webkit-background-size:cover;background-size:cover;position:fixed;z-index:-1;height:100%;}#section-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us{position:relative;color:var(--fontColor, #ffffff);}#section-7f291366-97f6-4b89-9d21-f10295e3b700 .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-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us .container{min-height:auto;padding-top:100px;padding-bottom:100px;}}#section-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us h2{position:relative;padding-bottom:28px;margin:0 0 30px;}@media(max-width: 768px){#section-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us h2{padding-bottom:40px;}}#section-7f291366-97f6-4b89-9d21-f10295e3b700 .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-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us .description{margin:0 0 30px;}@media(max-width: 768px){#section-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us .description{margin-bottom:40px;}}#section-7f291366-97f6-4b89-9d21-f10295e3b700 .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-7f291366-97f6-4b89-9d21-f10295e3b700 .redesign.work-with-us .btn-container{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px;}}@media (min-width: 960px) and (orientation: landscape){#section-7f291366-97f6-4b89-9d21-f10295e3b700{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/oygsrpfp9mncgyc88izh');}}@media (min-width: 1280px) and (orientation: landscape){#section-7f291366-97f6-4b89-9d21-f10295e3b700{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/oygsrpfp9mncgyc88izh');}}@media (min-width: 1920px) and (orientation: landscape){#section-7f291366-97f6-4b89-9d21-f10295e3b700{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/oygsrpfp9mncgyc88izh');}}@media (min-width: 2560px) and (orientation: landscape){#section-7f291366-97f6-4b89-9d21-f10295e3b700{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/oygsrpfp9mncgyc88izh');}}#section-53764df7-2f07-4c3c-8119-03b9923e76be{color:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#fff;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed{padding:80px 0;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .title{margin:0 20px 0 0;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-53764df7-2f07-4c3c-8119-03b9923e76be .instagram-link .instagram-name{display:inline;margin:0;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .title+.instagram-link{margin-top:5px;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-wrapper{margin-bottom:20px;
34display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .follow-button{margin:20px 0 0 0;display:block;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-nav-prev{margin-left:30px;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-nav-next{margin-left:10px;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .hidden-control{display:none;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single,#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single:first-child,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi:first-child{margin-left:auto;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single:last-child,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi:last-child{margin-right:auto;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single.type2,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi.type2{width:calc(100% / 5 * 2);}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single.type3,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi.type3{width:calc(100% / 2);}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single.type4,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi.type4{width:calc(100% / 2);}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single.type5,#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-container{padding:0;width:100%;}}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .video-icon{position:absolute;width:50px;height:50px;background-color:#fff;left:50%;
34top:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:1;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-item:hover .video-icon{opacity:0;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single .ig-feed-item__info{padding:15%;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .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-53764df7-2f07-4c3c-8119-03b9923e76be .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-right,#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .title,#section-53764df7-2f07-4c3c-8119-03b9923e76be .instagram-link{margin-right:0;text-align:center;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-nav-prev,#section-53764df7-2f07-4c3c-8119-03b9923e76be .top-nav-next{display:none;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-53764df7-2f07-4c3c-8119-03b9923e76be .ig-feed{display:none;}#section-53764df7-2f07-4c3c-8119-03b9923e76be .has-data .ig-feed{display:block;}#section-53764df7-2f07-4c3c-8119-03b9923e76be.has-data .ig-feed,#section-53764df7-2f07-4c3c-8119-03b9923e76be#section-temp .ig-feed{display:block;}#modal-global-contact-us .close{z-index:11;}#modal-global-contact-us .description{margin-bottom:15px;}#modal-global-contact-us .close:focus{outline:0;}#modal-global-contact-us .contact-form{padding:70px 0;width:100%;min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;color:var(--colorTxt, #ffffff);-webkit-background-size:cover;background-size:cover;}#modal-global-contact-us .contact-form:after{content:'';position:absolute;display:block;background-color:rgba(2, 5, 7, 0.85);height:100%;width:100%;z-index:0;}
34#modal-global-contact-us .contact-form.loading textarea,#modal-global-contact-us .contact-form.loading input,#modal-global-contact-us .contact-form.loading label,#modal-global-contact-us .contact-form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .submit-icon{display:none;}#modal-global-contact-us .contact-form .contact-form-close{width:40px;height:50px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;position:absolute;right:50px;top:50px;z-index:110;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close{right:20px;top:20px;width:30px;height:40px;}}#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{content:'';display:block;width:40px;height:1px;background-color:#fff;position:absolute;left:50%;top:50%;}@media (max-width: 560px){#modal-global-contact-us .contact-form .contact-form-close:before,#modal-global-contact-us .contact-form .contact-form-close:after{width:30px;}}#modal-global-contact-us .contact-form .contact-form-close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}#modal-global-contact-us .contact-form .contact-form-close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}#modal-global-contact-us .contact-form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:1440px;width:100%;padding:0 160px;margin:0 auto;z-index:10;}@media (max-width: 1320px){#modal-global-contact-us .contact-form .container{padding:0 80px;}}@media (max-width: 1200px){#modal-global-contact-us .contact-form .container{padding:0 30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .container{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .container{padding:0 20px;}}#modal-global-contact-us .contact-form h2{margin:0 0 18px 0;padding:0;}@media (max-width: 560px){#modal-global-contact-us .contact-form h2{margin:0 0 24px 0;}}#modal-global-contact-us .contact-form .section-details{width:50%;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-details{padding-right:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-details{width:100%;padding-right:0;max-width:700px;margin-bottom:38px;}}#modal-global-contact-us .contact-form .section-message{width:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}@media (max-width: 1200px){#modal-global-contact-us .contact-form .section-message{padding-left:30px;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message{width:100%;padding-left:0;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;}}#modal-global-contact-us .contact-form .section-message:after{content:'';position:absolute;display:block;width:1px;background:#999999;height:calc(100% + 50px);left:0;top:-20px;}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message:after{display:none;}}#modal-global-contact-us .contact-form .section-message form{max-width:435px;width:100%;}#modal-global-contact-us .contact-form .section-message form .submitButton{width:auto;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message form .submitButton{width:100%;}}@media (max-width: 900px){#modal-global-contact-us .contact-form .section-message form{max-width:700px;}}#modal-global-contact-us .contact-form .section-message form.loading textarea,#modal
34-global-contact-us .contact-form .section-message form.loading input,#modal-global-contact-us .contact-form .section-message form.loading label,#modal-global-contact-us .contact-form .section-message form.loading button{pointer-events:none;opacity:.5;}#modal-global-contact-us .contact-form .section-message form.loading .label-loading{display:inline;}#modal-global-contact-us .contact-form .section-message form.loading .label-success,#modal-global-contact-us .contact-form .section-message form.loading .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.loading .submit-icon{display:inline-block;}#modal-global-contact-us .contact-form .section-message form.success .label-loading,#modal-global-contact-us .contact-form .section-message form.success .label-initial{display:none;}#modal-global-contact-us .contact-form .section-message form.success .label-success{display:inline;}#modal-global-contact-us .contact-form .section-message .label-loading,#modal-global-contact-us .contact-form .section-message .label-success{display:none;}#modal-global-contact-us .contact-form .section-message .submit-icon{display:none;}#modal-global-contact-us .contact-form .section-message h2{margin-bottom:28px;}#modal-global-contact-us .contact-form .section-message .form-group_modal{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:39px;}#modal-global-contact-us .contact-form .section-message .form-group_modal input{border:none;border-bottom:1px solid #c0c0c0;display:block;width:100%;background:transparent;color:#ffffff;height:22px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group_modal input{height:25px;}}#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message .form-group-textarea{margin-bottom:23px;}}#modal-global-contact-us .contact-form .section-message label{display:block;width:100%;line-height:1.63;letter-spacing:1px;color:#c0c0c0;font-weight:bold;text-transform:uppercase;}#modal-global-contact-us .contact-form .section-message textarea{resize:none;height:105px;width:100%;background:transparent;border:solid 1px #ffffff;margin:23px 0 0 0;color:#ffffff;padding:10px;font-size:16px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .section-message textarea{margin:10px 0 0 0;height:89px;}}#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 16px 0;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone h4{margin:0 0 13px 0;}}#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:30px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:58px;}}#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:23px;}#modal-global-contact-us .contact-form .info-zone_contact:nth-last-child(2){margin-bottom:30px;}#modal-global-contact-us .contact-form .info-zone_contact_cell{position:relative;padding-left:45px;margin-bottom:22px;font-weight:bold;font-size:14px;max-width:90%;letter-spacing:1.5px;text-transform:uppercase;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell{padding-left:0;}}#modal-global-contact-us .contact-form .info-zone_contact_cell:last-of-type{margin-bottom:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:absolute;left:0;top:0;display:block;}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone_contact_cell i{position:relative;margin-bottom:7px;}}#modal-global-contact-us .contact-form .info-zone_contact_cell i svg path{fill:var(--colorTxt);}#modal-global-contact-us .contact-form .info-zone_contact_cell div{padding:0;}#modal-global-contact-us .contact-form .info-zone_contact_cell .contact_title{line-height:1;margin-bottom:5px;}#modal-global-contact-us .contact-form .info-zone_contact_link{color:var(--colorTxt);}@media (max-width: 560px){#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:58px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form .hours_box{margin-bottom:52px;}}#modal-global-contact-us .contact-form .socials_zone{padding-left:45px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone{padding-left:0;}}#modal-global-contact-us .contact-form .socials_zone li{margin-bottom:10px;}#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:34px;}@media (max-width: 560px){#modal-global-contact-us .contact-form .socials_zone li:not(:last-child){padding-right:12px;}}#modal-global-contact-us .contact-form .success-message.success{margin-top:15px;color:var(--colorTxt);position:absolute;}#modal-global-contact-us .contact-form .success-message.hide{opacity:0;}#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:73px;}@media (max-width: 768px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:51px;}}@media (max-width: 560px){#modal-global-contact-us .contact-form.one_contact .info-zone .type_user{margin-bottom:40px;}}#modal-global-contact-us .contact-form.one_contact .hours_box{margin-bottom:38px;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell{padding-left:0;}#modal-global-contact-us .contact-form.no_icon .info-zone_contact_cell i{display:none;}#modal-global-contact-us .contact-form.no_icon .socials_zone{padding-left:0;}#modal-global-contact-us .contact-form .pre-line{white-space:pre-line;}#modal-global-contact-us .lp-input-group{margin-bottom:40px;}#modal-global-contact-us .lp-input-group.m16{margin-bottom:16px;}#modal-global-contact-us .lp-disclaimer{margin-top:0;}#modal-global-contact-us .lp-input{border-color:#ffffff;}#modal-global-contact-us .lp-input:focus,#modal-global-contact-us .lp-input:active{border-color:#5e5e5e;}nav{color:#fff;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;z-index:102;}nav.scroll .logo .logo__img.light{display:block;}nav.scroll .logo .logo__img.dark{display:none;}nav .header{height:100px;-webkit-transform:translateY(24px);-moz-transform:translateY(24px);-ms-transform:translateY(24px);transform:translateY(24px);}@media (max-width: 768px){nav .header{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}}nav .header .container{max-width:1440px;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (max-width: 1024px){nav .header .container{padding:0 15px;}}nav .header .navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;
34-webkit-justify-content:space-between;justify-content:space-between;min-height:70px;padding:8px 0 7px;width:100%;}nav .header .logo{z-index:911;position:relative;margin-right:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;max-width:300px;}nav .header .logo a{overflow:hidden;display:inline-block;}nav .header .logo img{max-width:100%;max-height:52px;vertical-align:top;object-fit:contain;}@media (max-width: 1024px){nav .header .logo img{max-height:50px;}}nav .header .logo img.dark{display:none;}@media(max-width: 1024px){nav .header .logo img.dark{display:none!important;}}nav .header .logo img.light{display:block;}@media(max-width: 1024px){nav .header .logo img.light{display:inline-block!important;}}nav .header .logo__link{-webkit-animation-duration:1s;animation-duration:1s;overflow:hidden;}nav .header .logo__img.light{display:block;}nav .header .logo__img.dark{display:none;}nav .header .navigation{margin-left:auto;color:inherit;}@media (max-width: 1024px){nav .header .navigation{display:none;}}nav .header .navigation ul{position:relative;list-style-type:none;padding-left:0;margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}nav .header .navigation ul li a span,nav .header .navigation ul li button span{position:relative;white-space:nowrap;}nav .header .navigation ul li a span:after,nav .header .navigation ul li button span:after{content:'';position:absolute;display:block;height:1px;background-color:#c6c6c6;width:0;bottom:0;left:0;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation ul li a:hover span:after,nav .header .navigation ul li button:hover span:after{width:100%;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation__item{padding:0;margin:0;}nav .header .navigation__link{display:block;padding:12px 13px;color:inherit;position:relative;font-size:13px;line-height:1.08;font-weight:700;letter-spacing:1.5px;background-color:transparent;border:none;cursor:pointer;text-align:left;text-transform:uppercase;}@media (max-width: 1280px){nav .header .navigation__link{padding:19px 10px;font-size:11.5px;}}nav .header .navigation__link .sub-nav-container .navigation__link:hover{background:#000000;}nav .header .navigation .sub-nav{position:absolute;bottom:0;padding:0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav .header .navigation .sub-nav ul{margin:0;padding:12px 0;display:block;background-color:rgba(26, 26, 26, .75);max-width:300px;}nav .header .navigation .sub-nav__item{position:relative;display:block;margin:0;text-align:left;}nav .header .navigation .sub-nav__item:last-child{border-bottom-color:transparent;}nav .header .navigation .sub-nav__link{display:block;max-width:300px;color:#ffffff;margin:0;line-height:1;letter-spacing:1.5px;padding:19px 13px;-webkit-transition:all .2s ease;transition:all .2s ease;}nav .header .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, 100%);-moz-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%);}nav .header .navigation .sub-nav.visible+.navigation__link{background:#000000;}nav .header .hamburger{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:28px 13px;background-color:transparent;color:inherit;vertical-align:middle;cursor:pointer;outline:none;z-index:915;opacity:1;}nav .header .hamburger__bars{position:relative;display:block;width:26px;height:2px;background-color:currentColor;-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before,nav .header .hamburger__bars:after{content:'';display:block;width:26px;height:2px;background-color:currentColor;position:absolute;
34left:0;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:0.2s -webkit-transform ease;transition:0.2s transform ease;}nav .header .hamburger__bars:before{-webkit-transform:translateY(-9px);-moz-transform:translateY(-9px);-ms-transform:translateY(-9px);transform:translateY(-9px);}nav .header .hamburger__bars:after{-webkit-transform:translateY(9px);-moz-transform:translateY(9px);-ms-transform:translateY(9px);transform:translateY(9px);}nav .header .hamburger:hover{text-shadow:.5px 0 0,-.5px 0 0;}nav .header .hamburger:hover .hamburger__bars:before{-webkit-transform:translateY(-7px);-moz-transform:translateY(-7px);-ms-transform:translateY(-7px);transform:translateY(-7px);}nav .header .hamburger:hover .hamburger__bars:after{-webkit-transform:translateY(7px);-moz-transform:translateY(7px);-ms-transform:translateY(7px);transform:translateY(7px);}nav .header .hamburger.active .hamburger__bars{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);opacity:0;}nav .header .hamburger.active .hamburger__bars:before{display:none;}nav .header .hamburger.active .hamburger__bars:after{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}nav .content-container{-webkit-transition:0.2s all ease;transition:0.2s all ease;}nav.scroll .content-container,nav .scroll .content-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}nav.scroll .content-container .navigation__link,nav .scroll .content-container .navigation__link{visibility:visible!important;}nav.scroll .content-container .navigation .sub-nav,nav .scroll .content-container .navigation .sub-nav{-webkit-transform:translate(0, calc(100% + -10px));-moz-transform:translate(0, calc(100% + -10px));-ms-transform:translate(0, calc(100% + -10px));transform:translate(0, calc(100% + -10px));}nav.scroll .content-container .navigation .sub-nav ul,nav .scroll .content-container .navigation .sub-nav ul{padding:0;}nav.scroll .content-container .navigation .sub-nav.visible,nav .scroll .content-container .navigation .sub-nav.visible{opacity:1;visibility:visible;-webkit-transform:translate(0, calc(100% + 23px));-moz-transform:translate(0, calc(100% + 23px));-ms-transform:translate(0, calc(100% + 23px));transform:translate(0, calc(100% + 23px));}nav .dark-opening{background-color:rgb(26, 26, 26)!important;}nav nav.dark-opening .header{margin-top:0;}nav #ctaShowButton,nav #ctaMessage{display:none!important;}nav #ctaShowButton{display:none;opacity:0;pointer-events:none;}nav .search{cursor:pointer;}nav .search svg{display:block;}nav .buttons-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}body>div.sidemenu{background-color:#fff;color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;}body>div.sidemenu{width:auto!important;left:auto!important;right: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;
34-webkit-justify-content:flex-start;justify-content:flex-start;padding-left:20px;padding-right:20px;}}body>div.sidemenu .sidebar__close{position:absolute;right:30px;top:30px;display:inline-block;width:38px;height:38px;padding:10px;border:none;border-radius:0;background:transparent;color:inherit;z-index:1;cursor:pointer;}body>div.sidemenu .sidebar__close:before,body>div.sidemenu .sidebar__close:after{content:'';display:block;width:22px;height:2px;background-color:currentColor;position:absolute;left:50%;top:50%;}body>div.sidemenu .sidebar__close:before{-webkit-transform:translate(-50%, -50%) rotate(45deg);-moz-transform:translate(-50%, -50%) rotate(45deg);-ms-transform:translate(-50%, -50%) rotate(45deg);transform:translate(-50%, -50%) rotate(45deg);}body>div.sidemenu .sidebar__close:after{-webkit-transform:translate(-50%, -50%) rotate(-45deg);-moz-transform:translate(-50%, -50%) rotate(-45deg);-ms-transform:translate(-50%, -50%) rotate(-45deg);transform:translate(-50%, -50%) rotate(-45deg);}@media (max-width: 767px){body>div.sidemenu .sidebar__close{right:10px;top:10px;}}body>div.sidemenu .sidebar__close:focus{outline:none;}body>div.sidemenu .sidebar__nav{list-style:none;padding:0;margin:auto 0;}body>div.sidemenu .sidebar__nav-item{margin:0;padding-top:4px;padding-bottom:4px;border-bottom:1px solid hsla( 35 var(--bgColor_H, 0), 36 var(--bgColor_S, 0%), 37 calc(50% + (var(--bgColor_L, 100%) - 50%) * 0.9), 38 var(--bgColor_A, 1) 39 );}body>div.sidemenu .sidebar__nav-link{display:inline-block;padding:10px;border:none;border-radius:0;background:transparent;text-transform:none;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__nav-link:focus{outline:none;}body>div.sidemenu .sidebar__subnav{list-style:none;padding:4px 0 10px;margin:0;font-size:17px;}@media (max-width: 767px){body>div.sidemenu .sidebar__subnav{font-size:14px;letter-spacing:.3px;}}body>div.sidemenu .sidebar__subnav-item{margin-bottom:10px;}body>div.sidemenu .sidebar__subnav-item:last-child{margin-bottom:0;}body>div.sidemenu .sidebar__subnav-link{display:inline-block;padding:0;border:none;border-radius:0;background:transparent;text-transform:none;opacity:.7;-webkit-transition:all .25s;transition:all .25s;cursor:pointer;color:inherit;}body>div.sidemenu .sidebar__subnav-link:focus{outline:none;}body>div.sidemenu .sub-nav{visibility:hidden;opacity:0;max-height:0;-webkit-transition:all .3s;transition:all .3s;}body>div.sidemenu .sub-nav.visible{display:block;visibility:visible;opacity:1;max-height:100vh;}@-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:#000000;--fontColor:#000000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#fff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;--greyColor:hsla( 40var(--fontColor_H), 41var(--fontColor_S), 42calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 43var(--fontColor_A));}footer .redesign .inp--dark-bg input{color:var(--fontColor);border-color:hsla( 44 var(--fontColor_H), 45 var(--fontColor_S), 46 calc(var(--fontColor_L) + (50% - var(--fontColor_L)) * 0.445), 47 var(--fontColor_A));}footer .redesign .inp--dark-bg input:hover{border-color:var(--fontColor);}footer .redesign .inp+.inp{margin-top:24px;}footer .redesign .btn--primary-light{border-color:var(--fontColor);color:var(--fontColor);}footer .redesign .btn--primary-light:hover{background-color:var(--fontColor);color:var(--bgColor);}footer.is-background-color-light .redesign .btn--primary-light{border-width:1px;}footer .redesign .socials--grey{-webkit-box-pack:end;-ms-flex-pack:end;
47-webkit-justify-content:flex-end;justify-content:flex-end;}footer .redesign .socials--grey .socials__link{background-color:hsla( 48 var(--bgColor_H), 49 var(--bgColor_S), 50 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.15), 51 var(--bgColor_A));color:var(--greyColor);}footer .redesign .socials--grey .socials__link svg{fill:var(--greyColor);}footer .redesign .socials--grey .socials__link:hover{background-color:hsla( 52 var(--bgColor_H), 53 var(--bgColor_S), 54 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.4), 55 var(--bgColor_A));color:var(--fontColor);}footer .redesign .socials--grey .socials__link:hover svg{fill:var(--fontColor);}footer .redesign.footer .grey-text{color:var(--fontColor);}footer .footer{position:relative;padding-top:60px;padding-bottom:30px;}@media (max-width: 560px){footer .footer{padding-top:10px;}}@media (max-width: 500px){footer .footer{padding-bottom:70px;}}footer .footer .text_content_wrap p{margin-bottom:15px;}footer .footer .text_content_wrap p:last-of-type{margin-bottom:0;}footer .footer .container{max-width:1440px;}@media (max-width: 768px){footer .footer .container{padding-left:25px;padding-right:25px;}}@media (max-width: 560px){footer .footer .container{padding-left:20px;padding-right:20px;}}footer .footer h3{margin:0 0 15px 0;}footer .footer h5{text-transform:capitalize;}footer .footer .info-wrap{margin-bottom:40px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-wrap .agent_box{width:70%;}@media (max-width: 1280px){footer .footer .info-wrap .agent_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .agent_box{width:100%;}}footer .footer .info-wrap .newsletter_box{width:30%;}@media (max-width: 1280px){footer .footer .info-wrap .newsletter_box{width:50%;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box{width:100%;}}footer .footer .info-wrap .newsletter_box--padding{padding-top:44px;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box--padding{padding-top:0;}}footer .footer .info-wrap .newsletter_box .contact_title{margin-bottom:13px;line-height:1.6;}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_cell{margin-bottom:0;padding-left:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .icon_text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:22px;position:relative;}footer .footer .info-wrap .newsletter_box .icon_text i{position:relative;width:30px;margin-right:20px;}footer .footer .info-wrap .newsletter_box .icon_text .contact_title{margin-bottom:0;}}@media (max-width: 768px){footer .footer .info-wrap .newsletter_box .info-wrap-contact_zone{margin-bottom:0;}}footer .footer .info-wrap-contact{position:relative;}footer .footer .info-wrap-contact_zone{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:39px;}@media (max-width: 768px){footer .footer .info-wrap-contact_zone{margin-bottom:21px;}footer .footer .info-wrap-contact_zone:last-child{margin-bottom:51px;}}footer .footer .info-wrap-contact_zone i{position:absolute;left:0;display:block;}footer .footer .info-wrap-contact_zone i svg path{fill:currentColor;}footer .footer .info-wrap-contact_zone h4{margin:0 0 13px 0;width:100%;}footer .footer .info-wrap-contact_cell{position:relative;padding-left:50px;width:400px;font-size:14px;text-transform:uppercase;font-weight:bold;letter-spacing:1.5px;}@media (max-width: 1280px){footer .footer .info-wrap-contact_cell:first-of-type{margin-bottom:21px;}}footer .footer .info-wrap-contact_cell .contact_title{line-height:1;margin-bottom:5px;}footer .footer .info-wrap-contact_link{color:var(--greyColor);position:relative;}@media (max-width: 560px){footer .footer .info-wrap-contact_link{letter-spacing:0;}}footer .footer .hvr_animation{position:relative;-webkit-text-decoration:none!important;text-decoration:none!important;}footer .footer .hvr_animation:after{content:'';position:absolute;
55left:0;bottom:0;width:0%;height:1px;background:var(--greyColor);-webkit-transition:.3s linear;transition:.3s linear;}footer .footer .hvr_animation:hover:after{width:100%;}footer .footer .hvr_animation.underlined:after{width:100%;}footer .footer .hvr_animation.underlined:hover:after{width:0%;}footer .footer .form-content{padding:0!important;}footer .footer .form-content label{color:var(--fontColor);text-transform:none;letter-spacing:1;}footer .footer .form-content input{padding:2px 24px 2px 0;}footer .footer .form-content .subscribe_btn{margin-top:20px;position:relative;}footer .footer .form-content .subscribe_btn i{font-size:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0;}footer .footer .form-content.success i{opacity:1;}footer .footer .form-content.success .subscribe_btn span{opacity:0;}footer .footer .form-content.success .hide{opacity:0;}footer .footer .form-content.success .hide +span{opacity:1;}footer .footer .text_footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:39px;}@media (max-width: 1280px){footer .footer .text_footer{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}@media (max-width: 560px){footer .footer .text_footer{text-align:center;}}footer .footer .text_footer p{white-space:normal;}footer .footer .text_footer .images_box{max-width:186px;width:100%;margin-right:43px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (max-width: 560px){footer .footer .text_footer .images_box{margin:0 auto 20px auto;}}@media (max-width: 1280px){footer .footer .text_footer .img_size{margin-bottom:20px;}}@media (max-width: 560px){footer .footer .text_footer .img_size{margin-bottom:0;}}footer .footer .text_footer .img_size img{width:100%;height:100%;object-fit:contain;}footer .footer .first_text_footer .img_size{width:100%;height:63px;}footer .footer .first_text_footer .img_size img{width:100%;height:100%;object-fit:contain;}@media (max-width: 768px){footer .footer .first_text_footer{margin-bottom:51px;}}footer .footer .second_text_footer .first_img_size{width:45px;height:45px;margin-right:15px;}footer .footer .second_text_footer .second_img_size{width:100px;height:45px;}@media (max-width: 560px){footer .footer .second_text_footer{margin-bottom:21px;}}footer .footer .info-privacy{padding-top:45px;padding-bottom:30px;border-top:1px solid hsla( 56 var(--bgColor_H), 57 var(--bgColor_S), 58 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 59 var(--bgColor_A));}@media (max-width: 768px){footer .footer .info-privacy{padding-top:0;border-top:none;}}footer .footer .info-privacy__row{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}footer .footer .info-privacy .copy_zone{font-size:18px;}@media (min-width: 1350px){footer .footer .info-privacy .copy_zone{text-align:center;}}@media (min-width: 1281px){footer .footer .info-privacy .copy_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 768px){footer .footer .info-privacy .copy_zone{text-align:center;margin-bottom:10px;padding-top:45px;border-top:1px solid hsla( 60 var(--bgColor_H), 61 var(--bgColor_S), 62 calc(var(--bgColor_L) + (50% - var(--bgColor_L)) * 0.55), 63 var(--bgColor_A));}}footer .footer .info-privacy .copy_zone a{color:var(--greyColor);}footer .footer .info-privacy .powered_zone{font-size:18px;}@media (min-width: 1281px){footer .footer .info-privacy .powered_zone{padding-top:8px;padding-bottom:8px;}}@media (max-width: 1280px){footer .footer .info-privacy .powered_zone{text-align:center;}}@media (max-width: 768px){footer .footer .info-privacy .powered_zone{text-align:center;margin-bottom:24px;}}footer .footer .info-privacy .powered_zone a{color:var(--greyColor);}@media (min-width: 1281px){footer .footer .info-privacy .socials_zone{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 1280px){footer .footer .info-privacy .socials_zone{width:100%;margin-top:20px;-webkit-box-pack:start;-ms-flex-pack:start;
63-webkit-justify-content:flex-start;justify-content:flex-start;}}@media (max-width: 768px){footer .footer .info-privacy .socials_zone{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:0;margin-bottom:20px;}footer .footer .info-privacy .socials_zone li{padding:0 7px 10px 7px;}}footer .footer.one_contact .type_user{margin-bottom:73px;}@media (max-width: 768px){footer .footer.one_contact .type_user{margin-bottom:51px;}}footer .footer.no_newsletter h3{margin-bottom:46px;}footer .footer.no_newsletter .newsletter_box{display:none;}footer .footer.no_newsletter .info-wrap-contact{width:calc(70% + 230px);width:100%;padding-left:230px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact{padding-left:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact{width:100%;}}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_cell{width:50%;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_cell{width:100%;}}footer .footer.no_newsletter .info-wrap-contact h4{position:absolute;margin-top:-8px;left:0;max-width:200px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;width:100%;margin-bottom:20px;margin-top:0;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact h4{position:relative;left:auto;max-width:100%;}}footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:71px;}@media (max-width: 1200px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:39px;}}@media (max-width: 768px){footer .footer.no_newsletter .info-wrap-contact_zone:first-of-type{margin-bottom:51px;}}footer .footer.no_newsletter .info-wrap-contact_zone:last-child{margin-bottom:0;}footer .footer.no_icon .info-wrap-contact_cell{padding-left:0;}footer .footer.no_icon .info-wrap-contact_cell i{display:none;}footer .footer.no-names .info-wrap-contact{padding-left:0;}footer .form-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-left:-15px;margin-right:-15px;}@media (min-width: 1281px){footer .form-row{-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}@media (max-width: 900px){footer .form-row{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding-left:15px;padding-right:15px;}@media (min-width: 768px){footer .form-col{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;}}@media (min-width: 768px){footer .form-col--socials{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;}}@media (min-width: 1281px){footer .form-col--socials{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;}}@media (max-width: 768px){footer .form-col--socials{-webkit-order:-1;-ms-flex-order:-1;order:-1;}}@media (min-width: 1281px){footer .form-col--xl-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}}footer .additional-links-separator{display:block;width:100%;height:0;overflow:hidden;}@media (min-width: 768px){footer .additional-links-separator{display:inline;width:auto;height:auto;}footer .additional-links-separator:before{content:"|";}}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .img-wrap{max-width:100px;width:100%;display:block;margin-right:20px;}@media (max-width: 900px){footer .img-wrap{margin-right:0;margin-bottom:10px;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .powered-box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}@media (max-width: 900px){footer .powered-box{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .form-col--copyright{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:10px 0;}footer .luxury-link{white-space:nowrap;}footer .footer__disclaimers{padding-top:24px;padding-bottom:24px;}@media (max-width: 900px){footer .footer__disclaimers{text-align:center;}}body>div.mobile-contact-wrapper .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;
63-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;}} 64 </style> 65 <style id="custom-style-css">.social_icons-style-1 a{border-color:rgba(206, 83, 49, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(206, 83, 49, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(206, 83, 49, 1)!important;background-color:rgba(206, 83, 49, 1)!important;color:rgba(255,255,255,1)!important;}.social_icons-style-1 a i{color:inherit!important;}
65.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.hyperlink-style-1{color:rgba(64, 64, 64, 1)!important;}.hyperlink-style-1:hover{color:rgba(26, 26, 26, 1)!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;}.pagination-style-1 li a{color:rgba(206, 83, 49, 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(206, 83, 49, 1)!important;border-color:rgba(206, 83, 49, 1)!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(206, 83, 49, 1)!important;border-color:rgba(206, 83, 49, 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(241, 166, 79, 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(241, 166, 79, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(206, 83, 49, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}
65.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!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(206, 83, 49, 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, 0.7)!important;}.button-style-3{color:rgba(94, 94, 94, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(94, 94, 94, 1)!important;}.button-style-3:hover{color:rgba(255,255,255,1)!important;background-color:rgba(94, 94, 94, 1)!important;border-color:rgba(94, 94, 94, 1)!important;}.button-style-4{color:rgba(192, 192, 192, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(192, 192, 192, 1)!important;}.button-style-4:hover{color:rgba(255, 255, 255, 1)!important;background-color:rgba(192, 192, 192, 1)!important;border-color:rgba(192, 192, 192, 1)!important;}.button-style-5{color:rgba(255, 255, 255, 1)!important;background-color:rgba(6, 33, 44, 1)!important;border-color:rgba(6, 33, 44, 1)!important;}.button-style-5:hover{color:rgba(6, 33, 44, 1)!important;background-color:rgba(0, 0, 0, 0.01)!important;border-color:rgba(6, 33, 44, 1)!important;}.button-style-6{color:rgba(206, 83, 49, 1)!important;background-color:rgba(255, 255, 255, 0)!important;border-color:rgba(206, 83, 49, 1)!important;}.button-style-6:hover{color:#FFFFFF!important;background-color:rgba(206, 83, 49, 1)!important;border-color:rgba(206, 83, 49, 1)!important;}</style> 66 <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode 67 defaults, and dynamically loads the locale + main (and banner if needed). --> 68
68<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="f2a98354-14db-477e-b30c-6392a52fbac4"></script>
68 69 70 71
71<script> 72 (function utmParse() { 73 const url = new URL(window.location.href); 74 if (url.search) { 75 const utm = url.search.split(/\?|&/g).reduce((acc, current) => { 76 const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g); 77 if (matched) { 78 acc[matched[0]] = current.replace(`${matched[0]}=`, ''); 79 } 80 return acc; 81 }, {}); 82 if (Object.keys(utm).length) { 83 window.localStorage.setItem('utm_vars', JSON.stringify(utm)); 84 } else { 85 // Remove old utm vars 86 window.localStorage.removeItem('utm_vars'); 87 } 88 } 89 // Set referrer in local storage 90 // This is meant to be stored once to avoid self-referrals and to have the first referrer only. 91 if (!window.localStorage.getItem('referrer')) { 92 // Capture the Referrer URL 93 const referrer = document.referrer; 94 if (referrer) { 95 // Only store the referrer if it comes from outside the current domain (to avoid self-referrals) 96 const currentDomain = window.location.hostname; 97 const referrerDomain = new URL(referrer).hostname; 98 99 if (referrerDomain !== currentDomain) { 100 // Store it in localStorage 101 localStorage.setItem('referrer', referrer); 102 } 103 } 104 } 105 })(); 106 </script>
106 107 <!-- begin Compass Pixel Code -->
108<script 109 src="https://www.compass.com/cxlp/a.min.js" 110 id="cxlp-ajs" 111 data-client-id="gbfs3djgtp3p" 112 async 113></script>
113 114<!-- end Compass Pixel Code --> 115 <!-- GOOGLE TRANSLATE STYLES are moved to external CSS --> 116</head> 117<body> 118 <div id="google_translate_element" style="display: none"></div> 119 120 <div id="global-loader" style="height:100%;width:100%;position:fixed;z-index:9999;left:0;top:0;background-color:rgba(6, 33, 44, 1);overflow-x:hidden;transition:1s;"> 121 <div style="position:absolute;height:100vh;text-align:center;bottom:0;left:0;right: 0;display:flex;align-items:center;"> 122 <img style="margin:0 auto;" src="https://media-production.lp-cdn.com/media/bbd5767e-1c1e-4fdf-aec4-b12fb51dba21" /> 123 </div> 124 </div> 125
125<script> 126 if (window.sessionStorage.getItem('global_loading_displayed') === 'yes') { 127 (function () { 128 document.getElementById('global-loader').remove(); 129 })(); 130 } 131 </script>
131 132 133 <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b"> 134 <div class="redesign"> 135 <div class="content-container header"> 136 <div class="container header__container"> 137 <div class="navbar"> 138 <div class="logo"> 139 <a href="/" class="logo__link"> 140 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/ucy5hbmdqhxfgv8hklf1" 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/ucy5hbmdqhxfgv8hklf1 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/ucy5hbmdqhxfgv8hklf1 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/ucy5hbmdqhxfgv8hklf1 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/ucy5hbmdqhxfgv8hklf1 1548w" class="logo__img light" alt=""> 141 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/bd5mykggjhabuoeaqa6s" 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/bd5mykggjhabuoeaqa6s 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/bd5mykggjhabuoeaqa6s 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/bd5mykggjhabuoeaqa6s 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/bd5mykggjhabuoeaqa6s 1548w" class="logo__img dark" alt=""> 142 </a> 143 </div> 144 <div class="navigation"> 145 <ul> 146 <li class="navigation__item"> 147 <a href="/team" class="navigation__link wow fadeInUp" data-wow-delay="2.0"><span>Meet the Team </span></a> 148 </li> 149 <li class="navigation__item"> 150 <a href="/reviews" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Reviews</span></a> 151 </li> 152 <li class="navigation__item"> 153 <a href="/properties" class="navigation__link wow fadeInUp" data-wow-delay="2.2"><span>Listings</span></a> 154 </li> 155 <li class="navigation__item"> 156 <a href="/neighborhoods" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>Neighborhoods</span></a> 157 </li> 158 <li class="navigation__item"> 159 <a href="/blog" class="navigation__link wow fadeInUp" data-wow-delay="2.4"><span>Blog</span></a> 160 </li> 161 </ul> 162 </div> 163 <div class="buttons-wrapper"> 164 <button type="button" class="hamburger-component hamburger"> 165 <span class="hamburger__bars"></span> 166 </button> 167 </div> 168 </div> 169 </div> 170 </div> 171</div> 172 173 </nav> 174 <div id="global-sidemenu" class="sidemenu" data-el-id="285d4c89-6ed5-4dac-8cef-5b61ac8aadad"> 175 <div class="sidebar"> 176 177 <button class="toggle sidebar__close close"></button> 178 <div class="sidebar__content"> 179 180 <ul class="sidebar__nav"> 181 <li class="sidebar__nav-item"> 182 <a href="/" class="sidebar__nav-link">Home</a> 183 </li> 184 <li class="sidebar__nav-item"> 185 <a href="/team" class="sidebar__nav-link">Meet the Team</a> 186 </li> 187 <li class="sidebar__nav-item"> 188 <a href="/properties" class="sidebar__nav-link">Listings</a> 189 </li> 190 <li class="sidebar__nav-item"> 191 <a href="/home-search/listings?search_type=envelope&south=39.915381246761086&west=-75.24880384028322&north=39.98197034831065&east=-75.08915875971681&max_price=1000000&property_type%5B%5D=Residential&property_type%5B%5D=Condo&property_type%5B%5D=Townhouse&property_type%5B%5D=Co-op&property_type%5B%5D=Multi-family&property_type%5B%5D=Land&property_type%5B%5D=Commercial&property_type%5B%5D=Other&property_type%5B%5D=Residential&property_type%5B%5D=Condo&property_type%5B%5D=Townhouse&property_type%5B%5D=Co-op&property_type%5B%5D=Multi-family&property_type%5B%5D=Land&property_type%5B%5D=Commercial&property_type%5B%5D=Other&status%5B%5D=Active&status_days%5BActive%5D=36500&status%5B%5D=Under+Contract&status_days%5BUnder+Contract%5D=36500&status%5B%5D=Pending&status_days%5BPending%5D=36500&status_days%5BSold%5D=180&mailer_schedule=instant&order=price%3Adesc" class="sidebar__nav-link">Home Search</a> 192 </li> 193 <li class="sidebar__nav-item"> 194 <a href="/home-valuation" class="sidebar__nav-link">Home Valuation</a> 195 </li> 196 <li class="sidebar__nav-item"> 197 <a href="/reviews" class="sidebar__nav-link">Reviews</a> 198 </li> 199 <li class="sidebar__nav-item"> 200 <a href="/buying" class="sidebar__nav-link">Buying</a> 201 </li> 202 <li class="sidebar__nav-item"> 203 <a href="/selling" class="sidebar__nav-link">Selling </a> 204 </li> 205 <li class="sidebar__nav-item sub-nav-container"> 206 <a href="#" class="sidebar__nav-link">Our Services</a> 207 <div class="sub-nav"> 208 <ul class="sidebar__subnav"> 209 <li class="sidebar__subnav-item"><a href="/concierge" class="sidebar__subnav-link">Compass Concierge</a></li> 210 <li class="sidebar__subnav-item"><a href="/bridge-loan" class="sidebar__subnav-link">Bridge Loan Services</a></li> 211 <li class="sidebar__subnav-item"><a href="/coming-soon" class="sidebar__subnav-link">Compass Coming Soon</a></li> 212 </ul> 213 </div> 214 </li> 215 <li class="sidebar__nav-item"> 216 <a href="/neighborhoods" class="sidebar__nav-link">Neighborhoods</a> 217 </li> 218 <li class="sidebar__nav-item"> 219 <a href="/blog" class="sidebar__nav-link">Blog</a> 220 </li> 221 <li class="sidebar__nav-item"> 222 <button data-type="CONTACT_US" class="sidebar__nav-link">Contact Us</button> 223 </li> 224 <li class="sidebar__nav-item"> 225 <a href="/home-search/account" class="sidebar__nav-link">My Search Portal</a> 226 </li> 227 </ul> 228 </div> 229</div> 230 </div> 231 <div id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="ca33406a-b24a-4100-b315-87fd53d5adc2"> 232 <div class="mobile-contact dark">
233 <div class="buttons-holder"> 234 <a href="/cdn-cgi/l/email-protection#294c5b404a694c4f46514146444c5a074a4644"> 235 <i class="lp-i lp-i--envelope"></i> 236 </a> 237 <a href="tel:2676254504"> 238 <i class="lp-i lp-i--phone"></i> 239 </a> 240 </div> 241</div> 242 243 </div> 244 <section class="image-section is-font-color-light is-background-color-light" id="section-63196a1e-1370-4d5a-b4cd-bbeb3ed0e54d" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb"> 245 <div class="redesign custom-intro"> 246 <div class="container"> 247 <h1 class="custom-intro__title">Meet the Team</h1> 248 249 <p class="custom-intro__subtitle serif">Get to know our team.</p> 250 </div> 251</div> 252 253</section> 254<section id="section-5928088b-820c-4c14-aa0e-75ff1b36ebc2" class="solid-section is-font-color-dark is-background-color-light" data-el-id="e004cbf9-19e4-44e4-8a4c-3de3b2ce0df6"> 255 <div class="hoverable-section lp-vertical-paddings redesign"> 256 <div class="lp-container"> 257 258 <div class="hoverable-image hoverable-image--straight"> 259 260 <div class="hoverable-image__img-col"> 261 <div class=""> 262 <div class=""> 263 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rmvorw5vvph9sasitunv" 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/rmvorw5vvph9sasitunv 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/rmvorw5vvph9sasitunv 837w" sizes="(max-width: 992px) 100vw, 50vw" alt="main" class="main-image" loading="lazy"> 264 265 </div> 266 </div> 267 </div> 268 269 <div class="hoverable-image__text-col"> 270 271 <div class="hoverable-image__text-wrap"> 272 <h2 class="lp-h2">About Us</h2> 273 <div class="lp-a lp-text--subtitle"> 274 <p style="text-align: left;">The Eric Fox Team understands that buying or selling a home can be one of life’s most exciting yet stressful<br />decisions. We know that every client is unique, and they deserve expert guidance and excellent service—all of<br />the time! We are part of the larger Compass real estate network in Center City Philadelphia. While we pride<br />ourselves on assisting each and every client individually, we are also fortunate to plug into the strength of Compass’ full range of services.</p> 275 </div> 276 <div class="buttons-wrapper"> 277 </div> 278 </div> 279 280 281 </div> 282 </div> 283 </div> 284</div> 285</section> 286<section id="section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137" class="solid-section is-font-color-dark is-background-color-light" data-el-id="4fd88bff-4528-4094-a238-bc747e38f1f6">
vendor: 109 bytes, lines 286-287
286 287<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
287<script type="text/x-handlebars-template" class="gridItem pagination-script"><div class="team-member__container" data-search-string="{{firstName}} {{lastName}} {{email}}" 288 data-tags="{{JSONstringify tags}}" 289> 290 <a class="team-member__link" href="/agent/{{slug}}"> 291 <div class="team-member__image-wrap"> 292 <div class="team-member__image"> 293 {{{mediaImage avatar alt=(concat firstName " " lastName) sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw"}}} 294 </div> 295 <div class="team-member__hover"> 296 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 297 </div> 298 </div> 299 <div class="team-member__info"> 300 <span class="team-member__name">{{firstName}} {{lastName}}</span> 301 <span class="team-member__role">{{position}}</span> 302 </div> 303 </a> 304</div> 305</script>
305<div class="team-grid redesign"> 306 <div class="lp-container"> 307 308 <div class="js-sync-flag" style="display: none;"></div> 309 310 311 312 313 <div class="team-grid__wrapper two-col ordered-elements"> 314 <div class="team-member__container" data-search-string="Eric Fox [email protected]" 315 data-tags="[]" 316 > 317 <a class="team-member__link" href="/agent/eric-fox"> 318 <div class="team-member__image-wrap"> 319 <div class="team-member__image"> 320 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/9c1edc47-d4a6-4c1c-b285-6045a9d11489" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/9c1edc47-d4a6-4c1c-b285-6045a9d11489 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/9c1edc47-d4a6-4c1c-b285-6045a9d11489 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/9c1edc47-d4a6-4c1c-b285-6045a9d11489 1920w" sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw" alt="Eric Fox" class="portrait" loading="lazy"> 321 </div> 322 <div class="team-member__hover"> 323 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 324 </div> 325 </div> 326 <div class="team-member__info"> 327 <span class="team-member__name">Eric Fox</span> 328 <span class="team-member__role">Team Leader</span> 329 </div> 330 </a> 331 </div> 332 <div class="team-member__container" data-search-string="Kate Federico [email protected]" 333 data-tags="[]" 334 > 335 <a class="team-member__link" href="/agent/kate-federico"> 336 <div class="team-member__image-wrap"> 337 <div class="team-member__image"> 338 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/c512af70-d122-4a8d-8754-2f0db39b0211" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/c512af70-d122-4a8d-8754-2f0db39b0211 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/c512af70-d122-4a8d-8754-2f0db39b0211 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/c512af70-d122-4a8d-8754-2f0db39b0211 1920w" sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw" alt="Kate Federico" class="portrait" loading="lazy"> 339 </div> 340 <div class="team-member__hover"> 341 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 342 </div> 343 </div> 344 <div class="team-member__info"> 345 <span class="team-member__name">Kate Federico</span> 346 <span class="team-member__role">Real Estate Associate</span> 347 </div> 348 </a> 349 </div> 350 <div class="team-member__container" data-search-string="Kathleen Federico [email protected]" 351 data-tags="[]" 352 > 353 <a class="team-member__link" href="/agent/kathleen-federico"> 354 <div class="team-member__image-wrap"> 355 <div class="team-member__image"> 356 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/cf855fff-0917-4148-94e0-7e9cc5498bb5" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/cf855fff-0917-4148-94e0-7e9cc5498bb5 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/cf855fff-0917-4148-94e0-7e9cc5498bb5 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/cf855fff-0917-4148-94e0-7e9cc5498bb5 1920w" sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw" alt="Kathleen Federico" class="portrait" loading="lazy"> 357 </div> 358 <div class="team-member__hover">
359 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 360 </div> 361 </div> 362 <div class="team-member__info"> 363 <span class="team-member__name">Kathleen Federico</span> 364 <span class="team-member__role">ASSOCIATE BROKER</span> 365 </div> 366 </a> 367 </div> 368 <div class="team-member__container" data-search-string="Lindsay Leva [email protected]" 369 data-tags="[]" 370 > 371 <a class="team-member__link" href="/agent/lindsay-leva"> 372 <div class="team-member__image-wrap"> 373 <div class="team-member__image"> 374 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/8e698ff2-9c58-4e4b-8960-d40370a98cc9" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/8e698ff2-9c58-4e4b-8960-d40370a98cc9 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/8e698ff2-9c58-4e4b-8960-d40370a98cc9 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/8e698ff2-9c58-4e4b-8960-d40370a98cc9 1920w" sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw" alt="Lindsay Leva" class="portrait" loading="lazy"> 375 </div> 376 <div class="team-member__hover"> 377 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 378 </div> 379 </div> 380 <div class="team-member__info"> 381 <span class="team-member__name">Lindsay Leva</span> 382 <span class="team-member__role">Transaction Manager</span> 383 </div> 384 </a> 385 </div> 386 <div class="team-member__container" data-search-string="Reed Fusingan [email protected]" 387 data-tags="[]" 388 > 389 <a class="team-member__link" href="/agent/reed-fusingan"> 390 <div class="team-member__image-wrap"> 391 <div class="team-member__image"> 392 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/a973a463-9f92-41cf-8c75-91d860996726" srcset="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/a973a463-9f92-41cf-8c75-91d860996726 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/a973a463-9f92-41cf-8c75-91d860996726 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/a973a463-9f92-41cf-8c75-91d860996726 1920w" sizes="(max-width: 768px) 100vw, (max-width: 1000px) 50vw, 33vw" alt="Reed Fusingan" class="portrait" loading="lazy"> 393 </div> 394 <div class="team-member__hover"> 395 <span class="btn btn--primary-dark team-member__btn button-style-6">LEARN MORE</span> 396 </div> 397 </div> 398 <div class="team-member__info"> 399 <span class="team-member__name">Reed Fusingan</span> 400 <span class="team-member__role">Marketing Coordinator</span> 401 </div> 402 </a> 403 </div> 404 </div> 405 406 407 <div class="empty-message js-empty-message"> 408 <h3 class="header2 empty-title">No result found</h3> 409 </div> 410 </div> 411</div> 412</section> 413<section id="section-46871a9d-151f-4e36-9f45-e215a457103a" class="solid-section is-font-color-dark is-background-color-light" data-el-id="82839aae-f69e-4e11-91f3-ec3542792936"> 414 <div class="f-video-carousel redesign"> 415 <div class="container lp-container"> 416 <div class="lp-title-group"> 417 <h2 class="f-video-carousel__title lp-h2">Working with The Eric Fox Team</h2> 418 </div> 419
420 <div class="f-video-carousel__wrap v-carousel"> 421 422 <div class="v-carousel__preview"> 423 <div class="v-carousel__preview-item v-carousel__preview-item-0" > 424 <button class="videoPlayButton" data-type="VIDEO" data-src="https://youtu.be/qrL40pPUscY"><span class="v-carousel__button"></span></button> 425 <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/psmqmk0sk1u8jtajsmzd" 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/psmqmk0sk1u8jtajsmzd 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/psmqmk0sk1u8jtajsmzd 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/psmqmk0sk1u8jtajsmzd 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/psmqmk0sk1u8jtajsmzd 1920w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=2560/https://media-production.lp-cdn.com/media/psmqmk0sk1u8jtajsmzd 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/psmqmk0sk1u8jtajsmzd 3420w" sizes="(max-width: 768px) 100vw, 50vw" alt="" class="v-carousel__cover videoCover" loading="lazy"> 426 </div> 427 </div> 428 429 <ul class="v-carousel__list"> 430 </ul> 431 </div> 432 </div> 433 </div> 434</section> 435<section id="section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704" class="solid-section is-font-color-dark is-background-color-light" data-el-id="a261202b-cc2b-4a7e-912a-a4b8ffe6ab1b"> 436<div class="redesign custom-content lp-vertical-paddings"> 437 <div class="lp-container lp-container--l"> 438 <h3 style="text-align: center;">Get to know the team</h3> 439<table class="dcf-table dcf-table-responsive dcf-table-bordered dcf-w-100%" style="width: 100%; height: 2462.97px;"> 440<thead style="background-color: #06212c; color: #fff; font-weight: 500;"> 441<tr style="height: 22.3906px;"> 442<th style="width: 29.9173%; height: 22.3906px;" scope="col">QUESTIONS</th> 443<th style="width: 29.9173%; height: 22.3906px;" scope="col">ERIC</th> 444<th style="width: 29.9173%; height: 22.3906px;" scope="col">KATE</th> 445<th style="width: 29.9173%; height: 22.3906px;" scope="col">KATHLEEN</th> 446<th style="width: 29.9173%; height: 22.3906px;" scope="col">LINDSAY</th> 447<th style="width: 29.9173%; height: 22.3906px;" scope="col">REED</th> 448</tr> 449</thead> 450<tbody> 451<tr style="height: 134.344px;"> 452<th style="width: 11.7313%; height: 134.344px;" scope="row">When you were a kid,<br>what did you want to be<br>when you grew up?</th> 453<td style="width: 29.9173%; height: 134.344px;" data-label="ERIC">I wanted to be a veterinarian until I realized that chemistry was a prerequisite.</td> 454<td style="width: 25.4288%; height: 134.344px;" data-label="KATE">Performer/Musician</td> 455<td style="width: 12.446%; height: 134.344px;" data-label="KATHLEEN">Teacher & I was</td> 456<td style="width: 11.8356%; height: 134.344px;" data-label="LINDSAY">Marine Biologist</td> 457<td style="width: 12.446%; height: 134.344px;" data-label="REED">Chiropractor</td> 458</tr> 459<tr style="height: 134.344px;"> 460<th style="width: 11.7313%; height: 134.344px;" scope="row">What was your first job?</th> 461<td style="width: 29.9173%; height: 134.344px;" data-label="ERIC">I worked at a paper goods store as a valet. That's how I learned to drive stick.ð Best job ever for a 16 year old!</td> 462<td style="width: 25.4288%; height: 134.344px;" data-label="KATE">Water Ice Bike cart in OC NJ. Sold lots of Water ice especially on July 4th</td> 463<td style="width: 12.446%; height: 134.344px;" data-label="KATHLEEN">Clothing store on the boardwalk in Ocean City, NJ.</td> 464<td style="width: 11.8356%; height: 134.344px;" data-label="LINDSAY">My first job was in retail at the Gap.</td> 465<td style="width: 12.446%; height: 134.344px;" data-label="REED">I worked as a salesperson for my parents' hardware store.</td> 466</tr> 467<tr> 468<th style="width: 11.7313%;" scope="row">What kind of music do you like?</th> 469<td style="width: 29.9173%;">My two favorite performers are Billy Joel and Elton John but I really love all types of music<br>(including Yacht Rock, Popular, Broadway, and Classic Rock).</td> 470<td style="width: 25.4288%;"> </td> 471<td style="width: 12.446%;"> </td> 472<td style="width: 11.8356%;"> </td> 473<td style="width: 12.446%;"><span data-sheets-root="1">I like a mix of everything, except country.</span></td> 474</tr> 475<tr style="height: 156.734px;"> 476<th style="width: 11.7313%; height: 156.734px;" scope="row">What’s the most exciting part of your job?</th> 477<td style="width: 29.9173%; height: 156.734px;" data-label="ERIC">When working with buyers, it's meeting them, learning what truly excites them in a home or condo, and then finding that perfect match-there's nothing better than seeing their smiles at the closing table. With sellers, it's helping them transform their homes making them "show-ready", maximize value, and often sell for more than they ever thought possible.</td> 478<td style="width: 25.4288%; height: 156.734px;" data-label="KATE">Helping people (buyers & sellers) manifest from where they are to where they really wanna be. The Dream Team! Lifestyle consultant.</td> 479<td style="width: 12.446%; height: 156.734px;" data-label="KATHLEEN">Assisting buyers & sellers and viewing all types of dwellings.</td> 480<td style="width: 11.8356%; height: 156.734px;" data-label="LINDSAY">Forcing my boss to make silly marketing videos to explore my wild ideas!</td> 481<td style="width: 12.446%; height: 156.734px;" data-label="REED">Meeting new people, developing relationships and counting them as friends.</td> 482</tr> 483<tr style="height: 89.5625px;"> 484<th style="width: 11.7313%; height: 89.5625px;" scope="row">Do you have any pets?</th> 485<td style="width: 29.9173%; height: 89.5625px;" data-label="ERIC"> 486<p class="p1">We have a 100-lb Giant Schnauzer-Labradoodle mix named Buddy.</p> 487</td> 488<td style="width: 25.4288%; height: 89.5625px;" data-label="KATE">Yes, Monte. a Frug Frenchie Pug whom I adopted in CA.</td> 489<td style="width: 12.446%; height: 89.5625px;" data-label="KATHLEEN">Diehard Dezi wins the race, our Greyhound & Scottie sells, our talking cat.</td> 490<td style="width: 11.8356%; height: 89.5625px;" data-label="LINDSAY">We have 2 black and white supermutts.</td> 491<td style="width: 12.446%; height: 89.5625px;" data-label="REED">I have 2 Engish Bulldogs and 1 Frenchie.</td> 492</tr> 493<tr style="height: 67.1719px;"> 494<th style="width: 11.7313%; height: 67.1719px;" scope="row">Are you a coffee or tea person?</th> 495<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">Water only, I have plenty of natural energy.</td> 496<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">Decaf only 1 x a day</td> 497<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">Prefer tea but must have 1 short cup of strong coffee as soon as I open my eyes.</td> 498<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Coffee</td> 499<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Green Tea</td> 500</tr> 501<tr style="height: 89.5625px;"> 502<th style="width: 11.7313%; height: 89.5625px;" scope="row">Are you a morning person or a night owl?</th> 503<td style="width: 29.9173%; height: 89.5625px;" data-label="ERIC">I am an early, early morning person and always have been. If you work with me, expect to get<br>emails from me between 5-7am!</td> 504<td style="width: 25.4288%; height: 89.5625px;" data-label="KATE">Morning girl</td> 505<td style="width: 12.446%; height: 89.5625px;" data-label="KATHLEEN">Love the morning on my deck listening to the birds, seeing the bald eagle & the neighbor's peacock at 5:30 am as my new alarm clock.</td> 506<td style="width: 11.8356%; height: 89.5625px;" data-label="LINDSAY">Morning person</td> 507<td style="width: 12.446%; height: 89.5625px;" data-label="REED">I'm both, but more of a morning person.</td> 508</tr> 509<tr style="height: 335.859px;"> 510<th style="width: 11.7313%; height: 335.859px;" scope="row">What’s been your favorite vacation?</th> 511<td style="width: 29.9173%; height: 335.859px;" data-label="ERIC">It's a tie between trekking Peru with my husband before our daughter was born and Puerto<br>Vallarta with my family and some close friends for a milestone birthday (I won't mention<br>which one!)</td> 512<td style="width: 25.4288%; height: 335.859px;" data-label="KATE">Lake George boat/camping trip, Sailing around the Caribbean on a Catamaran</td> 513<td style="width: 12.446%; height: 335.859px;" data-label="KATHLEEN">Italy with Kate & my Grandson, Christopher. France & Spain with Domenick. Camping with my daughter, Jill Nation Parks. Cruises all great.</td> 514<td style="width: 11.8356%; height: 335.859px;" data-label="LINDSAY">My husband and I took a road trip to Maine for an anniversary trip. We ate amazing seafood, visited friends and hiked through Acadia National Park.</td> 515<td style="width: 12.446%; height: 335.859px;" data-label="REED">Hong Kong Disneyland with family</td> 516</tr> 517<tr style="height: 89.5625px;"> 518<th style="width: 11.7313%; height: 89.5625px;" scope="row">What’s one thing you’re really bad at?</th> 519<td style="width: 29.9173%; height: 89.5625px;" data-label="ERIC">Doing dishes during the day</td> 520<td style="width: 25.4288%; height: 89.5625px;" data-label="KATE">Putting laundry away</td> 521<td style="width: 12.446%; height: 89.5625px;" data-label="KATHLEEN">Sleep</td> 522<td style="width: 11.8356%; height: 89.5625px;" data-label="LINDSAY">Singing but I do it anyway</td> 523<td style="width: 12.446%; height: 89.5625px;" data-label="REED">Focusing on just 1 thing and not overthinking</td> 524</tr> 525<tr style="height: 89.5625px;"> 526<th style="width: 11.7313%; height: 89.5625px;" scope="row">What’s one thing you’re really good at?</th> 527<td style="width: 29.9173%; height: 89.5625px;" data-label="ERIC">Intense cleaning/organizing when the mood hits me</td> 528<td style="width: 25.4288%; height: 89.5625px;" data-label="KATE">
528Listening to people and guiding then to a solution also helping seniors…</td> 529<td style="width: 12.446%; height: 89.5625px;" data-label="KATHLEEN">Multi tasking</td> 530<td style="width: 11.8356%; height: 89.5625px;" data-label="LINDSAY">Baking</td> 531<td style="width: 12.446%; height: 89.5625px;" data-label="REED">Organizing</td> 532</tr> 533<tr style="height: 67.1719px;"> 534<th style="width: 11.7313%; height: 67.1719px;" scope="row">What’s your favorite food?</th> 535<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">It's a 5 way tie between pasta, mac n cheese, mashed potatoes, peel and eat shrimp and sushi</td> 536<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">Greek, Italian, Sushi</td> 537<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">Surf & Turf, rack of lamb Potatoes, baked & sweet, mashed too. All vegies & fruit</td> 538<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Sandwiches</td> 539<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Asian cuisine and anything with cheese</td> 540</tr> 541<tr style="height: 111.953px;"> 542<th style="width: 11.7313%; height: 111.953px;" scope="row">What show are you currently binge-watching?</th> 543<td style="width: 29.9173%; height: 111.953px;" data-label="ERIC">Sirens, Hacks & Wednesday</td> 544<td style="width: 25.4288%; height: 111.953px;" data-label="KATE">Royal Pains/Nashville/Yellowstone</td> 545<td style="width: 12.446%; height: 111.953px;" data-label="KATHLEEN">Call the Midwives, Doc Martin, Heartland.</td> 546<td style="width: 11.8356%; height: 111.953px;" data-label="LINDSAY">Beef</td> 547<td style="width: 12.446%; height: 111.953px;" data-label="REED">Sweet Tooth</td> 548</tr> 549<tr style="height: 67.1719px;"> 550<th style="width: 11.7313%; height: 67.1719px;" scope="row">What’s your favorite season?</th> 551<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">Spring</td> 552<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">Summer</td> 553<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">Autumn The season I was born. Ground warm coming off summer, crisp air, and falling leaves.</td> 554<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Fall</td> 555<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Winter</td> 556</tr> 557<tr style="height: 67.1719px;"> 558<th style="width: 11.7313%; height: 67.1719px;" scope="row">What’s your favorite movie?</th> 559<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">Immortal Beloved</td> 560<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">The Holiday</td> 561<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">Same kind of different like me.</td> 562<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Usual Suspects</td> 563<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Contact (1997)</td> 564</tr> 565<tr style="height: 111.953px;"> 566<th style="width: 11.7313%; height: 111.953px;" scope="row">Do you play any sports?</th> 567<td style="width: 29.9173%; height: 111.953px;" data-label="ERIC">I played tennis before I had shoulder surgery so hopefully soon I’ll be able to play again soon. I'm also thinking of picking up pickle ball as well!</td> 568<td style="width: 25.4288%; height: 111.953px;" data-label="KATE">Tennis, Love it</td> 569<td style="width: 12.446%; height: 111.953px;" data-label="KATHLEEN">Kayaking & Dancing</td> 570<td style="width: 11.8356%; height: 111.953px;" data-label="LINDSAY">No team sports</td> 571<td style="width: 12.446%; height: 111.953px;" data-label="REED">Volleyball and chess</td> 572</tr> 573<tr style="height: 67.1719px;"> 574<th style="width: 11.7313%; height: 67.1719px;" scope="row">Do you have any phobias?</th> 575<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">Crazy fear of heights</td> 576<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">No phobias yet!</td> 577<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">The recluse spider</td> 578<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Falling down an escalator</td> 579<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Toads, the big ones</td> 580</tr> 581<tr style="height: 67.1719px;"> 582<th style="width: 11.7313%; height: 67.1719px;" scope="row">Do you like roller coasters?</th> 583<td style="width: 29.9173%; height: 67.1719px;" data-label="ERIC">I used to love them but my stomach can’t take them anymore.</td> 584<td style="width: 25.4288%; height: 67.1719px;" data-label="KATE">Yes, but not upside down ones just the old school regular kind</td> 585<td style="width: 12.446%; height: 67.1719px;" data-label="KATHLEEN">No</td> 586<td style="width: 11.8356%; height: 67.1719px;" data-label="LINDSAY">Yes!</td> 587<td style="width: 12.446%; height: 67.1719px;" data-label="REED">Yes</td> 588</tr> 589<tr style="height: 156.734px;"> 590<th style="width: 11.7313%; height: 156.734px;" scope="row">Have you ever met anyone famous?</th> 591<td style="width: 29.9173%; height: 156.734px;" data-label="ERIC">I worked at MGM Studios and "The Fonz" from Happy Days had an office on my floor so I saw him all the time. I also met Scott Baio and Anthony Hopkins working at MGM.</td> 592<td style="width: 25.4288%; height: 156.734px;" data-label="KATE">"Woody Harrelson, J LO, Anna Faris, worked with some celebs in LA but signed an NDA also<br>Luanne the countess from NY housewives lol in the Hamptons"</td> 593<td style="width: 12.446%; height: 156.734px;" data-label="KATHLEEN">Yes, Kevin Bacon as a child, I played with his sister & sold his family house on Locus St. In The Rittenhouse, I saw Bruce Willis & Mel Gibson The pope in Phila & Rome but didn't actually meet.</td> 594<td style="width: 11.8356%; height: 156.734px;" data-label="LINDSAY">Too many to count, I grew up in LA</td> 595<td style="width: 12.446%; height: 156.734px;" data-label="REED">Local politicians</td> 596</tr> 597<tr style="height: 134.344px;"> 598<th style="width: 11.7313%; height: 134.344px;" scope="row">What’s the best concert you’ve been to?</th> 599<td style="width: 29.9173%; height: 134.344px;" data-label="ERIC">It's a 3 way tie between Elton John, Billy Joel & Air Supply.</td> 600<td style="width: 25.4288%; height: 134.344px;" data-label="KATE">Alicia Keys, Fleetwood Mac, Sting,</td> 601<td style="width: 12.446%; height: 134.344px;" data-label="KATHLEEN">Not a concert going person but would love to see Mick Jagger, Rod Stewart, James Taylor, Adele & Lady Gaga.</td> 602<td style="width: 11.8356%; height: 134.344px;" data-label="LINDSAY">Gogol Bordello with Amigo the Devil at the 9:30 Club in DC</td> 603<td style="width: 12.446%; height: 134.344px;" data-label="REED">Boyz II Men</td> 604</tr> 605<tr style="height: 111.953px;"> 606<th style="width: 11.7313%; height: 111.953px;" scope="row">What’s your favorite thing to do on the weekends?</th> 607<td style="width: 29.9173%; height: 111.953px;" data-label="ERIC">Hike or relax on a beach with my family and friends</td> 608<td style="width: 25.4288%; height: 111.953px;" data-label="KATE">
608Family, food, tennis, beach, dog</td> 609<td style="width: 12.446%; height: 111.953px;" data-label="KATHLEEN">Spend time outdoors. The beach, the woods, reading outdoors.</td> 610<td style="width: 11.8356%; height: 111.953px;" data-label="LINDSAY">Brunch and hike</td> 611<td style="width: 12.446%; height: 111.953px;" data-label="REED">Clean, organize and build home stuff</td> 612</tr> 613<tr style="height: 291.078px;"> 614<th style="width: 11.7313%; height: 291.078px;" scope="row">What’s your idea of a perfect day?</th> 615<td style="width: 29.9173%; height: 291.078px;" data-label="ERIC">Get up ridiculously early and organize or fix something. Once MIke and Kylie are up we eat breakfast (seafood omelette or whitefish salad on plain toasted bagel) and then go hiking or climbing. We relax on the beach with friends/family, appetizers and drinks. Take an hour long nap before sushi or seafood tower dinner and end the evening with a beach bonfire (with yacht rock playing in the background).</td> 616<td style="width: 25.4288%; height: 291.078px;" data-label="KATE">Beaching it or on the River at our family home. Boating, crabbing, bbq, fire pit, dancing to good music and eating spaghetti and clams </td> 617<td style="width: 12.446%; height: 291.078px;" data-label="KATHLEEN">The sun on my face & the wind in my hair surrounded by family & friends sometimes. Enjoy my own company & quite time.</td> 618<td style="width: 11.8356%; height: 291.078px;" data-label="LINDSAY">One that involves being outside, lots of food and a nap with the dogs.</td> 619<td style="width: 12.446%; height: 291.078px;" data-label="REED">Rain outside, drink tea in bed watching Lord of the Rings for the thousandth time and then spend sunset at the beach with my dogs.</td> 620</tr> 621</tbody> 622</table> 623 </div> 624</div> 625</section> 626<section class="image-section is-font-color-light is-background-color-light" id="section-f4b511f5-8707-423d-92bd-e6e5108751a4" data-el-id="3194d39b-ac2d-42a7-9973-4b279eaa51e6"> 627
627<script> 628 (function(){ 629 const sectionId = 'section-f4b511f5-8707-423d-92bd-e6e5108751a4' 630 const section = document.querySelector(`#${sectionId}`); 631 var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image'); 632 633 if('false' === 'true') { 634 section.classList.add('parallax-enabled'); 635 section.style.setProperty('--sectionBackground', sectionBg); 636 section.style.setProperty('background', 'none'); 637 } 638 })() 639</script>
639 640<div class="redesign featured-testimonials "> 641 <div class="container"> 642 <div class="featured-testimonials__left"> 643 <h2 class="serif">Testimonials</h2> 644 645 <ul class="slick-links-nav"> 646 <li><span class="link feature prev hyperlink-style-2">previous</span></li> 647 <li><span class="separator hyperlink-style-2"></span></li> 648 <li><span class="link feature next hyperlink-style-2">next</span></li> 649 </ul> 650 </div> 651 <div class="featured-testimonials__right"> 652 <ul class="featured-testimonials__slider js-slider" data-autoscroll=false data-autoscroll-interval=6> 653 <li> 654 <blockquote>Working with Eric and the whole team was absolutely amazing when searching and buying our first home! Great communication all around, very knowledgeable and always there for us. 655</blockquote> 656 â <cite>Anni M. & Ross K.</cite> 657 </li> 658 <li> 659 <blockquote>Eric and his staff were very helpful during the process of getting our condo ready to sell and finding a buyer. Eric helped us make small improvements to make the unit more appealing to potential buyers. He, or a member of his staff, responded quickly to all of our questions and concerns. He kept us informed throughout.â¨</blockquote> 660 â <cite>Ellen R., Steve R. & Carol T.</cite> 661 </li> 662 <li> 663 <blockquote>From initial meeting to the final sign off, Kate Federico and the team from The Eric Fox Team was nothing but professional and so very helpful. Whenever we needed anything, like a painter or suggestions for presenting our home, they were on it. They explained things clearly as many times as we needed, we always felt like we were in good hands. I would not hesitate to recommend them. 664 665Ease of reaching staff - Very easy</blockquote> 666 â <cite>Alison T. & John C.</cite> 667 </li> 668 </ul> 669 <a 670 href="/testimonials" 671 672 class="btn btn--primary-dark button-style-2" 673 674 675 676 677 678 > 679 VIEW ALL 680 </a> 681 </div> 682 </div> 683</div> 684 685</section> 686<section id="section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5" class="solid-section is-font-color-dark is-background-color-light" data-el-id="09e98f83-51e3-4837-80a0-019e211aba4b"> 687<div class="redesign featured-properties-section " data-auto-scroll=false data-autoplay-speed=3000> 688 <div class="container"> 689 <div class="featured-properties-header"> 690 <h2 class="serif">Featured Properties</h2> 691 692 <ul class="slick-links-nav"> 693 <li><span class="link link--white feature prev">previous</span></li> 694 <li><span class="link link--white feature next">next</span> <span class="spacer"></span></li> 695 </ul> 696 </div> 697 <ul class="featured-properties carousel-container"> 698 <li class="featured-properties__item-cover"> 699 <div class="featured-properties__item feature"> 700 <a class="featured-properties__item-info" href="/properties/1414-s-penn-square-unit-6b-philadelphia-pa-us-19102-805206731804"> 701 <div class="featured-properties__img"> 702 <img src="https://dlajgvw9htjpb.cloudfront.net/cms/8968d612-eb72-4a05-b33e-bb0168e8e981/PAPH2653086/4844651191908131592.jpg" alt="" loading="lazy"> 703 </div> 704 <span class="featured-properties__label">For Sale</span> 705 706 <div class="featured-properties__text"> 707 <h4 class="serif">1414 S PENN SQUARE Unit: 6B</h4> 708 <p> 709 1414 S PENN SQUARE Unit: 6B, PHILADELPHIA, PA 19102 710 </p> 711 712 <p> 713 3 BD | 714 5 BA 715 | 2,997 Sq.Ft. 716 </p> 717 718 <h5> 719 $1,495,000 720 </h5> 721 </div> 722 </a> 723 <div class="featured-properties__hover"> 724 <a href="/properties/1414-s-penn-square-unit-6b-philadelphia-pa-us-19102-805206731804"></a> 725 <div class="featured-properties__buttons"> 726 <a href="/properties/1414-s-penn-square-unit-6b-philadelphia-pa-us-19102-805206731804" class="btn btn--primary-dark button-style-6">VIEW PROPERTY</a> 727 </div> 728 </div> 729 </div> 730 </li> 731 <li class="featured-properties__item-cover"> 732 <div class="featured-properties__item feature"> 733 <a class="featured-properties__item-info" href="/properties/1919-chestnut-street-2901-02-24-philadelphia-pa-us-19103-paph2594006"> 734 <div class="featured-properties__img"> 735 <img src="https://dlajgvw9htjpb.cloudfront.net/cms/8968d612-eb72-4a05-b33e-bb0168e8e981/PAPH2594006/-4164373019549692065.jpg" alt="" loading="lazy"> 736 </div> 737 <span class="featured-properties__label">For Sale</span> 738 739 <div class="featured-properties__text"> 740 <h4 class="serif">1919 CHESTNUT STREET 2901/02/24</h4> 741 <p> 742 1919 CHESTNUT STREET Unit: 2901/02/24, PHILADELPHIA, PA 19103 743 </p> 744 745 <p> 746 3 BD | 747 3 BA 748 | 2,863 Sq.Ft. 749 </p> 750 751 <h5> 752 $1,450,000 753 </h5> 754 </div> 755 </a> 756 <div class="featured-properties__hover"> 757 <a href="/properties/1919-chestnut-street-2901-02-24-philadelphia-pa-us-19103-paph2594006"></a> 758 <div class="featured-properties__buttons"> 759 <a href="/properties/1919-chestnut-street-2901-02-24-philadelphia-pa-us-19103-paph2594006" class="btn btn--primary-dark button-style-6">VIEW PROPERTY</a> 760 </div> 761 </div> 762 </div> 763 </li> 764 <li class="featured-properties__item-cover"> 765 <div class="featured-properties__item feature"> 766 <a class="featured-properties__item-info" href="/properties/2045-waverly-street-philadelphia-pa-us-19146-805375314062"> 767 <div class="featured-properties__img"> 768 <img src="https://dlajgvw9htjpb.cloudfront.net/cms/8968d612-eb72-4a05-b33e-bb0168e8e981/PAPH2669898/5915129563224602669.jpg" alt="" loading="lazy"> 769 </div> 770 <span class="featured-properties__label">For Sale</span> 771 772 <div class="featured-properties__text"> 773 <h4 class="serif">2045 WAVERLY STREET</h4> 774 <p> 775 2045 WAVERLY STREET, PHILADELPHIA, PA 19146 776 </p> 777 778 <p> 779 3 BD | 780 2 BA 781 | 1,356 Sq.Ft. 782 </p> 783 784 <h5> 785 $889,000 786 </h5> 787 </div> 788 </a> 789 <div class="featured-properties__hover"> 790 <a href="/properties/2045-waverly-street-philadelphia-pa-us-19146-805375314062"></a> 791 <div class="featured-properties__buttons"> 792 <a href="/properties/2045-waverly-street-philadelphia-pa-us-19146-805375314062" class="btn btn--primary-dark button-style-6">VIEW PROPERTY</a> 793 </div> 794 </div> 795 </div> 796 </li> 797 <li class="featured-properties__item-cover"> 798 <div class="featured-properties__item feature"> 799 <a class="featured-properties__item-info" href="/properties/1932-kater-street-philadelphia-pa-us-19146-805361376946"> 800 <div class="featured-properties__img"> 801 <img src="https://dlajgvw9htjpb.cloudfront.net/cms/8968d612-eb72-4a05-b33e-bb0168e8e981/PAPH2668658/-4041812643968223716.jpg" alt="" loading="lazy"> 802 </div> 803 <span class="featured-properties__label">For Sale</span> 804 805 <div class="featured-properties__text"> 806 <h4 class="serif">1932 KATER STREET</h4> 807 <p> 808 1932 KATER STREET, PHILADELPHIA, PA 19146 809 </p> 810 811 <p> 812 3 BD | 813 3 BA 814 | 1,246 Sq.Ft. 815 </p> 816 817 <h5> 818 $665,000 819 </h5> 820 </div> 821 </a> 822 <div class="featured-properties__hover"> 823 <a href="/properties/1932-kater-street-philadelphia-pa-us-19146-805361376946"></a> 824 <div class="featured-properties__buttons"> 825 <a href="/properties/1932-kater-street-philadelphia-pa-us-19146-805361376946" class="btn btn--primary-dark button-style-6">VIEW PROPERTY</a> 826 </div> 827 </div> 828 </div> 829 </li> 830 </ul> 831 <div class="featured-properties-button-holder"> <a 832 href="/properties" 833 834 class="btn btn--primary-light button-style-6" 835 836 837 838 839 840 > 841 VIEW ALL 842 </a> 843</div> 844 </div> 845</div> 846 847</section> 848<section class="image-section is-font-color-light is-background-color-light" id="section-7f291366-97f6-4b89-9d21-f10295e3b700" data-el-id="e6b1ae9f-5b8d-4ac5-a23f-bfb55ef91c3c"> 849
849<script> 850 (function(){ 851 const sectionId = 'section-7f291366-97f6-4b89-9d21-f10295e3b700' 852 const section = document.querySelector(`#${sectionId}`); 853 var sectionBg = window.getComputedStyle(section, null).getPropertyValue('background-image'); 854 855 if('false' === 'true') { 856 section.classList.add('parallax-enabled'); 857 section.style.setProperty('--sectionBackground', sectionBg); 858 section.style.setProperty('background', 'none'); 859 } 860 })() 861</script>
861 862<div class="redesign work-with-us "> 863 <div class="container"> 864 <h2 class="serif">Work With Us</h2> 865 <div class="description">We are dedicated to bringing top-notch service, expert guidance, and accessibility to each and every one of our clients. While we pride ourselves on assisting each and every client individually, we are also fortunate to plug into the strength of Compassâ full range of services and attributes. </div> 866 <div class="btn-container"> 867 <a 868 role="button" 869 data-type="CONTACT_US" 870 class="btn btn--primary-light button-style-2" 871 872 873 874 875 876 > 877 Contact Us 878 </a> 879 </div> 880 </div> 881</div> 882</section> 883<section id="section-53764df7-2f07-4c3c-8119-03b9923e76be" class="solid-section is-font-color-dark is-background-color-light" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284"> 884
884<script type="text/x-handlebars-template" class="jsIGItem"> 885 <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}"> 886 <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div> 887 <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div> 888 {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}} 889 </a> 890</script>
890 891<div class="ig-feed redesign"> 892 <div class="ig-feed-top lp-container"> 893 <div class="top-wrapper"> 894 <div class="top-left"> 895 <h3 class="lp-h3 title">Follow Us on Instagram</h3> 896 <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a> 897 </div> 898 <div class="top-right"> 899 <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> 900 <a class="nav-button top-nav-prev hidden-control button-style-1"> 901 <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> 902 </a> 903 <a class="nav-button top-nav-next hidden-control button-style-1"> 904 <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> 905 </a> 906 </div> 907 </div> 908 </div> 909 <div class="lp-container ig-feed-container "> 910 <div class="ig-feed-feed" data-limit="33"> 911 </div> 912 </div> 913 <div class="bottom-controls"> 914 <a class="bottom-nav-button bottom-nav-prev button-style-1"> 915 <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> 916 </a> 917 <a class="bottom-nav-button bottom-nav-next button-style-1"> 918 <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> 919 </a> 920 </div> 921</div> 922 923</section> 924 925 <div id="modals" class="modals"></div> 926 <footer id="global-footer" class="is-font-color-dark is-background-color-light" data-el-id="874a9373-949d-4275-b72f-04c2a6ec373b"> 927 <div class="footer redesign no_newsletter "> 928 <div class="container"> 929 <h3>The Eric Fox Team</h3> 930 <div class="info-wrap"> 931 <div class="info-wrap-contact agent_box"> 932 <div class="info-wrap-contact_zone type_user"> 933 <h4 class="serif">Philadelphia Real Estate</h4> 934 <div class="info-wrap-contact_cell"> 935 <i> 936 <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 937 <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" /> 938 </svg> 939 </i> 940 <p class="contact_title">Email</p> 941 <a href="/cdn-cgi/l/email-protection#f396819a90b396959c8b9b9c9e9680dd909c9e" class="lp-link info-wrap-contact_link grey-text hyperlink-style-1"><span class="__cf_email__" data-cfemail="93f6e1faf0d3f6f5fcebfbfcfef6e0bdf0fcfe">[email protected]</span></a> 942 </div> 943 <div class="info-wrap-contact_cell"> 944 <i><svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 945 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.23
94513 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" /> 946 </svg></i> 947 <p class="contact_title">Phone Number</p> 948 <a href="tel:2676254504" class="lp-link info-wrap-contact_link grey-text hyperlink-style-1">M: (267) 625-4504</a> 949 </div> 950 </div> 951 <div class="info-wrap-contact_zone type_user"> 952 <div class="info-wrap-contact_cell"> 953 <i> 954 <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 955 <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" /> 956 </svg> 957 </i> 958 <p class="contact_title">Phone Number</p> 959 <a href="tel:2674358015" class="lp-link info-wrap-contact_link grey-text hyperlink-style-1">(267) 435-8015</a> 960 </div> 961 </div> 962 <div class="info-wrap-contact_zone"> 963 <div class="info-wrap-contact_cell"> 964 <i> 965 <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 966 <path d="M29.9821 6.49489C29.7931 6.35756 29.679 6.32046 29.4572 6.39228L20.298 9.41368L16.1952 8.03558L15.8172 9.41525L19.7644 10.7038V28.1462L9.89831 25.7069V22.1034H8.71438V25.7515L1.21616 28.2532V15.3945H0.0322266V29.2729C0.0322266 29.5077 0.130098 29.7279 0.321106 29.8645C0.445418 29.9541 0.585911 29.9999 0.735086 29.9999C0.814804 29.9999 0.890971 29.9868 0.967926 29.96L9.48433 27.029L20.1792 29.7887C20.3224 29.8254 20.4751 29.8171 20.6152 29.7654L29.8104 26.2235C30.0942 26.1177 3
9660.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" /> 967 <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" /> 968 <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" /> 969 </svg> 970 </i> 971 <p class="info-wrap-contact_title">Address</p> 972 <p class="info-wrap-contact_link grey-text"><p>1430 Walnut St, Third Floor Philadelphia, PA 19102</p></p> 973 </div> 974 </div> 975 </div> 976 </div> 977 <div class="text_footer first_text_footer"> 978 <div class="images_box"> 979 <div class="img_size"> 980 <img src="https://media-production.lp-cdn.com/media/d3aebe55-e28a-42d5-9a01-6f541213f835" alt="Footer Image"> 981 </div> 982 </div> 983 <div class="luxury-text"> 984 <p style="font-size: 12px;">The Eric Fox Team is a team of real estate licensees affiliated with <a class="link" style="font-weight: 400; color: #000;" href="https://www.compass.com/" target="_blank" rel="noopener">Compass</a> Pennsylvania, LLC. Compass Pennsylvania, LLC, is a licensed real estate broker and abides by equal housing opportunity laws. All material presented herein is intended for informational purposes only. Information is compiled from sources deemed reliable but is subject to errors, omissions, changes in price, condition, sale, or withdrawal without notice. No statement is made as to accuracy of any description. All measurements and square footages are approximate. This is not intended to solicit property already listed. Nothing herein shall be construed as legal, accounting or other professional advice outside the realm of real estate brokerage.</p> 985<p><img id="iivu" src="https://media-production.lp-cdn.com/media/38aa06de-d6d1-4e98-bacf-a68e4bcf92d0" width="100px;" height="auto"></p> 986<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}#iaa1{font-size:12px;}#iivu{margin-top:20px;}</style> 987 </div> 988 </div> 989 <div class="text_footer second_text_footer"> 990 <div class="text_content_wrap"> 991 <div> 992 <div> </div> 993<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style> 994 </div> 995 </div> 996 </div> 997 <div class="info-privacy"> 998 <div class="form-row info-privacy__row"> 999 1000 <div class="form-col form-col--powered powered-box"> 1001 <div class="powered_zone"> 1002 Powered by <a href="https://www.luxurypresence.com/" target="_blank" class="lp-link grey-text luxury-link underlined hyperlink-style-1">Luxury Presence</a> 1003 </div> 1004 </div> 1005 1006 <div class="form-col form-col--copyright"> 1007 <div class="copy_zone"> 1008 <span class="copy_words">
1008Copyright ©</span> <span class="auto-year-update">2026</span> 1009 | <a href="/terms-and-conditions" class="lp-link grey-text hyperlink-style-1">Privacy Policy</a> 1010 1011 </div> 1012 </div> 1013 1014 <div class="form-col form-col--socials"> 1015 <ul class="lp-socials social_icons-style-1 socials socials--grey socials_zone"> 1016 1017 <li> 1018 <a 1019 href="https://www.facebook.com/TheEricFoxTeam/?ref=page_internal" 1020 class="lp-socials__link socials__item socials__link wow fadeInUp" 1021 data-wow-delay="0s" 1022 target="_blank" 1023 aria-label="FACEBOOK" 1024 > 1025 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 1026 </a> 1027 </li> 1028 <li> 1029 <a 1030 href="https://www.instagram.com/theericfoxteam/" 1031 class="lp-socials__link socials__item socials__link wow fadeInUp" 1032 data-wow-delay="0.1s" 1033 target="_blank" 1034 aria-label="INSTAGRAM" 1035 > 1036 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 1037 </a> 1038 </li> 1039 <li> 1040 <a 1041 href="https://www.youtube.com/channel/UCrg2Ij9pv_82kzAiIkPMJDg" 1042 class="lp-socials__link socials__item socials__link wow fadeInUp" 1043 data-wow-delay="0.2s" 1044 target="_blank" 1045 aria-label="YOUTUBE" 1046 > 1047 <span class="lp-i lp-i--youtube" aria-hidden="true"></span> 1048 </a> 1049 </li> 1050 <li> 1051 <a 1052 href="https://www.compass.com/agents/eric-fox" 1053 class="lp-socials__link socials__item socials__link wow fadeInUp" 1054 data-wow-delay="0.3s" 1055 target="_blank" 1056 aria-label="BROKERAGE" 1057 > 1058 <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> 1059 </a> 1060 </li> 1061 </ul> </div> 1062 </div> 1063 </div> 1064 </div> 1065</div> 1066 1067 </footer> 1068 1069 <div id="modal-global-contact-us" class="modal " 1070 data-el-id="" 1071 style="background-color: ;" 1072 > 1073 <div class="modal-content"> 1074 <div class="contact-form redesign " style="background-image: url('https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1920/https://media-production.lp-cdn.com/media/e19fd815-2846-42f5-a5e8-6811e510a3cf')"> 1075 <div class="container"> 1076 <div class="section-details" style="--colorTxt: #ffffff"> 1077 <h2>Contact Details</h2> 1078 1079 <div class="info-zone"> 1080 1081 <div class="info-zone_contact type_user"> 1082 <h4 class="serif">The Eric Fox Team</h4> 1083 <div class="info-zone_contact_cell"> 1084 <i> 1085 <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 1086 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.23
108613 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"/> 1087 </svg> 1088 </i> 1089 <p class="contact_title">Phone</p> 1090 <a href="tel:M: (267) 625-4504" class="lp-link info-zone_contact_link link hyperlink-style-2">M: (267) 625-4504</a> 1091 </div> 1092 <div class="info-zone_contact_cell"> 1093 <i> 1094 <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 1095 <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"/> 1096 </svg> 1097 </i> 1098 <p class="contact_title">Email</p> 1099 <a href="/cdn-cgi/l/email-protection#1772657e74577271786f7f787a72643974787a" class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="bfdacdd6dcffdad9d0c7d7d0d2dacc91dcd0d2">[email protected]</span></a> 1100 </div> 1101 </div> 1102 <div class="info-zone_contact type_user"> 1103 <div class="info-zone_contact_cell"> 1104 <i> 1105 <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg"> 1106 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7964 8.1207H19.2036V8.7279C19.2036 10.8195 20.9082 12.5259 23.001 12.5259H24.741L25.2852 20.7051C25.3776 22.1235 24.2868 23.2719 22.8822 23.2719H7.0032C5.5944 23.2719 4.5084 22.1085 4.6002 20.7039C4.782 17.9895 4.9152 15.23
110613 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"/> 1107 </svg> 1108 </i> 1109 <p class="contact_title">Phone</p> 1110 <a href="tel:(267) 435-8015" class="info-zone_contact_link hvr_animation link link--white hyperlink-style-2">(267) 435-8015</a> 1111 </div> 1112 </div> 1113 <div class="info-zone_contact"> 1114 <div class="info-zone_contact_cell"> 1115 <i> 1116 <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 1117 <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"/> 1118 <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"/> 1119 <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"/> 1120 </svg> 1121 </i> 1122 <p class="info-wrap-contact_title">Address</p> 1123 <p class="info-zone_contact_link pre-line">1430 Walnut St, Third Floor 1124 Philadelphia, PA 19102</p> 1125 </div> 1126 </div> 1127 <div class="info-zone_contact"> 1128 <div class="info-zone_contact_cell"> 1129 <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p> 1130 </div> 1131 </div> 1132 <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__c
1132ontact-column"> 1133 1134 <li> 1135 <a 1136 href="https://www.facebook.com/TheEricFoxTeam/?ref=page_internal" 1137 class="lp-socials__link socials__item wow fadeInUp socials__link" 1138 data-wow-delay="0s" 1139 target="_blank" 1140 aria-label="FACEBOOK" 1141 > 1142 <span class="lp-i lp-i--facebook" aria-hidden="true"></span> 1143 </a> 1144 </li> 1145 <li> 1146 <a 1147 href="https://www.instagram.com/theericfoxteam/" 1148 class="lp-socials__link socials__item wow fadeInUp socials__link" 1149 data-wow-delay="0.1s" 1150 target="_blank" 1151 aria-label="INSTAGRAM" 1152 > 1153 <span class="lp-i lp-i--instagram" aria-hidden="true"></span> 1154 </a> 1155 </li> 1156 <li> 1157 <a 1158 href="https://www.youtube.com/channel/UCrg2Ij9pv_82kzAiIkPMJDg" 1159 class="lp-socials__link socials__item wow fadeInUp socials__link" 1160 data-wow-delay="0.2s" 1161 target="_blank" 1162 aria-label="YOUTUBE" 1163 > 1164 <span class="lp-i lp-i--youtube" aria-hidden="true"></span> 1165 </a> 1166 </li> 1167 <li> 1168 <a 1169 href="https://www.compass.com/agents/eric-fox/" 1170 class="lp-socials__link socials__item wow fadeInUp socials__link" 1171 data-wow-delay="0.3s" 1172 target="_blank" 1173 aria-label="BROKERAGE" 1174 > 1175 <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> 1176 </a> 1177 </li> 1178 </ul> </div> 1179 </div> 1180 <div class="section-message"> 1181 <form data-type="contact-form"> 1182 <h2>Submit a Message</h2> 1183 <div class="h-pot"> 1184 <label for="-middleName">Middle Name</label> 1185 <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1"> 1186 </div> 1187 1188 1189 <div class="lp-input-group"> 1190 <label for="prod-name" class="lp-label">Name</label> 1191 <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light"> 1192 </div> 1193 <div class="lp-input-group"> 1194 <label for="prod-email" class="lp-label">Email</label> 1195 <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light"> 1196 </div> 1197 <div class="lp-input-group"> 1198 <label for="prod-phone" class="lp-label">Phone</label> 1199 <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light"> 1200 </div>
1201 <div class="lp-input-group m16"> 1202 <label for="prod-message" class="lp-label">Message</label> 1203 <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea> 1204 </div> 1205 1206 <div class="lp-disclaimer"> <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label> 1207 <label class='lp-tcr-content'> 1208 <span class='lp-tcr-checkbox'> 1209 <input 1210 type='checkbox' 1211 id='-termsAccepted' 1212 name='termsAccepted' 1213 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 1214 oninput="this.setCustomValidity('')" 1215 required 1216 /></span> 1217 <span class='lp-tcr-message'> 1218 1219 I agree to be contacted by 1220 The Eric Fox Team 1221 via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 1222 You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary. 1223 <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>. 1224 </span> 1225 </label> 1226 1227 </div> 1228 1229 <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" /> 1230 1231 1232 <button type="submit" class="submitButton lp-btn button-style-2"> 1233 <span class="label-initial">Submit</span> 1234 <span class="label-loading">Submitting</span> 1235 <span class="label-success">Submitted</span> 1236 <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span> 1237 </button> 1238 <p class="success-message success hide"> 1239 Message sent successfully! 1240 </p> 1241 </form> 1242 1243 1244 </div> 1245 </div> 1246 </div> 1247 1248 </div> 1249 <button class="close lp-close" type="button" aria-label="close modal"> 1250 <span class="lp-close-icon" aria-hidden="true"></span> 1251 </button> 1252 </div> 1253 <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;"> 1254 <style> 1255 #qualifying-questions-modal .custom-select-toggle { 1256 border: 1px solid #848484; 1257 border-radius: 8px; 1258 padding: 12px 16px; 1259 } 1260 1261 #qualifying-questions-modal .custom-select-toggle.is-placeholder { 1262 color: #848484; 1263 } 1264 1265 #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder { 1266 color: #848484; 1267 opacity: 1; 1268 } 1269 1270 #qualifying-questions-modal .disclaimer-more { 1271 display: none; 1272 } 1273 1274 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more { 1275 display: inline; 1276 } 1277 1278 #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis { 1279 display: none; 1280 } 1281 </style>
vendor: 119 bytes, lines 1281-1282
1281 1282 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1282<script> 1283 function toggleDisclaimerQualifyingQuestionsModal() { 1284 const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text'); 1285 const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer'); 1286 1287 if (disclaimerText.classList.contains('collapsed')) { 1288 disclaimerText.classList.remove('collapsed'); 1289 toggleButton.textContent = 'Read less'; 1290 toggleButton.setAttribute('aria-expanded', 'true'); 1291 } else { 1292 disclaimerText.classList.add('collapsed'); 1293 toggleButton.textContent = 'Read more'; 1294 toggleButton.setAttribute('aria-expanded', 'false'); 1295 } 1296 } 1297 </script>
1297 1298 <div style="max-width: 400px; width: 95%; margin: 0 auto;"> 1299 <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;"> 1300 <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;"> 1301 <span aria-hidden="true">×</span> 1302 </button> 1303 <div style="padding: 40px 30px 32px;"> 1304 <div style="text-align: left; margin-bottom: 32px;"> 1305 <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;"> 1306 Thanks, please provide more information to help serve you 1307 </h2> 1308 </div> 1309 <form id="qualifying-questions-modal-form" data-type="contact-form"> 1310 <input type="hidden" name="source" value="PROFILE_UPDATE" /> 1311 <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" /> 1312 <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" /> 1313 <label for="qualifying-questions-modal-email" style="display:none;"> 1314 Email 1315 </label> 1316 <label for="qualifying-questions-modal-triggerSource" style="display:none;"> 1317 Trigger Source 1318 </label> 1319 1320 <div style="margin-bottom: 20px;"> 1321 <label for="qualifying-questions-modal-phoneNumber" style="display:none;"> 1322 Phone Number 1323 </label> 1324 <input 1325 type="tel" 1326 id="qualifying-questions-modal-phoneNumber" 1327 name="phoneNumber" 1328 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;" 1329 pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$" 1330 required 1331 placeholder="Phone" 1332 aria-label="Phone Number" 1333 inputmode="tel" 1334 autocomplete="tel" 1335 onfocus="this.style.borderColor='black';" 1336 onblur="this.style.borderColor='#848484';" 1337 /> 1338 </div> 1339 1340 <div style="margin-bottom: 20px;"> 1341 <label for="qualifying-questions-modal-interest" style="display:none;"> 1342 Interest 1343 </label> 1344 <select 1345 id="qualifying-questions-modal-interest" 1346 name="interest" 1347 required 1348 data-label="Interest" 1349 aria-label="Interest" 1350 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;" 1351 onfocus="this.style.borderColor='black'; this.style.color='black';" 1352 onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';" 1353 > 1354 <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option> 1355 <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option> 1356 <option value="Selling" style="background: #fff; color: black;">Selling</option> 1357 <option value="Buying" style="background: #fff; color: black;">Buying</option> 1358 <option value="Renting" style="background: #fff; color: black;">Renting</option> 1359 <option value="Other" style="background: #fff; color: black;">Other</option> 1360 </select> 1361 </div> 1362 1363 <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;"> 1364 <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label> 1365 <label class='lp-tcr-content'>
1366 <span class='lp-tcr-checkbox'> 1367 <input 1368 type='checkbox' 1369 id='qualifying-questions-modal-qualifying-questions-termsAccepted' 1370 name='termsAccepted' 1371 aria-describedby='qualifying-questions-modal-disclaimer-text' 1372 oninvalid="this.setCustomValidity('Please accept the terms and conditions')" 1373 oninput="this.setCustomValidity('')" 1374 required 1375 /></span> 1376 <span class='lp-tcr-message'> 1377 <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;"> 1378 1379 I agree to be contacted by 1380 <strong>The Eric Fox Team</strong> 1381 via call, email, and text <span class="disclaimer-more">for real estate services. 1382 To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 1383 You can also click the unsubscribe link in the emails. 1384 Message and data rates may apply. Message frequency may vary.</span> 1385 <span class="disclaimer-ellipsis">...</span> 1386 <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>. 1387 </div> 1388 <button 1389 id="qualifying-questions-modal-toggle-disclaimer" 1390 type="button" 1391 style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;" 1392 aria-expanded="false" 1393 onclick="toggleDisclaimerQualifyingQuestionsModal()" 1394 > 1395 Read more 1396 </button> 1397 </span> 1398 </label> 1399 </div> 1400 1401 <div> 1402 <button 1403 type="submit" 1404 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;" 1405 onmouseover="this.style.background='transparent'; this.style.color='black';" 1406 onmouseout="this.style.background='black'; this.style.color='white';" 1407 > 1408 Submit 1409 </button> 1410 </div> 1411 </form> 1412 </div> 1413 </div> 1414 </div> 1415 </div> 1416 1417
1417<script> 1418 (function() { 1419 var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy")); 1420 1421 if ("IntersectionObserver" in window && lazyVideos.length > 0) { 1422 var lazyVideoObserver = new IntersectionObserver(function(entries, observer) { 1423 entries.forEach(function(video) { 1424 if (video.isIntersecting) { 1425 for (var source in video.target.children) { 1426 var videoSource = video.target.children[source]; 1427 if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") { 1428 videoSource.src = videoSource.dataset.src; 1429 } 1430 } 1431 1432 video.target.load(); 1433 video.target.classList.remove("lazy"); 1434 lazyVideoObserver.unobserve(video.target); 1435 } 1436 }); 1437 }); 1438 1439 lazyVideos.forEach(function(lazyVideo) { 1440 lazyVideoObserver.observe(lazyVideo); 1441 }); 1442 } 1443 })(); 1444 </script>
1444 1445 1446 <!-- Global site tag (gtag.js) - Google Analytics --> 1447
1447<script defer src="https://www.googletagmanager.com/gtag/js"></script>
1447 1448 1449 <!-- Google Tag Manager --> 1450
1450<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1451 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1452 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src= 1453 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1454 })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
1454 1455 <!-- End Google Tag Manager --> 1456 1457 1458 <!-- LP Tracker (divolte.js) - LP Divolte --> 1459
1459<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
1459 1460 <!-- LP Tracker (eventBus) - LP EventBus --> 1461
1461<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
1461 1462 1463
1463<script> 1464 window.dataLayer = window.dataLayer || []; 1465 document.sendGoogleTagManagerEvent = function() { 1466 /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */ 1467 if (window.navigator.globalPrivacyControl) { 1468 return; 1469 } 1470 1471 dataLayer.push(arguments); 1472 } 1473 1474 document.sendGoogleTagManagerEvent('js', new Date()); 1475 document.sendGoogleTagManagerEvent('config', 'UA-225673215-3', { page: location.pathname, location: location.href }); 1476 document.sendGoogleTagManagerEvent('config', 'G-M5J839X5QR', { page: location.pathname, location: location.href }); 1477 document.sendGoogleAnalyticsEvent = function(googleEvent) { 1478 document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, { 1479 event_category: googleEvent.eventCategory, 1480 event_label: googleEvent.eventLabel, 1481 value: googleEvent.eventValue, 1482 page: googleEvent.page, 1483 location: googleEvent.location 1484 }) 1485 }; 1486 1487 document.addEventListener("DOMContentLoaded", function() { 1488 (function() { 1489 //If the page has an element with ID of auto-year-update the element will be populated with the current year. 1490 var date = new Date(); 1491 var elements = document.getElementsByClassName('auto-year-update'); 1492 var i; 1493 for (i = 0; i < elements.length; i++) { 1494 elements[i].innerText = date.getFullYear(); 1495 } 1496 })(); 1497 if (window.divolteLp) { 1498 window.divolteLp('sendLpPageView', {}); 1499 } 1500 if (window.eventBusLp) { 1501 window.eventBusLp('sendLpPageView', {}); 1502 } 1503 }); 1504 </script>
1504 1505 1506 1507
1507<script> 1508 // Function to dynamically load a script 1509 function loadScript(url, callback) { 1510 var script = document.createElement('script'); 1511 script.type = 'text/javascript'; 1512 script.src = url; 1513 script.defer = true; 1514 script.async = true; 1515 script.onload = callback; 1516 document.head.appendChild(script); 1517 } 1518 1519 // Function to dynamically load CSS file 1520 function loadCSS(url) { 1521 var link = document.createElement("link"); 1522 link.rel = "stylesheet"; 1523 link.href = url; 1524 document.head.appendChild(link); 1525 } 1526 1527 // Global methods / variables that can be accessed by element js 1528 window.luxuryPresence = { 1529 libs: { 1530 loadJs: loadScript, 1531 loadCss: loadCSS, 1532 jsLibsMap: { 1533 paroller: { 1534 jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js', 1535 isLoaded: false, 1536 }, 1537 ionRangeSlider: { 1538 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js', 1539 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css', 1540 isLoaded: false, 1541 requires: ['jquery'], 1542 }, 1543 splide: { 1544 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js', 1545 cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css', 1546 isLoaded: false, 1547 }, 1548 wow: { 1549 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js', 1550 isLoaded: false, 1551 }, 1552 jquery: { 1553 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js', 1554 isLoaded: false, 1555 }, 1556 slick: { 1557 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js', 1558 isLoaded: false, 1559 requires: ['jquery'], 1560 }, 1561 libphonenumber: { 1562 jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js', 1563 isLoaded: false, 1564 }, 1565 }, 1566 }, 1567 }; 1568 </script>
1568 1569
1569<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>
1569 1570
1570<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
1570 1571
1571<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
1571 1572
1572<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
1572 1573
1573<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>
1573 1574
1574<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>
1574 1575
1575<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>
1575 1576 1577 <!-- GOOGLE TRANSLATE SCRIPT --> 1578
1578<script> 1579 function googleTranslateElementInit() { 1580 // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'` 1581 // Language codes can be taken from here https://cloud.google.com/translate/docs/languages 1582 const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt'; 1583 document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){ 1584 translate.innerText = ''; 1585 new google.translate.TranslateElement({ 1586 pageLanguage: 'en', 1587 layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 1588 includedLanguages: window.customLanguages || DEFAULT_LANGUAGES, 1589 }, translate); 1590 }); 1591 } 1592 </script>
1592 1593
1593<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1593 1594
1594<script defer src="https://accounts.google.com/gsi/intermediate"></script>
1594 1595 1596 <!-- GOOGLE TRANSLATE SCRIPT END--> 1597
1597<script> 1598 1599 // UI helpers 1600 (function () { 1601 1602 function getSideMenu () { 1603 return document.querySelector('body > div.sidemenu'); 1604 } 1605 1606 function sideMenuHide (instant) { 1607 var sideMenu = getSideMenu(); 1608 if (!sideMenu || !sideMenu.classList.contains('visible')) { 1609 return; 1610 } 1611 sideMenu.classList.remove('visible'); 1612 sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } })); 1613 window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} })); 1614 } 1615 1616 function sideMenuShow () { 1617 var sideMenu = getSideMenu(); 1618 if (!sideMenu || sideMenu.classList.contains('visible')) { 1619 return; 1620 } 1621 sideMenu.classList.add('visible'); 1622 sideMenu.dispatchEvent(new Event('lpui-show')); 1623 window.dispatchEvent(new Event('lpui-sidemenu-show')); 1624 } 1625 1626 function sideMenuToggle () { 1627 var sideMenu = getSideMenu(); 1628 if (!sideMenu) { 1629 return; 1630 } 1631 var isSideMenuVisible = sideMenu.classList.contains('visible'); 1632 if (isSideMenuVisible) { 1633 sideMenuHide(); 1634 } else { 1635 sideMenuShow(); 1636 } 1637 } 1638 1639 var scrollLockRequests = {}; 1640 window.__debug_scrollLockRequests = scrollLockRequests; 1641 var hideScrollStyles = ''+ 1642 'body {'+ 1643 'overflow: hidden;' + 1644 '}'; 1645 var hideScrollId = 'hide-body-scroll-style'; 1646 1647 function scrollLock () { 1648 var style = document.createElement('style'); 1649 style.id = hideScrollId; 1650 style.textContent = hideScrollStyles; 1651 document.head.appendChild(style); 1652 window.dispatchEvent(new Event('lpui-scroll-locked')); 1653 } 1654 1655 function scrollUnlock () { 1656 document.getElementById(hideScrollId)?.remove(); 1657 window.dispatchEvent(new Event('lpui-scroll-unlocked')); 1658 } 1659 1660 function requestScrollLock (lockId) { 1661 var wasLocked = Object.keys(scrollLockRequests).length > 0; 1662 scrollLockRequests[lockId || '__anonymous_lock'] = true; 1663 if (!wasLocked) { 1664 scrollLock(); 1665 } 1666 } 1667 1668 function releaseScrollLock (lockId) { 1669 if (lockId) { 1670 delete scrollLockRequests[lockId]; 1671 if (!Object.keys(scrollLockRequests).length) { 1672 scrollUnlock(); 1673 } 1674 } else { 1675 scrollLockRequests = {}; 1676 window.__debug_scrollLockRequests = scrollLockRequests; 1677 scrollUnlock(); 1678 } 1679 } 1680 1681 function showModal (modalId, options) { 1682 var modal = document.getElementById(modalId); 1683 if (!modal) { 1684 return; 1685 } 1686 1687 if (!modal.classList.contains('visible')) { 1688 modal.classList.add('visible'); 1689 if (options && options.scrollLock) { 1690 window.lpUI.requestScrollLock(modalId); 1691 } 1692 modal.dispatchEvent(new Event('lpui-show')); 1693 window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } })); 1694 } 1695 1696 const visibleModals = document.querySelectorAll('.modal.visible'); 1697 1698 if (visibleModals.length > 1) { 1699 1700 const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => { 1701 const zIndex = window.getComputedStyle(modal).zIndex; 1702 const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0; 1703 return Math.max(maxZIndex, parsedZIndex); 1704 }, 0); 1705 1706 modal.style.zIndex = maxZIndex + 1; 1707 } 1708 1709 } 1710 1711 function _hideModal (modalEl) { 1712 if (!modalEl) { 1713 return; 1714 } 1715 if (!modalEl.classList.contains('visible')) { 1716 return; 1717 } 1718 modalEl.classList.remove('visible'); 1719 modalEl.style.zIndex = '';
1720 modalEl.dispatchEvent(new Event('lpui-hide')); 1721 var modalId = modalEl.getAttribute('id'); 1722 if (modalId) { 1723 window.lpUI.releaseScrollLock(modalId); 1724 window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } })); 1725 } 1726 } 1727 1728 function hideModal (modalId) { 1729 _hideModal(document.getElementById(modalId)); 1730 } 1731 1732 function hideClosestModal (el) { 1733 const modal = el?.closest('.modal'); 1734 if (!modal) { 1735 return; 1736 } 1737 if (modal.classList) { 1738 _hideModal(modal); 1739 return; 1740 } 1741 if (modal.length && modal[0].classList) { 1742 _hideModal(modal[0]); 1743 } 1744 } 1745 1746 window.lpUI = { 1747 sideMenuHide: sideMenuHide, 1748 sideMenuShow: sideMenuShow, 1749 sideMenuToggle: sideMenuToggle, 1750 requestScrollLock: requestScrollLock, 1751 releaseScrollLock: releaseScrollLock, 1752 showModal: showModal, 1753 hideModal: hideModal, 1754 hideClosestModal: hideClosestModal 1755 } 1756 })(); 1757 1758 var stringifyPrimitive = function(v) { 1759 switch (typeof v) { 1760 case 'string': 1761 return v; 1762 1763 case 'boolean': 1764 return v ? 'true' : 'false'; 1765 1766 case 'number': 1767 return isFinite(v) ? v : ''; 1768 1769 default: 1770 return ''; 1771 } 1772 }; 1773 1774 function objectToQuerystring(obj, sep, eq, name) { 1775 // https://github.com/Gozala/querystring/blob/master/encode.js 1776 sep = sep || '&'; 1777 eq = eq || '='; 1778 if (obj === null) { 1779 obj = undefined; 1780 } 1781 1782 if (typeof obj === 'object') { 1783 return Object.keys(obj).map(function(k) { 1784 var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; 1785 if (Array.isArray(obj[k])) { 1786 return obj[k].map(function(v) { 1787 return ks + encodeURIComponent(stringifyPrimitive(v)); 1788 }).join(sep); 1789 } else { 1790 return ks + encodeURIComponent(stringifyPrimitive(obj[k])); 1791 } 1792 }).filter(Boolean).join(sep); 1793 1794 } 1795 1796 if (!name) return ''; 1797 return encodeURIComponent(stringifyPrimitive(name)) + eq + 1798 encodeURIComponent(stringifyPrimitive(obj)); 1799 } 1800 1801 function getPath(url, options) { 1802 var parser = document.createElement('a'); 1803 parser.href = url || ''; 1804 var path = parser.pathname || ''; 1805 if (path[0] !== '/') { 1806 // IE does not return path starting with a slash 1807 path = '/' + path; 1808 } 1809 1810 if (options && options.queryString) { 1811 path += parser.search; 1812 } 1813 1814 return path; 1815 } 1816 1817 function getMLSAutocomplete(keyword) { 1818 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1819 var query = { 1820 kind: 'listings', 1821 query: keyword 1822 }; 1823 1824 return superagent 1825 .get(searchURL) 1826 .query(query) 1827 .then(function(res) { 1828 var data = res.body || []; 1829 // Array of listing_auto_complete documents: id, display_address, city, state, 1830 // price, sold_price, status, status_modified_at, photo_urls (array of URLs). 1831 1832 return data; 1833 }); 1834 } 1835 1836 function getMLSAutocompleteWithFilters(keyword, filters = {}) { 1837 var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete'; 1838 1839 return superagent 1840 .get(searchURL) 1841 .query({ kind: 'listings', query: keyword, ...filters }) 1842 .then(function(res) { 1843 // Same response shape as getMLSAutocomplete. 1844 return res.body || []; 1845 }); 1846 } 1847 1848 function makeMlsLink(data) { 1849 // Code Dupe from utils/googlePlace 1850 // mapping of google data type to mls data type 1851 var mapping = { 1852 neighborhood: 'neighborhood', 1853 locality: 'place', 1854 administrative_area_level_2: 'county', 1855 administrative_area_level_1: 'state', 1856 postal_code: 'postalcode', 1857 }; 1858 1859 function _filterTypes(types) { 1860 return types.filter(function(type) { return type !== 'political' }); 1861 } 1862 1863 if (!data || !Object.keys(data).length) { 1864 return '/home-search/listings'; 1865 } 1866 1867 var newData = {};
1868 _filterTypes(data.types).forEach(function(type) { 1869 if (mapping[type]) { 1870 newData.search_type = mapping[type]; 1871 } 1872 }); 1873 newData.omnibox = data.formatted_address; 1874 data.address_components.forEach(function(component) { 1875 _filterTypes(component.types).forEach(function(type) { 1876 if (mapping[type]) { 1877 newData[mapping[type]] = component.long_name; 1878 } 1879 }); 1880 }); 1881 var bounds = data.geometry.bounds; 1882 var convertedData = Object.assign(bounds, newData); 1883 1884 return '/home-search/listings?' + objectToQuerystring(convertedData); 1885 } 1886 1887 function debounce(func, wait) { 1888 let timeout; 1889 return function(...args) { 1890 const context = this; 1891 clearTimeout(timeout); 1892 timeout = setTimeout(() => func.apply(context, args), wait) 1893 } 1894 } 1895 1896 // Global methods / variables that can be accessed by element js 1897 window.luxuryPresence = { 1898 ...window.luxuryPresence, 1899 defaults: { 1900 companyId: '8968d612-eb72-4a05-b33e-bb0168e8e981', 1901 apiGatewayUrl: '/api-gw', 1902 routerUrl: '/api-nv', 1903 gql: {"agents":"\n query Agents (\n $agentId: ID\n $agentIds: [ID!]\n $companyId: String\n $network: Boolean\n $networkId: String\n $officeId: [ID!]\n $excludeOfficeId: [ID!]\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $tags: [String]\n $tagsMode: TagsModeEnum\n $teamId: [ID!]\n $developmentId: [ID!]\n $prioritizeIds: Boolean\n ) {\n agents (\n agentId: $agentId\n agentIds: $agentIds\n companyId: $companyId\n network: $network\n networkId: $networkId\n officeId: $officeId\n excludeOfficeId: $excludeOfficeId\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n tags: $tags\n tagsMode: $tagsMode\n teamId: $teamId\n developmentId: $developmentId\n prioritizeIds: $prioritizeIds\n ) {\n id\n firstName\n lastName\n avatar {\n smallUrl\n mediumUrl\n largeUrl\n height\n width\n }\n position\n bioLong\n bioShort\n seoTitle\n seoDescription\n slug\n phoneNumber\n phoneNumber2\n license\n email\n leadAgent\n greaterArea\n tags\n }\n agentsCount(\n agentIds: $agentIds\n companyId: $companyId\n network: $network\n networkId: $networkId\n officeId: $officeId\n excludeOfficeId: $excludeOfficeId\n search: $search\n tags: $tags\n tagsMode: $tagsMode\n teamId: $teamId\n developmentId: $developmentId\n prioritizeIds: $prioritizeIds\n ) {\n count\n }\n }\n","properties":"\n query Properties(\n $agentIds: [ID!]\n $teamIds: [ID!]\n $neighborhoodIds: [ID!]\n $officeIds: [ID!]\n $propertyId: ID\n $companyId: String\n $networkId: String\n $network: Boolean\n $statusId: String\n $propertyIds: [ID!]\n $prioritizeIds: Boolean\n $statusIds: [String!]\n $excludeStatusId: [String!]\n $neighborhoodId: String\n $addressState: [String!]\n $addressCity: [String!]\n $relatedNeighborhoodPropertyId: String\n $developmentId: String\n $featuredListing: Boolean\n $leaseProperty: Boolean\n $search: String\n $searchTermMode: SearchTermModeEnum\n $globalProperty: Boolean\n $archived: Boolean\n $salesPriceGTE: Float\n $salesPriceLTE: Float\n $leasePriceGTE: Float\n $leasePriceLTE: Float\n $livingSpaceSizeGTE: Float\n $livingSpaceSizeLTE: Float\n $bathCountGTE: Float\n $bathCountLTE: Float\n $bedroomCountGTE: Float\n $bedroomCountLTE: Float\n $architectureStyle: String\n $lifestyle: String\n $propertyTypeId: String\n $propertyTypeIds: [String!]\n $spaceTypeIds: [ID!]\n $tag: String\n $backfillMLSResults: Boolean\n $displayMLSListings: String\n $hostname: String\n $websiteId: ID\n $backfillProviders: [String!]\n $backfillMLSListingIds: [String!]\n $backfillMLSAgentIds: [String!]\n $backfillMLSOfficeIds: [String!]\n $backfillBoundary: JSON\n $openHouse: Boolean\n $withGeo: Boolean\n $advancedFilters: JSON\n $seasonalPriceId: ID\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n ) {\n properties(\n \n agentIds: $agentIds\n teamIds: $teamIds\n propertyId: $propertyId\n propertyIds: $propertyIds\n prioritizeIds: $prioritizeIds\n companyId: $companyId\n network: $network\n networkId: $networkId\n statusId: $statusId\n statusIds: $statusIds\n excludeStatusId: $excludeStatusId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n officeIds: $officeIds\n addressState: $addressState\n addressCity: $addressCity\n developmentId: $developmentId\n featuredListing: $featuredListing\n leaseProperty: $leaseProperty\n search: $search\n searchTermMode: $searchTermMode\n salesPriceGTE: $salesPriceGTE\n salesPriceLTE: $salesPriceLTE\n leasePriceGTE: $leasePriceGTE\n leasePriceLTE: $leasePriceLTE\n livingSpaceSizeGTE: $livingSpaceSizeGTE\n livingSpaceSizeLTE: $livingSpaceSizeLTE\n bathCountGTE: $bathCountGTE\n bathCountLTE: $bathCountLTE\n bedroomCountGTE: $bedroomCountGTE\n bedroomCountLTE: $bedroomCountLTE\n architectureStyle: $architectureStyle\n lifestyle: $lifestyle\n propertyTypeId: $propertyTypeId\n propertyTypeIds: $propertyTypeIds\n spaceTypeIds: $spaceTypeIds\n tag: $tag\n archived: $archived\n globalProperty: $globalProperty\n withGeo: $withGeo\n openHouse: $openHouse\n displayMLSListings: $displayMLSListings\n advancedFilters: $advancedFilters\n seasonalPriceId: $seasonalPriceId\n\n relatedNeighborhoodPropertyId: $relatedNeighborhoodPropertyId\n backfillMLSResults: $backfillMLSResults\n hostname: $hostname\n websiteId: $websiteId\n backfillProviders: $backfillProviders\n backfillMLSListingIds: $backfillMLSListingIds\n backfillMLSAgentIds: $backfillMLSAgentIds\n backfillMLSOfficeIds: $backfillMLSOfficeIds\n backfillBoundary: $backfillBoundary\n offset: $offset\n limit: $limit\n sort: $sort,\n sortDir: $sortDir\n ){\n id\n name\n status\n originalStatus {\n id\n name\n }\n salesPrice\n reducedPrice\n isPasswordProtected\n bedroomCount\n bathCount\n fullBathCount\n halfBathCount\n threeQuarterBathCount\n fullAddress\n addressLine1\n addressLine2\n addressCity\n addressState\n addressCountry\n postalCode\n description\n syncedAt\n officeName\n attributionContact\n neighborhood {\n id\n }\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n seoTitle\n seoDescription\n slug\n fromMLS\n mlsId\n mlsLogo\n mlsAttribution\n openHouse\n openHouseHours\n priceUponRequest\n privateAddress\n leaseProperty\n leasePrice\n currency\n leaseTermFrequencyInterval\n leaseTermFrequencyCount\n leasePeriod\n livingSpaceSize\n livingSpaceUnits\n lotAreaSize\n lotAreaUnits\n tags\n latitude\n longitude\n soldDate\n timeZone\n buyerAgencyCompensation\n buyerAgencyCompensationType\n landIdUrl\
1903n }\n propertiesCount(\n \n agentIds: $agentIds\n teamIds: $teamIds\n propertyId: $propertyId\n propertyIds: $propertyIds\n prioritizeIds: $prioritizeIds\n companyId: $companyId\n network: $network\n networkId: $networkId\n statusId: $statusId\n statusIds: $statusIds\n excludeStatusId: $excludeStatusId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n officeIds: $officeIds\n addressState: $addressState\n addressCity: $addressCity\n developmentId: $developmentId\n featuredListing: $featuredListing\n leaseProperty: $leaseProperty\n search: $search\n searchTermMode: $searchTermMode\n salesPriceGTE: $salesPriceGTE\n salesPriceLTE: $salesPriceLTE\n leasePriceGTE: $leasePriceGTE\n leasePriceLTE: $leasePriceLTE\n livingSpaceSizeGTE: $livingSpaceSizeGTE\n livingSpaceSizeLTE: $livingSpaceSizeLTE\n bathCountGTE: $bathCountGTE\n bathCountLTE: $bathCountLTE\n bedroomCountGTE: $bedroomCountGTE\n bedroomCountLTE: $bedroomCountLTE\n architectureStyle: $architectureStyle\n lifestyle: $lifestyle\n propertyTypeId: $propertyTypeId\n propertyTypeIds: $propertyTypeIds\n spaceTypeIds: $spaceTypeIds\n tag: $tag\n archived: $archived\n globalProperty: $globalProperty\n withGeo: $withGeo\n openHouse: $openHouse\n displayMLSListings: $displayMLSListings\n advancedFilters: $advancedFilters\n seasonalPriceId: $seasonalPriceId\n\n ) {\n count\n }\n }\n","pressReleases":"\n query PressReleases (\n $companyId: ID\n $pressReleaseIds: [ID!]\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n $categories: [String!]\n $propertyId: [ID!]\n $developmentId: [ID!]\n $agentId: [ID!]\n $teamId: [ID!]\n $year: [Int!]\n ) {\n pressReleases (\n companyId: $companyId\n pressReleaseIds: $pressReleaseIds\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n categories: $categories\n propertyId: $propertyId\n developmentId: $developmentId\n agentId: $agentId\n teamId: $teamId\n year: $year\n ) {\n items {\n id\n title\n description\n author\n externalUrl\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n publishedAt\n categories\n }\n total\n }\n }\n","posts":"\n query Posts (\n $companyId: String\n $postId: [ID!]\n $slug: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n $featured: Boolean\n $categoryId: [String!]\n $neighborhoodId: [String!]\n ) {\n posts (\n companyId: $companyId\n postId: $postId\n slug: $slug\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n featured: $featured\n postStatusId: \"5f528253-abb7-484e-95c3-330269ac1102\"\n categoryId: $categoryId\n neighborhoodId: $neighborhoodId\n ) {\n items {\n id\n postId\n title\n subtitle\n description\n status: postStatus\n featured\n slug\n categories {\n id\n name\n }\n createdAt\n publishedAt\n scheduledAt\n createdBy {\n ... on Agent {\n firstName\n lastName\n }\n }\n customAuthor\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n seoTitle\n seoDescription\n }\n total\n }\n }\n","testimonials":"\n query Testimonials (\n $companyId: String\n $agentId: ID\n $teamId: ID\n $testimonialIds: [ID!]\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: String\n $search: String\n ) {\n testimonials (\n companyId: $companyId\n agentId: $agentId\n teamId: $teamId\n testimonialIds: $testimonialIds\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n ) {\n items {\n id\n testimonialId\n body\n author\n position\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n altTagText\n }\n seoTitle\n seoDescription\n agents {\n slug\n email\n firstName\n lastName\n avatar {\n smallUrl\n height\n width\n }\n }\n }\n total\n }\n }\n","neighborhoods":"\n query Neighborhoods (\n $neighborhoodId: ID\n $companyId: String\n $search: String\n $tag: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n ) {\n neighborhoods (\n neighborhoodId: $neighborhoodId\n companyId: $companyId\n search: $search\n tag: $tag\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n ) {\n id\n name\n description\n descriptionShort\n slug\n tags\n googlePlaceData\n mlsLink\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n seoTitle\n seoDescription\n }\n neighborhoodsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n ) {\n count\n }\n }\n","developments":"\n query Developments (\n $developmentId: ID\n $companyId: String\n $offset: Int\n $limit: Int\n $sort: String\n $sortDir: SortDirectionEnum\n $search: String\n $tag: [String!]\n $agentId: [ID!]\n $neighborhoodId: ID\n $neighborhoodIds: [ID!]\n ) {\n developments (\n developmentId: $developmentId\n companyId: $companyId\n offset: $offset\n limit: $limit\n sort: $sort\n sortDir: $sortDir\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n id\n name\n description\n descriptionShort\n slug\n createdAt\n media {\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n height\n width\n }\n googlePlaceData\n seoTitle\n seoDescription\n tags\n }\n developmentsCount(\n companyId: $companyId\n search: $search\n tag: $tag\n agentId: $agentId\n neighborhoodId: $neighborhoodId\n neighborhoodIds: $neighborhoodIds\n ) {\n count\n }\n }\n","pois":"\n query PointsOfInterest (\n $regionId: UUID!\n $radiu
1903s: Int\n $offset: Int\n $limit: Int\n $categories: [AreasOfInterestCategories!]\n $sortBy: AreasOfInterestSorting\n ) {\n pois: areasOfInterest (\n input: {\n regionId: $regionId\n radius: $radius\n offset: $offset\n limit: $limit\n categories: $categories\n sortBy: $sortBy\n }\n ) {\n items {\n name\n imageUrl\n url\n reviewCount\n rating\n price\n displayPhone\n distance\n category\n location {\n address1\n address2\n address3\n city\n zipCode\n country\n state\n }\n }\n total\n }\n }\n","offices":"\n query Offices (\n $companyId: ID!\n $officeIds: [ID!]\n $officeMlsIds: [String!]\n $externalIds: [String!]\n $externalSource: String\n $agentId: ID\n $archived: Boolean\n $tags: [String!]\n $slug: String\n $search: String\n $sort: String\n $sortDir: SortDirection\n $offset: Int\n $limit: Int\n ) {\n offices (\n companyId: $companyId\n officeIds: $officeIds\n officeMlsIds: $officeMlsIds\n externalIds: $externalIds\n externalSource: $externalSource\n agentId: $agentId\n archived: $archived\n tags: $tags\n slug: $slug\n search: $search\n sort: $sort\n sortDir: $sortDir\n offset: $offset\n limit: $limit\n ) {\n items {\n id\n companyId\n name\n slug\n officeMlsId\n shortDescription\n fullDescription\n addressLine1\n addressLine2\n addressCity\n addressState\n addressPostalCode\n addressCountry\n phone\n email\n officeHours\n coordinates\n googlePlaceData\n seoTitle\n seoDescription\n fullAddress\n tags\n media {\n id\n originalUrl\n thumbnailUrl\n smallUrl\n mediumUrl\n largeUrl\n xLargeUrl\n xxLargeUrl\n }\n }\n total\n }\n }\n","teams":"\n query Teams (\n $companyId: ID\n $teamIds: [ID!]\n $agentId: ID\n $externalIds: [String!]\n $externalSource: String\n $slug: String\n $search: String\n $sort: String\n $sortDir: String\n $offset: Int\n $limit: Int\n ) {\n teams (\n companyId: $companyId\n teamIds: $teamIds\n agentId: $agentId\n externalIds: $externalIds\n externalSource: $externalSource\n slug: $slug\n search: $search\n sort: $sort\n sortDir: $sortDir\n offset: $offset\n limit: $limit\n ) {\n items {\n id\n companyId\n name\n email\n shortBio\n addressLine1\n addressLine2\n addressCity\n addressState\n addressCountry\n phoneNumber1\n phoneNumber2\n postalCode\n avatar {\n id\n thumbnailUrl\n smallUrl\n mediumUrl\n largeUrl\n }\n urlWebsite\n socialLinks\n socialLinksArray\n tags\n seoTitle\n seoDesc\n slug\n displayOrder\n }\n total\n }\n }\n"}, 1904 propertyPlaceholderImage: {"id":"8791eda4-c3fa-454b-8c81-b86644468864","alt":null,"bytes":7657,"width":1920,"format":"png","height":1200,"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/lmcuji95rmuohdwcivxj","smallUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=960/https://media-production.lp-cdn.com/media/lmcuji95rmuohdwcivxj","authorUrl":null,"mediumUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/lmcuji95rmuohdwcivxj","sourceUrl":null,"xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/lmcuji95rmuohdwcivxj","__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/lmcuji95rmuohdwcivxj","description":null,"displayName":"property-3-6","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/lmcuji95rmuohdwcivxj","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/lmcuji95rmuohdwcivxj","originalFileName":"Property (3) (6)"} 1905 }, 1906 objectToQuerystring: objectToQuerystring, 1907 getPath: getPath, 1908 getMLSAutocomplete: getMLSAutocomplete, 1909 getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters, 1910 makeMlsLink: makeMlsLink, 1911 debounce: debounce, 1912 }; 1913 1914 var wowOffset = 100; 1915 </script>
1915 1916
1916<script> 1917 (()=>{function e(e){return e&&e.__esModule?e.default:e}var t={},i={};i={getVideoFirstFrame(e){let t="https://res.cloudinary.com/";if(!e||!e.startsWith(t))return null;let i=e.replace(t,"").replace("f_auto:video","f_auto").split("/");if(-1===i[1].toLowerCase().indexOf("video"))return null;let r=i[i.length-1];r.lastIndexOf(".")>-1?r=`${r.slice(0,r.lastIndexOf("."))}.jpg`:r+=".jpg",i[i.length-1]=r;let s=3;"videos"===i[1].toLowerCase()&&""!==i[2]&&(s=2);let a=/^(?:[a-z]{1,3}|\$\w+)_\S+$/;for(;s<i.length-1&&a.test(i[s]);)s++;return i.splice(s,0,"so_0,eo_0"),t+i.join("/")}};let r={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "},s=/&(?:amp|lt|gt|quot|apos|nbsp|#(?:[0-9]+|[xX][0-9a-fA-F]+));/y,a=/[<&]/g,o=/["'>]/g,n=/<\/p\s*>|<br\s*\/?>|[\r\n\u2028\u2029]/g;function l(e,t){let i="";for(let l=0;l<e.length;){a.lastIndex=l;let d=a.exec(e);if(!d){i+=e.slice(l);break}let c=d.index;i+=e.slice(l,c);let u="&"===e[c]?function(e,t){s.lastIndex=t;let i=s.exec(e);return{text:i?function(e){if("#"!==e[1])return r[e.slice(1,-1)];
1917let t="x"===e[2]||"X"===e[2],i=parseInt(e.slice(t?3:2,-1),t?16:10);return 0===i||i>1114111||i>=55296&&i<=57343?e:160===i?" ":String.fromCodePoint(i)}(i[0]):"&",end:i?s.lastIndex:t+1}}(e,c):function(e,t,i){let r=function(e,t){let i=null;o.lastIndex=t+1;let r=o.exec(e);for(;r;){let t=r[0];if(i)t===i&&(i=null);else if('"'===t||"'"===t)i=t;else if(">"===t)return o.lastIndex;r=o.exec(e)}return -1}(e,t);return{text:-1===r?"<":function(e,t,i,r){if(!r)return"";let s=e.slice(t,i);if(/^<br\s*\/?>$/.test(s))return" ";if(/^<\/p\s*>$/.test(s)){n.lastIndex=i;let t=n.exec(e);if(t&&"<"===t[0][0])return" "}return""}(e,t,r,i),end:-1===r?t+1:r}}(e,c,t);i+=u.text,l=u.end}return i}t=function(e,{isEqual:t}){let r=[{field:"thumbnailUrl",w:320},{field:"smallUrl",w:960},{field:"mediumUrl",w:1280},{field:"largeUrl",w:1920},{field:"xLargeUrl",w:2560},{field:"xxLargeUrl",w:3456}],s=function(e,t,i){let r="en-US";if(!e)return"";if("string"==typeof e){let t=e.trim();if(/[^+\-0-9.]/.test(t))return e;if(!(e=parseFloat(t)))return""}let s="number"==typeof i?i:0,a=Number.isInteger(e)?0:s,o={minimumFractionDigits:a,maximumFractionDigits:a};return"USD"===t?`$${e.toLocaleString(r,o)}`:"CAD"===t?`$${e.toLocaleString(r,o)} CAD`:"EUR"===t?`\u{20AC}${e.toLocaleString(r,o)}`:"GBP"===t?`\xa3${e.toLocaleString(r,o)}`:"PERCENT"===t?`${e}%`:"number"==typeof i&&i>-1?e.toLocaleString(r,{maximumFractionDigits:i}):e.toLocaleString(r)},a=function(e){switch(e){case"DAY":return"daily";case"MONTH":return"monthly";case"WEEK":return"weekly";case"YEAR":return"yearly";case"QUARTER":return"quarterly";case"HALF_YEAR":return"semi-annually";case"NIGHTLY":return"nightly";case"SEASONAL":return"seasonally";default:return""}},o=function(e){switch(e){case"DAY":return"day";case"WEEK":return"wk";case"MONTH":return"mo";case"YEAR":return"yr";case"QUARTER":return"3 mos";case"HALF_YEAR":return"6 mos";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},n=function(e){switch(e){case"DAY":return"day";case"WEEK":return"week";case"MONTH":return"month";case"YEAR":return"year";case"QUARTER":return"quarter";case"HALF_YEAR":return"6 months";case"NIGHTLY":return"night";case"SEASONAL":return"season";default:return""}},d=function(e,t){let i,r,s=t||{};switch(s.mode){case"short":i=o(e),r=s.frequencySeparator||"/";break;case"standard":case"std":i=n(e),r=s.frequencySeparator||"/";break;default:i=a(e),r=s.frequencySeparator||" "}return i?s.frequencyTag||s.frequencyClass?`${r}<${s.frequencyTag||"span"}${s.frequencyClass?` class="${s.frequencyClass}"`:""}>${i}</${s.frequencyTag||"span"}>`:r+i:""};return{isEmpty(e,t){let i=!e||"string"==typeof e&&!e.trim()||!Object.keys(e).length;return t.fn?i?t.fn(this):t.inverse(this):i},ifEquals(e,i,r){return t(e,i)?r.fn(this):r.inverse(this)},"raw-helper":function(e){return e.fn()},striptags:e=>e?l(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!1):"",striptagsLineBreaks:e=>e?l(e=(e=e.replace(/<\!--(.|[\r\n])*?-\->/g,"")).replace(/<(xml|style|svg)("[^"]*"|'[^']*'|[^>])*>(.|[\r\n])*?<\/\1>/gi,""),!0):"",truncate:(e,t,i)=>e?e.length>t?"string"==typeof i?e.slice(0,t-i.length)+i:e.slice(0,t):e:"",setSubArray(e=[],t,i,r,s){s.data.root[r]=e.slice(t,i)},formatAreaUnit(e){switch(e){case"ACRE":return"Acres";case"SQUARE_METER":return"Sq.M.";case"SQUARE_YARD":return"Sq.Yd.";default:return"Sq.Ft."}},formatFrequency:a,formatFrequencyShort:o,lpFormatFrequency:(e,t)=>d(e,t&&t.hash),subArray(e,t,i,r){return e>=t&&e<i?r.fn(this):r.inverse(this)},formatPropertyStatus(e,t,i){let r="";switch(e){case"SOLD":r="Sold";break;case"FOR_SALE":r="For Sale";break;case"COMING_SOON":r="Coming Soon";break;case"INACTIVE":r="Inactive";break;case"POCKET_LISTING":r="Pocket Listing";break;case"PENDING":r="Pending";break;case"UNDER_CONTRACT":r="Under Contract";break;case"ACTIVE_UNDER_CONTRACT":r="Active Under Contract";break;default:r=e}return("Sold"===r||"Leased"===r)&&t&&"string"==typeof i&&i&&(r+=` on ${i}`),r},formatGrade(e){switch(e){case"UNDERGRADUATE_COURSES":return"Undergrad";case"PRE_KINDERGARTEN":return"PreK";case"KINDERGARTEN":return"K";case"FIRST_GRADE":return"1st";case"SECOND_GRADE":return"2nd";case"THIRD_GRADE":return"3rd";case"FOURTH_GRADE":return"4th";case"FIFTH_GRADE":return"5th";case"SIXTH_GRADE":return"6th";case"SEVENTH_GRADE":return"7th";case"EIGHTH_GRADE":return"8th";case"NINTH_GRADE":return"9th";case"TENTH_GRADE":return"10th";case"ELEVENTH_GRADE":return"11th";case"TWELFTH_GRADE":return"12th";default:return""}},encodeURI:e=>encodeURI(e),encodeURIComponent:e=>encodeURIComponent(e),hbFormatDate(e,t){if(!e)return"";let i="current"===e?new Date:new Date(e);if(Number.isNaN(i.getTime()))return"";if("YYYY"===t||"year"===t)return`${i.getFullYear()}`;if("MM/DD/YY"===t){let e=i.getMonth()+1;return e<10&&(e=`0${e.toString()}`),`${e}/${i.getDate()}/${i.getFullYear().toString().substr(-2)}`}return`${["January","February","March","April","May","June","July","August","September","October","November","December"][i.getMonth()]} ${i.getDate()}, ${i.getFullYear()}`},openHousesFormat(e,t,i){if(!e||!t)return"";let r=e=>{let t=e.getHours();t>12&&(t-=12);let i=`${t}:${e.getMinutes()>9?e.getMinutes():"0"+e.getMinutes()}`;return e.getHours()>11?i+="PM":i+="AM",i},s="",a=e,o=t;
1917i&&(a=new Date(e).toLocaleString("en-US",{timeZone:i}),o=new Date(t).toLocaleString("en-US",{timeZone:i}),[,,,s]=new Date(t).toLocaleString("en-US",{timeZone:i,timeZoneName:"short"}).split(" "));let n=new Date(a),l=n.toLocaleDateString("en-US"),d=r(n),c=r(new Date(o));return`${l} ${d} - ${c} ${s}`},math:(e,t,i)=>(e=parseFloat(e),({"+":e+(i=parseFloat(i)),"-":e-i,"*":e*i,"/":e/i,"%":e%i})[t]),findByKey(e,t,i,r){let s=(e||[]).find(e=>e[t]===i);return r.fn(s)},capitalize(e,t,i){let r;return"string"==typeof e&&e.length&&(r=e.toLowerCase().split(t).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ").toString()),r},and:(...e)=>Array.prototype.slice.call(e).every(Boolean),or:(...e)=>Array.prototype.slice.call(e,0,-1).some(Boolean),not:e=>!e,orderByIds(t,i,r){let s="",a=null;r.data&&(a=e.createFrame(r.data));let o=(i||[]).filter(Boolean);if(o&&o.length){let e=0;s=o.reduce((i,s,o)=>{let n=(t||[]).find(e=>e.id===s);return n?(a&&(a.index=o-e),i+r.fn(n,{data:a})):(e+=1,i)},"")}else for(let e=0,i=(t||[]).length;e<i;e++)a&&(a.index=e),s+=r.fn(t[e],{data:a});return s},ifIn(e,t,i){return t&&t.indexOf(e)>-1?i.fn(this):i.inverse(this)},partial:(t,i)=>(e.registerPartial(t,e.compile(i.fn())),`
1917<script type="text/x-handlebars-template" class="${t} pagination-script">${i.fn()}<\/script>`),numCompare(e,t,i,r){return({"==":function(e,t){return e==t},"===":function(e,t){return e===t},"!=":function(e,t){return e!=t},"<":function(e,t){return e<t},">":function(e,t){return e>t},"<=":function(e,t){return e<=t},">=":function(e,t){return e>=t}})[i](e,t)?!r.fn||r.fn(this):!!r.fn&&r.inverse(this)},lpFormatNumber:s,arrayToHtmlList:(e,t)=>e.reduce((e,t)=>{try{if("object"==typeof t||null===t)return e;return e+=`<li>${t}</li>`}catch(e){}},""),join:(e,t,i)=>e&&e.join?e.join("string"==typeof t?t:", "):"",dedupe(t,i,r){let s=null,a=0,o=new Set;return r.data&&(s=e.createFrame(r.data)),(t||[]).reduce((e,t,n)=>{let l=i?t[i]:t;return!o.has(l)||i&&void 0===l?(o.add(l),s&&(s.index=n-a),e+r.fn(t,{data:s})):(a+=1,e)},"")},JSONstringify:(e,t)=>JSON.stringify(e),formatPropertyPrice(...t){let i=t[t.length-1].hash,r=t.length>1?t[0]:i.property,a=i.precision||0;t.length>2&&(i.mode=t[1]),i.mode||(i.mode="short");let o=t.length>3?t[2]:i.separator;if("string"!=typeof o&&(o=" | "),r.isPasswordProtected)return"Exclusive Listing";let n=t.length>4?t[3]:i.priceUponRequestText;if("string"!=typeof n&&(n="Price Upon Request"),r.priceUponRequest)return n;let l=r.salesPrice,c=null;"SOLD"!==r.status&&"Leased"!==r.status&&r.reducedPrice&&(i.reducedClass?c=r.reducedPrice:l=r.reducedPrice);let u="";c&&(u+=`<${i.reducedTag||"span"} class="${i.reducedClass}">${s(c,r.currency,a)}</${i.reducedTag||"span"}>`),l&&(l=s(l,r.currency,a),i.priceTag||i.priceClass?u+=`<${i.priceTag||"span"}${i.priceClass?` class="${i.priceClass}"`:""}>${l}</${i.priceTag||"span"}>`:u+=l);let h=r.leasePrice&&s(r.leasePrice,r.currency,a);if(h){u&&(u+=o);let e=`${h}${d(r.leasePeriod,i)}`;i.leaseTag||i.leaseClass?u+=`<${i.leaseTag||"span"}${i.leaseClass?` class="${i.leaseClass}"`:""}>${e}</${i.leaseTag||"span"}>`:u+=e}
1917return new e.SafeString(u)},mediaImage(t,i={}){if(!t)return;let{lazy:s,...a}=i.hash,o="",n="";if("string"==typeof t)o=t;else{let e={},{height:s,width:l,altTagText:d}=t;r.forEach(i=>{t[i.field]&&!e[t[i.field]]&&(e[t[i.field]]=i.w)});let c=Object.keys(e);if(!c.length)return;if(d&&(a.alt=d),s&&l&&(s>=l&&(a.class?a.class+=" portrait":a.class="portrait"),"setDims"in i.hash&&(a.width=l,a.height=s)),c.length>1&&l&&l<e[c[c.length-1]]){let t=c.findIndex(t=>e[t]>=l);c.splice(t+1),e[c[c.length-1]]=l}c.length>1&&(n=c.map(t=>`${t} ${e[t]}w`).join(", "),c.sort((t,i)=>Math.abs(e[t]-1280)-Math.abs(e[i]-1280))),o=c[0]}delete a.setDims,n||delete a.sizes,"alt"in a||(a.alt=""),!("loading"in a)&&(i?.data?.root?.sectionIndex>1||s)&&(a.loading="lazy");let l=Object.keys(a).map(t=>`${e.escapeExpression(t)}="${e.escapeExpression(a[t])}"`).join(" ");return new e.SafeString(`<img src="${o}"${n?` srcset="${n}"`:""}${l?` ${l}`:""}>`)},bgImage:e=>e?"string"==typeof e?e:e.largeUrl||e.url||"":"",concat(...e){let t="";for(let i in e)null!==e[i]&&void 0!==e[i]&&"object"!=typeof e[i]&&(t+=e[i]);return t},setVideoExtension(e,t){if(!e||!t)return"";let i=new URL(e);if("res.cloudinary.com"!==i.host)return i.pathname.endsWith(`.${t}`)?e:"";let r=i.pathname.lastIndexOf("."),s=i.pathname;return -1!==r&&(s=i.pathname.substr(0,r)),i.pathname=`${s}.${t}`,i.toString()},addVideoSources(e){if(!e)return"";if(!e.includes("res.cloudinary.com"))return`<source data-src="${e}">`;let t=e.replace(/\.(?:3gp|mpeg|mp4|m4v|m4p|ogv|ogg|mov|webm)$/,"");return[{format:"webm",codec:"vp9",htmlCodecs:";codecs=vp9"},{format:"mp4",codec:"h265",htmlCodecs:";codecs=hvc1"},{format:"mp4",codec:"h264",htmlCodecs:""}].map(e=>{let i=`${t.replace(/f_auto(?::video)?(?:,q_auto(?::\w+)?)?/,`f_${e.format},vc_${e.codec},q_auto:best,w_1920,c_limit`)}.${e.format}`;return`<source data-src="${i}" type="video/${e.format}${e.htmlCodecs}">`}).join("\n")},cloudinaryVideoFirstFrame:i.getVideoFirstFrame,initials(e,t){if(!e)return"";t?.hash?.endChar&&(e=e.split(t.hash.endChar)[0]);let i=+t?.hash?.maxChars||2,r=e.match(/\b\w/g)?.slice(0,i);return r?(t?.hash?.addText&&(r=r.map(e=>e+t.hash.addText)),r.join(t?.hash?.joinWith||"").toUpperCase()):""},normalizePhone(e){if(!e)return"";let t=String(e).trim();return(t.startsWith("+")?"+":"")+t.replace(/\D/g,"")}}};class d{constructor(e,t,i){if(this.config=e,this.window=t,this.document=i,!this.destroy)throw Error("Controllers must implement a deconstructor")}}let c="lp_lead_form_conversion_fired";function u(e,t){if(e&&t&&"function"==typeof t.sendGoogleTagManagerEvent&&!function(e){try{return"true"===e.sessionStorage.getItem(c)}catch{return!1}}(e))try{t.sendGoogleTagManagerEvent("event","generate_lead");try{e.sessionStorage.setItem(c,"true")}catch{}}catch{}}function h(e){return!!e&&(!!e.expired||Date.now()>=e.expiresAt)}let p="/api/v1/home-valuation";class m extends d{destroy(){}_cleanAddressString(e){if(!e||"string"!=typeof e)return"";let t=e.trim();if(t.includes("User entered address:")){let e=t.match(/User entered address:\s*\n?\s*([^\n]+)/);e&&e[1]&&(t=e[1].trim())}let i=t.indexOf(", call time frame:");return -1!==i&&(t=t.substring(0,i).trim()),t}_transformAddressComponents(e){let t=t=>(e.find(e=>e.componentType===t)||{}).componentName?.text,i={},r=t("street_number"),s=t("route"),a=t("administrative_area_level_1"),o=t("postal_code"),n=t("subpremise"),l=t("locality")||t("sublocality_level_1")||t("neighborhood");return r&&(i.streetNumber=r),s&&(i.streetName=s),l&&(i.city=l),a&&(i.state=a),o&&(i.zipcode=o),n&&(i.addressLine2=n),i}_extractAddressAndCoordinates(e){let t=null,i=null;if(e?.result){let{result:r}=e;r.address?.addressComponents&&(t=this._transformAddressComponents(r.address.addressComponents)),r.geocode?.location&&(i={latitude:r.geocode.location.latitude,longitude:r.geocode.location.longitude})}return{structuredAddress:t,coordinates:i}}_filterEmptyStrings(e){let t={};for(let[i,r]of Object.entries(e))""!==r&&null!=r&&(t[i]=r);return t}_getRawAddress(e){let t=e.activity.content||{},i=e.activity.comments_attributes?.[0]?.text;return[t.address,t["property-address"],t.property_address,t.Property_Address,i,t.message,t.homeValuationAddress,t.propertyAddress].map(e=>e&&this._cleanAddressString(e)).find(Boolean)||""}_logLeadEvent(e,t,i=null){let r={event:e,companyId:this.config.companyId,websiteId:this.config.websiteId,timestamp:new Date().toISOString(),hasEmail:!!t.activity?.author_email,hasAddress:!!this._getRawAddress(t)};if(i&&(r.errorMessage=i.userMessage||(i.status?`Request failed with status ${i.status}`:"An error occurred"),r.errorName=i.name,r.errorStatus=i.status),console.error(`[HomeValuation] ${e}`,JSON.stringify(r)),this.window.posthog)try{this.window.posthog.capture(e,r)}catch(e){console.error("[HomeValuation] PostHog capture failed:",e)}}_getUserFriendlyErrorMessage(e){return"AbortError"===e.name||e.message?.includes("timeout")?"Connection timed out. Please try again.":"TypeError"===e.name&&e.message?.includes("fetch")?"Unable to connect. Please check your internet connection and try again.":503===e.status||502===e.status||504===e.status?"Service temporarily unavailable. Please try again in a moment.":400===e.status?"Please check your information and try again.":"Something went wrong. Please try again or c
1917ontact us directly."}_formatStructuredAddress(e){if(!e||0===Object.keys(e).length)return"";let t=[];return t.push([e.streetNumber,e.streetName,e.addressLine2].filter(Boolean).join(" ")),t.push([[e.city,e.state].filter(Boolean).join(", "),e.zipcode].filter(Boolean).join(" ")),t.filter(Boolean).join(", ")}_buildHomeValuationData(e,t,i,r){let s=this._formatStructuredAddress(i)||this._getRawAddress(e);if(!s)throw Error("Unable to extract home valuation address from form data");let a={companyId:e.companyId,homeValuationAddress:s,homeValuationEstimate:t?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0,minimumFractionDigits:0}).format(t):null,websiteId:e.page.websiteId,sourceUrl:e.activity.source_url},o={leadEmailAddress:e.activity.author_email,leadFullName:e.activity.author_name,leadFirstName:e.activity.firstName,leadLastName:e.activity.lastName,leadPhoneNumber:e.activity.author_phone,parcelId:e.activity.content?.parcelId,resourceId:e.page.pageMeta?.resourceId,pageId:e.page.pageId,sourceResource:e.page.pageMeta?.s
1917ourceResource,pageElementId:e.page.pageMeta?.pageElementId,formId:e.page.pageMeta?.formId,utmSource:e.activity.content?.utm_source,utmMedium:e.activity.content?.utm_medium,utmCampaign:e.activity.content?.utm_campaign,utmTerm:e.activity.content?.utm_term,utmContent:e.activity.content?.utm_content,utmId:e.activity.content?.utm_id,timeToSell:e.activity.content?.timeToSell,lookingToBuy:e.activity.content?.lookingToBuy,consented:!!e.activity.content?.termsAccepted,referrer:e.referrer,content:e.activity.content||{},fields:e.fields||{}},n=this._filterEmptyStrings(o);return{...a,...n,...i&&{address:i},...r&&{coordinates:r}}}async _validateAddressSafely(e){if(!e)return console.error("Home valuation: No address found in form data"),null;try{return await this._validateAddressWithGoogleMaps(e)}catch(e){throw console.error("Error validating address with Google Maps:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}async _getHomeValuationEstimateSafely(e){try{return await this._getHomeValuationEstimate(e)}catch(e){throw console.error("Error getting home valuation estimate:",e),e.userMessage=this._getUserFriendlyErrorMessage(e),e}}_isSafeRedirectUrl(e){try{let{protocol:t}=new URL(e,this.window.location.href);return"https:"===t||"http:"===t}catch{return!1}}_parseResponsePayload(e){try{return e?JSON.parse(e):{}}catch{return{raw:e}}}_createResponseError(e,t){let i=Error(e&&"object"==typeof e&&Object.keys(e).length?e.message||JSON.stringify(e):"Request failed");return e&&"object"==typeof e&&Object.keys(e).length&&Object.assign(i,e),i.status=t,i}_resolveValuationApiBase(){let{config:e}=this;if(void 0!==e.valuationApiBase&&null!==e.valuationApiBase&&(""!==e.valuationApiBase||!e.isBuilder))return e.valuationApiBase;if(e.websiteApiGatewayUrl)return e.websiteApiGatewayUrl;throw Error("websiteApiGatewayUrl/valuationApiBase not configured for home valuation")}async _submitLead(e,t,i){let r=new AbortController,s=setTimeout(()=>r.abort(),1e4);try{let a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),signal:r.signal});clearTimeout(s);let o=await a.text(),n=this._parseResponsePayload(o);if(!a.ok)throw this._createResponseError(n,a.status);if(n&&"success"===n.status&&n.redirectUrl){if(h(i))return n;if(!this._isSafeRedirectUrl(n.redirectUrl))return console.error("Home valuation: refusing redirect to unsupported protocol"),n;return this.window.location.href=n.redirectUrl,{redirected:!0,url:n.redirectUrl}}return n}catch(e){throw clearTimeout(s),e}}async _submitHomeValuationRequest(e){let t=this._resolveValuationApiBase();this._logLeadEvent("home_valuation_submission_started",e);try{let i=this._getRawAddress(e),r=null;try{r=await this._validateAddressSafely(i)}catch(t){throw this._logLeadEvent("home_valuation_address_validation_failed",e,t),t}let s=null;try{s=await this._getHomeValuationEstimateSafely(r)}catch(t){this._logLeadEvent("home_valuation_estimate_failed",e,t),s=null}let{structuredAddress:a,coordinates:o}=this._extractAddressAndCoordinates(r),n=`${t}${p}`,l=this._buildHomeValuationData(e,s,a,o),d=await this._submitLead(n,l,e.deadline);return this._logLeadEvent("home_valuation_submission_success",e),d}catch(t){throw t.userMessage||(t.userMessage=this._getUserFriendlyErrorMessage(t)),this._logLeadEvent("home_valuation_submission_failed",e,t),t}}async _validateAddressWithGoogleMaps(e){let{config:t,window:i}=this,r=t.googleMapsAPIKey;if(!r&&i.luxuryPresence?.mapApiLoader&&(r=await i.luxuryPresence.mapApiLoader.getMapApiKey()),!r)throw Error("Google Maps API key not configured");let s=new AbortController,a=setTimeout(()=>s.abort(),1e4);try{let t=await fetch(`https://addressvalidation.googleapis.com/v1:validateAddress?key=${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:{addressLines:[e]},enableUspsCass:!1}),signal:s.signal});if(clearTimeout(a),!t.ok){let e=Error(`Address validation failed: ${t.status}`);throw e.status=t.status,e}return t.json()}catch(e){throw clearTimeout(a),e}}_hasMandatoryAddressFields(e){return!!(e.streetNumber&&e.streetName&&e.city&&e.state&&e.zipcode)}_logMissingAddressFields(e){let t=[];e.streetNumber||t.push("streetNumber"),e.streetName||t.push("streetName"),e.city||t.push("city"),e.state||t.push("state"),e.zipcode||t.push("zipcode"),console.log("Home valuation estimate skipped - missing required fields:",t.join(", "),"Available fields:",Object.keys(e).join(", "))}_buildAddressQueryString(e){return Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}async _getHomeValuationEstimate(e=null){let t=`${this._resolveValuationApiBase()}${p}`;if(!e?.result?.address?.addressComponents)return null;let i=this._transformAddressComponents(e.result.address.addressComponents);if(!this._hasMandatoryAddressFields(i))return this._logMissingAddressFields(i),null;let r=this._buildAddressQueryString(i),s=`${t}?${r}`,a=new AbortController,o=setTimeout(()=>a.abort(),1e4);try{let e=await fetch(s,{headers:{Accept:"application/json"},signal:a.signal});if(clearTimeout(o),!e.ok){let t=Error(`Home valuation estimate failed: ${e.status}`);throw t.status=e.status,t}let t=await e.json();return t?.valueDollars??null}catch(e){throw clearTimeout(o),e}}}let g="middleName",y="redirect-pending",f=["name","firstName","lastName",g,"email","phone","phoneNumber","source","message","mlsId","sourceUrl"],v="lp_map_key_failed",w="oauthSuccess",b={cookieyes:{eventName:"cookieyes_consent_update",hasAnalyticsConsent:e=>(function(e){let t=e.cookie.match(/cookieyes-consent=([^;
1917]+)/);if(!t)return!1;try{let e=decodeURIComponent(t[1]);if(e.includes(",")){let t=e.split(",").map(e=>e.trim());if(t.some(e=>e.includes(":")))return t.some(e=>"analytics:yes"===e);return t.includes("analytics")}return e.includes("analytics")}catch(e){return!1}})(e),isAnalyticsAccepted:e=>Array.isArray(e?.accepted)&&e.accepted.includes("analytics")},"lp-consent":{eventName:"lp_consent_update",hasAnalyticsConsent:(e,t)=>!!t.__lpConsent?.state?.c?.analytics,isAnalyticsAccepted:e=>!!e?.choices?.analytics}};function S(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function _(e,t){t.forEach(t=>{let i=e[t];Array.isArray(i)&&0===i.length&&delete e[t]})}function I(e,t,i,r){let s=t.map(t=>(function e(t){return Array.isArray(t)?t.flatMap(t=>e(t)):"string"==typeof t?t.split(/\s+/).filter(Boolean):null==t?[]:[t]})(e[t])),a=r?.merge?s.flat():s.find(e=>e.length>0)??[];t.forEach(t=>{delete e[t]}),a.length>0&&(e[i]=[...new Set(a)])}function E(e){let t={...e};if(t.urlWebsite||(t.urlWebsite=null),t.urlYoutube=null,t.urlFacebook=null,t.urlInstagram=null,t.urlLinkedin=null,t.urlPodcast=null,t.urlTwitter=null,Array.isArray(e.socialLinks)){let i=[...e.socialLinks].sort((e,t)=>{let i=e.type?.toLowerCase()||"",r=t.type?.toLowerCase()||"";return i.localeCompare(r)});t.socialLinks=i;let r={youtube:"urlYoutube",facebook:"urlFacebook",instagram:"urlInstagram",linkedin:"urlLinkedin",podcast:"urlPodcast",twitter:"urlTwitter"};i.forEach(e=>{let i=r[e.type?.toLowerCase()??""];i&&(t[i]=e.link)})}return t}function A(e){return e&&Array.isArray(e)?e.map(e=>E(e)):e}function L(e){let{region:t}=e;if(!S(t))return e;let{schools:i,pois:r,...s}=t,a={...s,schools:S(i)?i.data??[]:[],...Array.isArray(r)?{pois:r.map(e=>({...e,category:"string"==typeof e.category?e.category.toUpperCase():e.category}))}:{}};return{...e,region:a}}function x(e){return e&&Array.isArray(e)?e.map(e=>L(e)):e}function $(e){let t=e.featuresAndAmenities;if(!Array.isArray(t))return e;let i=t.map(e=>({featureIds:e.featureIds??[],features:e.features??[],description:e.description}));return{...e,featuresAndAmenities:i}}function T(e){return e&&Array.isArray(e)?e.map(e=>$(e)):e}function C(e,t){return S(e)?t(e):e}function k(e,t){return Array.isArray(e)?t(e):e}var M={};M=` 1918 query PropertyDisclaimers($input: PropertyDisclaimersInput!) { 1919 propertyDisclaimers(input: $input) { 1920 feedId 1921 listingId 1922 resolvedFromListing 1923 listingCardAttribution 1924 listingDetailCourtesy 1925 listingDetailFooter 1926 logo 1927 } 1928 } 1929`;let P={mlsAttribution:"listingCardAttribution",mlsLogo:"logo",listingDetailCourtesy:"listingDetailCourtesy",listingDetailFooter:"listingDetailFooter"},U=new class{constructor(e){this.isBuilder=!1,this.companyId=null,this.websiteId=null,this.pageId=null,this.shareId=null,this.pageMeta=null,this.websiteApiGatewayUrl=null,this.buyerSellerServiceUrl=null,this.leadIngesterUrl=null,this.divolteServiceUrl=null,this.eventBus=null,this.templateId=null,this.myhomeDashboardEnabled=!1,this.mlsEnabled=!1,this.hstValuationRedirectEnabled=!1,this.hvStepTwoCaptureEnabled=!1,this.googleMapsAPIKey=null}get valuationApiBase(){return this.isBuilder?this.websiteApiGatewayUrl:""}destroy(){}setPage(e,t={}){this.pageId=e,this.shareId=t.shareId||null,this.pageMeta={sourceResource:t.sourceResource,pageElementId:t.pageElementId,pageQueryVariables:t.pageQueryVariables||{}}}setIsBuilder(e){this.isBuilder=e}setCompany(e,t={}){this.companyId=e}setWebsite(e,t={}){this.websiteId=e,t.myhomeDashboardEnabled&&(this.myhomeDashboardEnabled=t.myhomeDashboardEnabled),t.mlsEnabled&&(this.mlsEnabled=t.mlsEnabled),t.hstValuationRedirectEnabled&&(this.hstValuationRedirectEnabled=t.hstValuationRedirectEnabled),t.hvStepTwoCaptureEnabled&&(this.hvStepTwoCaptureEnabled=t.hvStepTwoCaptureEnabled)}setWebsiteApiGatewayUrl(e,t={}){this.websiteApiGatewayUrl=e}setBuyerSellerServiceUrl(e,t={}){this.buyerSellerServiceUrl=e}setDivolteServiceUrl(e,t={}){this.divolteServiceUrl=e}setEventBusUrl(e,t={}){this.eventBusUrl=e}setTemplateId(e,t={}){this.templateId=e}setLeadIngesterUrl(e,t={}){this.leadIngesterUrl=e}setGoogleMapsAPIKey(e,t={}){this.googleMapsAPIKey=e}setEventBus({enabled:e,apiKey:t,url:i}){this.eventBus={enabled:e,apiKey:t,url:i}}}({}),N=new class extends d{constructor(e,t,i){super(e,t,i),this.setLoginState=this.setLoginState.bind(this),this.pageId=null,this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}initialize(e){try{let{config:t,document:i}=this;this.pageId=t.pageId,this.modals=i.querySelectorAll("body > #modals >
1929 .modal"),e.modals.forEach(e=>{this._attachModalHandler(e)})}catch(e){console.log(e)}}destroy(){let{document:e}=this;this.exitModalEventListeners.forEach(t=>{e.removeEventListener("mouseout",t)}),this.modals=[],this.exitModalTriggered={},this.exitModalEventListeners=[]}setModalWithExpiry(e){let{window:t}=this,i=new Date().getTime()+864e5,r=`modal-controller-${e}`;try{t.localStorage.setItem(r,JSON.stringify(i))}catch(e){}}setLoginState(){let{window:e}=this;try{e.localStorage.setItem("isSignedUp","true")}catch(e){}}getModalWithExpiry(e){let{window:t}=this,i=t.localStorage,r=i.getItem(`modal-controller-${e}`);if(!r)return!1;let s=JSON.parse(r);return!(new Date().getTime()>s)||(i.removeItem(`modal-controller-${e}`),!1)}show(e,t={}){let{window:i}=this,r=this.getModalWithExpiry(e);(e&&!r||!0===t.forced)&&(i.lpUI.showModal(`modal-${e}`,t),this.setModalWithExpiry(e))}_attachModalHandler(e){let{pageId:t}=this,{trigger:i,pageSpecific:r}=e;(!r||e.pages.map(e=>e.pageId).includes(t))&&("EXIT"===i?this._exitModalHandler(e):"TIMER"===i?this._timerModalHandler(e):"FORCED"===i&&this._forcedModalHandler(e))}_exitModalHandler(e){let t=this,{document:i,exitModalTriggered:r}=this,{modalId:s}=e;function a(e){!r[s]&&(e.toElement||e.relatedTarget||(t.show(s),r[s]=!0))}i.addEventListener("mouseout",a),this.exitModalEventListeners.push(a)}_timerModalHandler(e){let{modalId:t,timerDelay:i}=e;setTimeout(()=>{this.show(t)},i)}_forcedModalHandler(e){let{modalId:t}=e,{window:i,document:r}=this;if("true"!==i.localStorage.getItem("isSignedUp")){let e=r.querySelector(`#modal-${t}`),s=e?.querySelector("form"),a=s?.dataset.delay||2e3;s.addEventListener("formsubmitted",()=>{this.setLoginState()}),i.addEventListener("oauthSuccess",()=>{this.setLoginState(),s.classList.add("success"),setTimeout(()=>{i.lpUI.hideModal(`modal-${t}`),s.reset(),s.classList.remove("success")},a)}),this.show(t,{forced:!0})}}}(U,window,document),R=new class extends d{constructor(e,t,i){super(e,t,i),this._boundClickHandler=this._buttonClickHandler.bind(this)}initialize(e={}){try{let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler),e.body.addEventListener("click",this._boundClickHandler)}catch(e){console.error(e)}}destroy(){let{document:e}=this;e.body.removeEventListener("click",this._boundClickHandler)}_buttonClickHandler(e){this._handleButtonClick(e).catch(e=>console.error(e))}async _handleButtonClick(e){let{window:t,document:i}=this,r=e.target.closest("button, a");if(!r)return;let s=r.dataset.type||"",a=r.href||r.dataset.href||"",o=r.target||"",{submit:n}=r.dataset;if(n){try{await this._handleSubmit(r)}catch(e){console.error(e)}((e,t=!1)=>{if(e){if(t)return window.open(e);window.location.assign(e)}})(a,"_blank"===o)}if(this._trackConversion(r),"VIDEO"===s)return void this._handleVideoButton(r);if("CONTACT_US"===s)return void this._handleContactUsButton(r);if("SUBSCRIBE"===s)return void t.lpUI.showModal("modal-global-subscribe");if("MY_ACCOUNT"===s)return void t.lpUI.showModal("modal-global-my-account");if("SHARE_POPUP"===s){let t=r.querySelector(".share-popup");t&&(t.style.display="flex"),e.stopPropagation();return}if("MODAL_"===s.substring(0,6)){let e=s.substring(6);t.lpUI.showModal(`modal-${e}`);return}if(a?.startsWith("mailto:")){let e=a.substring(7);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Email",eventValue:e})}else if(a?.startsWith("tel:")){let e=a.substring(4);i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"Phone",eventValue:e})}}async _handleSubmit(e){let t=e.closest("form"),{window:i}=this;return t?await i.luxuryPresence.contactForms.submitForm(t):null}_getVimeoSrc(e){if(!e||!e.includes("vimeo.com")||e.length>2e3)return null;let t=e.match(/(?:(?:www\.)?vimeo\.com\/(?:showcase\/\d+(?:\/video\/|\?video[=/])|channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|)|player\.vimeo\.com\/video\/)(\d+)(?:(?:\?.*&*h=|\/)+([\d,a-f]+))?/);if(!t)return null;let[,i,r]=t,s=`https://player.vimeo.com/video/${i}?`;return r&&(s+=`h=${r}&`),s+="autoplay=1"}_handleVideoButton(e){let{document:t}=this,i=e.closest("section"),{src:r}=e.dataset,s="";if(r&&(r.includes("youtube.com")||r.includes("youtu.be"))&&!r.includes("youtube.com/embed")){let e=r.match(/(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\?(?:\S*?&?v=)
1929)|youtu.be\/)([a-zA-Z0-9_-]{6,11})/);e&&(s=e[1])}let a=this._getVimeoSrc(r);if(s?r=`https://youtube.com/embed/${s}?autoplay=1&controls=0`:a&&(r=a),!r||!i)return;let o=r.endsWith(".mp4")||r.endsWith(".webm")||r.includes("cloudinary.com"),n=` 1930 <div id="modal-${i.id}" class="modal visible"> 1931 <div class="modal-content"> 1932 <div class="lightbox-video"> 1933 <div class="video-player"> 1934 <div class="embed-container"> 1935 ${o?`<video controls autoplay src="${r}"></video>`:`<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="${r}"></iframe>`} 1936 </div> 1937 </div> 1938 </div> 1939 </div> 1940 <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button> 1941 </div> 1942 `;t.body.insertAdjacentHTML("beforeend",n);let l=t.getElementById(`modal-${i.id}`);l.querySelector(".close").addEventListener("click",()=>{l.remove()})}_handleContactUsButton(e){let{window:t,document:i}=this;i.sendGoogleAnalyticsEvent({hitType:"event",eventCategory:"button",eventAction:"click",eventLabel:"contact"}),t.lpUI.showModal("modal-global-contact-us",{scrollLock:!0})}_trackConversion(e){let{window:t,document:i}=this,{gtagConversionId:r,gtagConversionLabel:s,fbEventName:a}=e.dataset;if(r&&s){t.dataLayer&&t.dataLayer.length&&(t.dataLayer.some(e=>e.length&&"config"===e[0]&&e[1]===r)||i.sendGoogleTagManagerEvent("config",r));let e=`${r}/${s}`;i.sendGoogleTagManagerEvent("event","conversion",{send_to:e})}t.fbq&&a&&t.fbq("track",a,{})}}(U,window,document),B=new class extends d{constructor(e,t,i){super(e,t,i),this.validatedForms=[]}initialize(e={}){try{let{window:t,document:i}=this,{selector:r}=e,s=[];if(s=r?i.querySelectorAll(`${r} form[data-type="contact-form"]`):i.querySelectorAll('form[data-type="contact-form"]'),i.querySelectorAll('input[type="tel"]').length&&!t.libphonenumber&&t?.luxuryPresence?.libs){let{loadJs:e,jsLibsMap:i}=t.luxuryPresence.libs,{libphonenumber:r}=i;e(r.jsSrc,this.attachValidation.bind(this,s))}else this.attachValidation(s);this.validatedForms=this.validatedForms.concat(s)}catch(e){console.log(e)}}destroy(){this.validatedForms=[]}attachValidation(e){e.forEach(e=>{e.querySelectorAll("input, select, textarea").forEach(e=>{this.applyFieldValidation(e)})})}applyFieldValidation(e){"tel"===e.getAttribute("type")&&this._applyPhoneValidation(e)}_applyPhoneValidation(e){let{window:t}=this;if(t.libphonenumber){let i=t.libphonenumber.isValidPhoneNumber;e.addEventListener("keyup",function(){if(this.hasAttribute("required")||this.value.replace(/\s/g,"").length)try{let e=this.value;i(e,"US")?this.setCustomValidity(""):this.setCustomValidity("Please enter a valid phone number.")}catch(e){this.setCustomValidity("Please enter a valid phone number.")}else this.setCustomValidity("")})}}}(U,window,document),D=new class extends d{constructor(e,t,i){super(e,t,i),this.forms=[],this.homeValuationService=new m(e,t,i)}initialize(e={}){try{let{document:t}=this,{selector:i}=e,r=[];(r=i?t.querySelectorAll(`${i} form[data-type="contact-form"]`):t.querySelectorAll('form[data-type="contact-form"]')).forEach(e=>{this._attachSubmitHandler(e)}),this.forms=this.forms.concat(r)}catch(e){console.log(e)}}destroy(){this.forms=[]}submitForm(e){this._handleSubmit(null,e).catch(e=>console.error(e))}_attachValidation(e){let{window:t}=this;e.querySelectorAll("input, select, textarea").forEach(e=>{t.luxuryPresence.validation.applyFieldValidation(e)})}_attachSubmitHandler(e){e.addEventListener("submit",t=>this._handleSubmit(t,e))}_extractFormValues(e){let t=new FormData(e),i={},r=[],s=/^name(?:-\d+)?$/;return t.forEach((e,t)=>{if("string"==typeof e){let a=e.trim();s.test(t)&&a&&r.push(a);let o=i[t];i[t]=o?`${o} ${a}`:a}else i[t]=e}),r.length?i.name=r.join(" ").trim():!i.name&&i.firstName&&(i.name=i.firstName,i.lastName&&(i.name+=` ${i.lastName}`)),this._deriveNameParts(i)}_deriveNameParts(e){if(e.firstName||!e.name)return e;let t=e.name.indexOf(" ");return -1===t?{...e,firstName:e.name}:{...e,firstName:e.name.slice(0,t),lastName:e.lastName||e.name.slice(t+1).trim()}}_buildSubmissionData(e,t,i){let{window:r,config:s}=this,a=Object.keys(e).filter(e=>!f.includes(e)).reduce((t,i)=>(t[i]=e[i],t),{}),{pageId:o,companyId:n,websiteId:l,pageMeta:d}=s,c=r.localStorage.getItem("utm_vars")||"{}",u=r.localStorage.getItem("referrer")||"",h=this._getFormId(i);return{activity:{author_email:e.email,author_name:e.name,firstName:e.firstName||void 0,lastName:e.lastName||void 0,author_phone:e.phone||e.phoneNumber,activity_source:e.source||"CONTACT_INQUIRY",comments_attributes:[{text:e.message||void 0}],source_url:r.location.href,content:{...a,...JSON.parse(c)}},page:{pageId:o,companyId:n,websiteId:l,pageMeta:{...d,formId:h}},companyId:n,referrer:u,fields:t}}_handleSubmissionSuccess(e){let{window:t}=this,i=e.dataset.delay||2e3;e.classList.remove("loading"),e.classList.remove("error"),e.classList.add("success"),e.querySelectorAll(".success").forEach(e
1942=>e.classList.remove("hide")),e.dispatchEvent(new Event("formsubmitted")),setTimeout(()=>{t.lpUI.hideClosestModal(e),e.reset(),t.lpUI.sideMenuHide(),e.querySelectorAll(".success").forEach(e=>e.classList.add("hide")),e.classList.remove("success")},i)}async _handleSubmit(e,t){if(e&&e.preventDefault(),!t.classList.contains("loading")){this._hideSubmissionError(t),t.classList.remove("error"),t.classList.add("loading");try{let e=this._extractFormValues(t);if(e.middleName)return void t.classList.remove("loading");let i=this._getFields(t),r=this._buildSubmissionData(e,i,t);u(this.window,this.document);let s=await this._waitForLeadSubmit(e=>this._submitLeadRequest(r,e));if(this._sendGAEvent(r),s?.redirected)return void this._showRedirectPending(t);this._handleSubmissionSuccess(t)}catch(e){console.error("Form submission failed:",e),t.dispatchEvent(new Event("formsubmiterror")),t.classList.remove("loading"),t.classList.add("error"),e.userMessage?this._showSubmissionError(t,e.userMessage):this._showSubmissionError(t,"Something went wrong. Please try again.")}}}async _waitForLeadSubmit(e){let t,i={expired:!1,expiresAt:Date.now()+6e3},r=new Promise(e=>{t=setTimeout(()=>{i.expired=!0,e(null)},6e3)}),s=e(i).catch(e=>{if(h(i))return null;throw e});try{return await Promise.race([s,r])}finally{clearTimeout(t)}}_showRedirectPending(e){if(e.classList.add(y),e.querySelector(`.${y}__indicator`))return;let t=this.document.createElement("div");t.className=`${y}__indicator`,t.setAttribute("role","status"),t.setAttribute("aria-label","Loading"),t.innerHTML='<span class="lp-i lp-i--spinner lp-i--pulse" aria-hidden="true"></span>',e.appendChild(t)}_aliasUserWithEventBus(e){try{if(!this.window.eventBusProvider?.alias||!this.window.eventBusProvider?.isIdentified||!this.window.eventBusProvider?.getDistinctId||!this.window.LuxuryPresenceEventBus?.generateUUIDv5FromCompanyEmail)return;if(this.window.eventBusProvider.isIdentified())return void console.log("[EventBus] User already identified, skipping alias");let t=e.activity?.author_email,{companyId:i}=this.config;if(!t||!i)return void console.warn("[EventBus] Missing required data for user alias");let r=this.window.eventBusProvider.getDistinctId();if(!r)return void console.warn("[EventBus] No anonymous ID available for alias");let s=this.window.LuxuryPresenceEventBus.generateUUIDv5FromCompanyEmail(i,t);this.window.eventBusProvider.alias({anonId:r,canonicalId:s}),console.log("[EventBus] User aliased with canonical ID")}catch(e){console.error("[EventBus] User alias failed:",e)}}async _submitLeadRequest(e,t){let{config:i}=this;return(this._aliasUserWithEventBus(e),i.myhomeDashboardEnabled&&(e.activity?.activity_source==="HOME_VALUATION"||e.activity?.activity_source==="HOME_VALUE"))?this.homeValuationService._submitHomeValuationRequest({...e,deadline:t}):fetch(`${i.leadIngesterUrl}/api/v1/leads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw e}))}_sendGAEvent(e){let{document:t}=this,i={hitType:"event",eventCategory:"button",eventAction:"click"};switch(e.activity.activity_source){case"NEWSLETTER_SIGNUP":i.eventLabel="Newsletter",t.sendGoogleTagManagerEvent("event","newsletter_signup");break;case"HOME_SEARCH":i.eventLabel="HomeSearch",t.sendGoogleTagManagerEvent("event","home_search");break;case"HOME_VALUE":case"HOME_VALUATION":i.eventLabel="HomeValue",t.sendGoogleTagManagerEvent("event","home_valuation");break;case"EBOOK":i.eventLabel="Ebook",t.sendGoogleTagManagerEvent("event","ebook_download");break;default:i={hitType:"pageview",page:"/thank-you"},t.sendGoogleTagManagerEvent("event","contact_inquiry")}t.sendGoogleAnalyticsEvent(i)}_getFields(e){let t=e.querySelectorAll("input, select, textarea"),i={};return t.forEach(t=>{let{id:r,name:s,type:a}=t;if(s===g)return!0;let o="";if(r){let i=e.querySelector(`label[for='${r}']`);i?o=i.textContent.trim():t.placeholder&&(o=t.placeholder.trim())}i[s]={label:o,type:t.tagName,inputType:"INPUT"===t.tagName?a:"text"}}),i}_getFormId(e){let t=e.closest("section[id^='section-'], footer[id], .modal[id^='modal-']");return t?.id?this._cleanFormId(t.id):""}_cleanFormId(e){for(let t of["section-","modal-"])if(e.startsWith(t))return e.substring(t.length);return e}_showSubmissionError(e,t){let i=e.querySelector(".submission-error-message");i||((i=this.document.createElement("div")).className="submission-error-message",i.setAttribute("role","alert"),e.appendChild(i)),i.textContent=t||"Something went wrong. Please try again.",i.style.display="block"}_hideSubmissionError(e){let t=e.querySelector(".submission-error-message");t&&(t.style.display="none")}}(U,window,document),O=new class extends d{constructor(e,t,i){super(e,t,i),this.retries=3,this.callbacks=[],this.id=`__googleMapsScriptId${Date.now()}`,this._apiKey="",this.reset()}set apiKey(e){this._apiKey=e,this.config.setGoogleMapsAPIKey(e)}get apiKey(){return this._apiKey}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.failed=!1,this.errors=[],this.onerrorEvent=null}destroy(){this.reset()}async getMapApiKey(){if(this.apiKey)return this.apiKey;let e=this._hadPreviousFailure(),t=!1;for(let i=1;i<=3;i+=1){let r=e&&!t;try{let e=await fetch(this._getMapKeyUrl(i,r));if(t=t||r,this._setFailureFlag(!1),!e.ok)throw Error(`Failed to fetch API key: ${e.status}`);let s=await e.text();if(!s)return"";return this.apiKey=s,this.apiKey}catch(e){console.error(e),i<3&&await this._delay(300*2**(i-1))}}return this._setFailureFlag(!0),""}_getMapKeyUrl(e,t){let i=[];e>1&&i.push(`attempt=${e}`),t&&i.push("recovered_after_failure=1");let r=i.length?`?${i.join("&")}`:"";return`${this._getBaseUrl()}/api/v1/map${r}`}_hadPreviousFailure(){try{return"1"===this.window.sessionStorage.getItem(v)}catch(e){return!1}}_setFailureFlag(e){try{e?this.window.sessionStorage.setItem(v,"1"):this.window.sessionStorage.removeItem(v)}catch(e){}}_delay(e){return new Promise(t=>{this.window.setTimeout(t,e)})}async createUrl(){let e=await this.getMapApiKey();if(!e)throw Error("Refusing to load Google Maps without an API key");
1942let t="https://maps.googleapis.com/maps/api/js";return t+`?callback=__googleMapsCallback&key=${e}&libraries=places`}async setScript(){let e;if(this.document.getElementById(this.id))return void this.callback();try{e=await this.createUrl()}catch(e){console.error(e),this.failed=!0,this.loading=!1,this.onerrorEvent=e,this.callback();return}let t=this.document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.document.head.appendChild(t)}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){let e=this.errors.length*2**this.errors.length;console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript().catch(e=>console.error(e))},e)}else this.failed=!0,this.onerrorEvent=e,this.callback()}deleteScript(){let e=this.document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(i=>{i?t(i):e()})})}loadCallback(e){this.callbacks.push(e),this.execute()}setCallback(){this.window.__googleMapsCallback=this.callback.bind(this)}resetIfRetryingFailed(){this.failed&&this.reset()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.window.google&&this.window.google.maps&&this.window.google.maps.version&&this.callback(),this.resetIfRetryingFailed(),this.done?this.callback():this.loading||(this.loading=!0,this.setCallback(),this.setScript().catch(e=>console.error(e)))}_getBaseUrl(){let{isBuilder:e,websiteApiGatewayUrl:t}=this.config;return e?t:""}resizeStaticMapDimensions(e,t){if(e<=1024&&t<=1024)return{width:e,height:t};let i=Math.min(1024/e,1024/t);return{width:parseInt(e*i),height:parseInt(t*i)}}convertThemeToStaticApiUrl(e){return e.map(e=>{let t=e.stylers.reduce((e,t)=>{let i=t.visibility?`visibility:${t.visibility}`:"",r=t.color?`color:${t.color.replace("#","0x")}`:"",s=t.lightness?`lightness:${t.lightness}`:"";return`${e}|${i}${r}${s}`},""),i=e.elementType?`|element:${e.elementType}`:"";return`feature:${e.featureType}${i}${t}`})}async getMapApiSignedUrl(e){try{let t=await fetch(`${this._getBaseUrl()}/api/v1/map/signature?${e}`);if(!t.ok)throw Error("Failed to fetch signed URL");let{url:i}=await t.json();return i}catch(e){return console.error(e),""}}generateStaticMapUrl(e,t,i,r,s,a){let{width:o,height:n}=this.resizeStaticMapDimensions(s,a),l={center:`${e},${t}`,zoom:i,scale:2,size:`${o}x${n}`,key:this.apiKey};r&&(l.style=this.convertThemeToStaticApiUrl(r));let d=new URLSearchParams;return Object.entries(l).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>d.append(e,t.toString())):d.append(e,t.toString())}),`https://maps.googleapis.com/maps/api/staticmap?${d.toString()}`}async generateDigitallySignedStaticMapUrl({srcWidth:e,srcHeight:t,theme:i,...r}){let{width:s,height:a}=this.resizeStaticMapDimensions(e,t),o={...r,size:`${s}x${a}`};i&&(o.style=this.convertThemeToStaticApiUrl(i));let n=new URLSearchParams;Object.entries(o).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.append(e,t.toString())):n.append(e,t.toString())});let l=n.toString();try{return await this.getMapApiSignedUrl(l)}catch(e){return console.error(e),""}}}(U,window,document),q=new class extends d{destroy(){}updateQueryString(e,t,i){i||(i=this.window.location.href);let r=RegExp(`([?&])${e}=.*?(&|#|$)`,"i"),s="";null!=t&&(Array.isArray(t)?t.length&&(s=this.serializeArray(e,t)):"object"==typeof t?(r=RegExp(`([?&])${e}\\[[^=]*\\]=.*?(&|#|$)`,"i"),s=this.serializeObj(t,"",e)):s=`${e}=${encodeURIComponent(t)}`);let a=i.split("#"),o=a[0];if(r.test(i)){let e=o;for(s=s?`$1${s}$2`:"$1";r.test(e);)o=e.replace(r,s),e=e.replace(r,"$1");o=o.replace(/(&|\?)$/,"")}else if(s){let e=-1!==o.indexOf("?")?"&":"?";o+=`${e}${s}`}return void 0!==a[1]&&null!==a[1]&&(o+=`#${a[1]}`),o}getParameterByName(e,t){t||(t=this.window.location.href),e=e.replace(/[[\]]/g,"\\$&");let i=RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`),r=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat();if(!r.length){let i=RegExp(`[?&]${e}(\\[.*?\\])=(.*?)(?=&|#|$)`,"g");return r=Array.from(RegExp.prototype[Symbol.matchAll].call(i,t)).flat(),this._parseParamToObject(r,"advancedFilters"===e)}return r.length>3?r.reduce((e,t,i)=>((i+1)%3==0&&e.push(decodeURIComponent(t.replace(/\+/g," "))),e),[]):r[2]?decode
1942URIComponent(r[2].replace(/\+/g," ")):""}makePageKey(e){return e.replace("section-","").replace(/-/g,"")}makeParamKey(e,t){return e.global?e.urlKey:`${t}-${e.urlKey}`}deserializeParams(e,t){let i={},r=this.makePageKey(t),s=this.getParameterByName(r);return s&&(i.page=parseInt(s)),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,r),s=this.getParameterByName(t);if("int"===e.type)isFinite(s=parseInt(s))||(s=null);else if("bool"===e.type||"boolean"===e.type)s="true"===s||"false"!==s&&null;else if("json"===e.type)try{s=JSON.parse(s)}catch(e){}i[e.formKey||e.param]=s}),i}serializeParams(e,t,i){let r=this.window.location.href,s=this.makePageKey(t);return r=this.updateQueryString(s,i.page,r),Array.isArray(e)&&e.forEach(e=>{let t=this.makeParamKey(e,s),a=i[e.formKey||e.param];"json"===e.type&&null!=a&&(a=JSON.stringify(a)),r=this.updateQueryString(t,a,r)}),r}formatSliderAtom(e,t=""){return t+(Number.isInteger(e)?e:e.toFixed(2))}formatSliderValue(e,t="",i=""){return e<1e3?this.formatSliderAtom(e,t):e<1e6?`${this.formatSliderAtom(e/1e3,t)}${i}K`:`${this.formatSliderAtom(e/1e6,t)}${i}M`}formatSliderPriceRange(e,t,i,r){return t.min===e&&0!==e?`${r.lowPrefix}${this.formatSliderValue(e,i," ")}`:t.max===e?`${this.formatSliderValue(e,i," ")}${r.highSuffix}`:`${this.formatSliderValue(e,i," ")}`}formatSliderAreaRange(e,t,i,r){return t.min===e&&0!==e?`${r.lowPrefix}${this.formatSliderValue(e)} ${i}`:t.max===e?`${this.formatSliderValue(e)}${r.highSuffix} ${i}`:`${this.formatSliderValue(e)} ${i}`}getSearchFormValues(e){let{queryElement:t,priceSliderElement:i,areaSliderElement:r,neighborhoodSelect:s}=e,a={};if(t&&(a.search=t.value||null),i){let e=i.value.split(";"),t=parseInt(i.dataset.min),r=parseInt(i.dataset.max),s=parseInt(e[0]),o=parseInt(e[1]);a.priceMin=s!==t?s:null,a.priceMax=o!==r?o:null}if(r){let e=r.value.split(";"),t=parseInt(r.dataset.min),i=parseInt(r.dataset.max),s=parseInt(e[0]),o=parseInt(e[1]);a.areaMin=s!==t?s:null,a.areaMax=o!==i?o:null}return s&&(a.neighborhoodId=s.value||null),a}serializeObj(e,t="",i=""){let r=[];for(let s in e)if(e.hasOwnProperty(s)){let a,o=e[s];if(i){let e=t?`[${t}][${s}]`:`[${s}]`;a=`${i}${e}`}else a=t?`${t}[${s}]`:s;null!==o&&Array.isArray(o)?o.length&&r.push(this.serializeArray(a,o)):null!==o&&"object"==typeof o?r.push(this.serializeObj(o,a)):r.push(`${a}=${encodeURIComponent(o)}`)}return r.join("&")}serializeArray(e,t,i=""){let r=[];return t.forEach(t=>{let s=i?`${i}${e}`:e;r.push(`${s}=${encodeURIComponent(t)}`)}),r.join("&")}_parseParamToObject(e,t=!1){if(!e.length)return null;let i={};for(let r=0;r<e.length;r++)if((r+1)%3==0){let s=decodeURIComponent(e[r].replace(/\+/g," ")),a=e[r-1];Object.assign(i,this._setObjectPath(a,s,i,t))}return i}_setObjectPath(e,t,i,r=!1){let s=e.split(/[\[\]]/).filter(Boolean),a=["in","nin","btw","ciin","cinin"],o={},n=o,l=((e,t,i)=>{if(!t)return;let r=(Array.isArray(t)?t:t.match(/([^[.\]])+/g)).reduce((e,t)=>e&&e[t],e);return void 0===r?i:r})(i,s.join("."));return s.forEach((e,o)=>{o===s.length-1?l?n[e]=Array.isArray(l)?[...l,t]:[l,t]:n[e]=r&&a.includes(e)?[t]:t:(n[e]=i[e]?i[e]:{},n=n[e])}),o}}(U,window,document),V=new class extends d{constructor(e,t,i){super(e,t,i),this._createLightbox=this._createLightbox.bind(this),this.expandSliders=[]}initialize(e={}){try{let{document:e}=this,t=e.querySelectorAll(".has-mobile-expand");t.forEach(e=>{this._addExpandButton(e)}),this.expandSliders=this.expandSliders.concat(t)}catch(e){console.log(e)}}destroy(){let{document:e}=this;e.querySelectorAll(".lp-expand-btn, .lp-expand-btn-wrapper").forEach(e=>e.remove()),this.expandSliders=[]}_addExpandButton(e){let{document:t}=this,i=e.closest("section[id]"),r=e.dataset.append,s=i.querySelector(".lp-expand-btn");if(!s)if((s=t.createElement("button")).className="lp-expand-btn",s.setAttribute("aria-label","Open a lightbox"),s.innerHTML='<span class="lp-i lp-i--expand-alt" aria-hidden="true"></span>',r){let e=i.querySelector(r);e&&e.appendChild(s)}else{let i=t.createElement("div");i.className="lp-expand-btn-wrapper",i.style.position="relative",i.appendChild(s),e.parentNode.insertBefore(i,e.nextSibling)}s.addEventListener("click",()=>{this._createLightbox({slider:e,section:i})})}_createLightbox({slider:e,section:t,initialIndex:i}){let{window:r,document:s}=this,a=`lightbox-for-${t?.id}`,o=r.$&&r.$.fn.slick,n=o&&e.slick,l="function"==typeof r.Splide,d=e.classList.contains("is-initialized")&&e.classList.contains("splide");function c(){let t=s.createElement("div");t.id=a,t.className="lp-lightbox",t.setAttribute("tabindex","-1"),t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.innerHTML=` 1943 <button class="lp-lightbox__close" aria-label="close modal"></button> 1944 <div class="lp-lightbox__content"> 1945 <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery"> 1946 <div class="splide__arrows"> 1947 <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button> 1948 <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button> 1949 </div> 1950 <div class="splide__track"> 1951 <ul class="splide__list"></ul> 1952 </div> 1953 </div> 1954 </div> 1955 `,"function"==typeof r.lpUI.requestScrollLock?r.lpUI.requestScrollLock(a):s.body.style.overflow="hidden",s.body.appendChild(t);let o=t.querySelector(".lp-lightbox__carousel"),n=o.querySelector(".splide__list");t.classList.add("show"),(d?e.querySelectorAll(".splide__slide:not(.splide__slide--clone) img"):e.querySelectorAll("img")).forEac
1955h(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=s.createElement("li");i.className="lp-lightbox__slide splide__slide",i.appendChild(t),n.appendChild(i)});let l=new r.Splide(o,{rewind:!0,arrows:!0,arrowPath:"",type:"loop",clones:1,pagination:!1,perPage:1,perMove:1});l.mount(),void 0!==i&&i>=0&&l.go(i),setTimeout(()=>{t.focus()},100);let c=e=>{if(!t.classList.contains("show"))return;let i=t.querySelector(".splide__arrow--prev"),r=t.querySelector(".splide__arrow--next"),s=t.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&i?(e.preventDefault(),i.click()):"ArrowRight"===e.key&&r?(e.preventDefault(),r.click()):"Escape"===e.key&&s&&(e.preventDefault(),s.click())};s.addEventListener("keydown",c),t.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",c),t.classList.remove("show"),l&&l.destroy(),"function"==typeof r.lpUI.releaseScrollLock?r.lpUI.releaseScrollLock(a):s.body.style.overflow="",t.remove()})}if("function"==typeof r.lpUI.requestScrollLock?r.lpUI.requestScrollLock(a):s.body.style.overflow="hidden",o&&!d){let t,i,o,l,d;i={arrows:!0,dots:!1,infinite:!0,draggable:!0,prevArrow:'<button type="button" class="lp-lightbox-arrow--prev lp-lightbox-arrow" aria-label="Previous"></button>',nextArrow:'<button type="button" class="lp-lightbox-arrow--next lp-lightbox-arrow" aria-label="Next"></button>'},(o=s.createElement("div")).id=a,o.className="lp-lightbox",o.setAttribute("tabindex","-1"),o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.innerHTML=` 1956 <button class="lp-lightbox__close" aria-label="close modal"></button> 1957 <div class="lp-lightbox__content"> 1958 <div class="lp-lightbox__carousel"></div> 1959 </div> 1960 `,s.body.appendChild(o),l=o.querySelector(".lp-lightbox__carousel"),o.classList.add("show"),n?(t=e.slick.$slides.find("img"),i.initialSlide=e.slick?.currentSlide||0,t.each(function(){r.$(".lp-lightbox__carousel").append(r.$(this).clone(!1).removeAttr("style").wrap('<div class="lp-lightbox__slide"></div>').parent())})):(t=e.querySelectorAll("img")).forEach(e=>{let t=e.cloneNode(!0);t.removeAttribute("style");let i=s.createElement("div");i.className="lp-lightbox__slide",i.appendChild(t),l.appendChild(i)}),r.$(l).slick(i),setTimeout(()=>{o.focus()},100),d=e=>{if(!o.classList.contains("show"))return;let t=o.querySelector(".lp-lightbox-arrow--prev"),i=o.querySelector(".lp-lightbox-arrow--next"),r=o.querySelector(".lp-lightbox__close");"ArrowLeft"===e.key&&t?(e.preventDefault(),t.click()):"ArrowRight"===e.key&&i?(e.preventDefault(),i.click()):"Escape"===e.key&&r&&(e.preventDefault(),r.click())},s.addEventListener("keydown",d),o.querySelector(".lp-lightbox__close").addEventListener("click",()=>{s.removeEventListener("keydown",d),o.classList.remove("show");let t=l?.slick?r.$(l).slick("slickCurrentSlide"):0;l?.slick&&r.$(l).slick("unslick"),n&&r.$(e).slick("slickGoTo",t),"function"==typeof r.lpUI.releaseScrollLock?r.lpUI.releaseScrollLock(a):s.body.style.overflow="",o.remove()})}else l?c():(r.luxuryPresence.libs.loadCss(r.luxuryPresence.libs.jsLibsMap.splide.cssSrc),r.luxuryPresence.libs.loadJs(r.luxuryPresence.libs.jsLibsMap.splide.jsSrc,()=>{c(),r.luxuryPresence.libs.jsLibsMap.splide.isLoaded=!0}))}}(U,window,document),F=new class extends d{destroy(){this.window.divolte||(this.window.divolteLp=function(){(this.window.divolteLp.q=this.window.divolteLp.q||[]).push(arguments)})}initialize(e={}){let{divolteServiceUrl:t}=this.config;t&&!this.window.divolte&&this.loadScript()}loadScript(){let{divolteServiceUrl:e}=this.config,t=this.document.createElement("script");t.id="divolte-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/divolte.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){(this.window.divolteLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.divolteLp=this.divolteLp.bind(this)}divolteLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpEvent(e,t){if(!e.includes("pageView"))return void console.log(`${e} IS NOT SUPPORTED`);let{companyId:i,templateId:r,websiteId:s,pageId:a,shareId:o,pageMeta:n}=this.config;this.window.divolte.signal(e,Object.assign({companyId:i,templateId:r,websiteId:s,pageId:a,shareId:o,pageMeta:n},t))}sendLpPageView(){this.sendLpEvent("pageView",{})}}(U,window,document),j=new class extends d{constructor(e,t,i){super(e,t,i)}initialize(e={}){(void 0!==e.enabled?e.enabled:this.config.eventBus?.enabled)&&this.config.eventBus?.apiKey&&this.config.eventBus?.url&&this.loadScript()}loadScript(){let{eventBusUrl:e}=this.config,t=this.document.createElement("script");t.id="posthog-script",t.type="text/javascript",t.defer=!0,t.async=!0,t.src=`${e}/v2.8.0/event-bus-js.js`,this.document.head.appendChild(t),t.addEventListener("load",this.executeQueue.bind(this))}executeQueue(){this.window.LuxuryPresenceEventBus&&(this.window.eventBusProvider=this.window.LuxuryPresenceEventBus.createEventBusProvider({apiKey:this.config.eventBus.apiKey,host:this.config.eventBus.url,defaultSource:"frontend://website-render-engine"}
1960)),(this.window.eventBusLp.q||[]).forEach(([e,t])=>{this[e](t)}),this.window.eventBusLp=this.eventBusLp.bind(this)}destroy(){if(!this.window.eventBusProvider){this.window.eventBusLp=function(){(this.window.eventBusLp.q=this.window.eventBusLp.q||[]).push(arguments)};return}this.window.eventBusProvider.shutdown()}sendLpEvent(e,t){if("user.activity.page.viewed"!==e)return void console.log(`${e} IS NOT SUPPORTED`);if(!this.window.eventBusProvider)return;let{companyId:i}=this.config;try{this.window.eventBusProvider.capture(e,{company:i,data:{}})}catch(e){console.log("EventBus capture error:",e)}}eventBusLp(e,t){try{this[e](t)}catch(e){console.log(e)}}sendLpPageView(){this.sendLpEvent("user.activity.page.viewed",{})}}(U,window,document),H=new class extends d{constructor(e,t,i){super(e,t,i),this.successListeners=[],this._listenToMessages=this._listenToMessages.bind(this),this._listenToOneTapMessage=this._listenToOneTapMessage.bind(this)}initialize(e={}){try{e.googleSignOnEnabled&&!e.iframe&&this._renderGoogleOneTap(),this.document.querySelectorAll('div[data-signin-type="google-sign-in"]').forEach(e=>this._convertGoogleSignIn(e)),this.document.querySelectorAll('div[data-signin-type="facebook-sign-in"]').forEach(e=>this._convertFacebookSignIn(e))}catch(e){console.log(e)}}destroy(){this.successListeners.forEach(e=>{this.window.removeEventListener("message",this._listenToMessages),this.window.removeEventListener("message",this._listenToOneTapMessage),this.window.removeEventListener(w,this.window[e])})}_renderGoogleOneTap(){if(!this._isGoogleOneTapOnCooldown()){let e=this.document.createElement("div");google.accounts.id.initializeIntermediate({src:this._buildUrlAndCopyAttributes(e,e,"googleOneTap")}),this.window.localStorage.removeItem("googleOneTapExpiration"),this.window.addEventListener("message",this._listenToOneTapMessage)}}_listenToOneTapMessage(e){let t="show_intermediate_iframe",{buyerSellerServiceUrl:i}=this.config,{data:r,origin:s}=e,{type:a,height:o,event:n,source:l,token:d}=r;if(a===t||"hide_intermediate_iframe"===a){let e=this.document.getElementById("onetap_google_intermediate_iframe");e&&(e.style.height=o,e.style.display=a===t?"unset":"none")}s===i&&"GOOGLE_SIGN_ON"===l&&("success"===n?(this._setExpirationLsItem(864e5),this._handleQualifyingQuestionsModal(d)):"cancel"===n&&this._setExpirationLsItem(72e5))}_setExpirationLsItem(e){let t=new Date().getTime()+e;this.window.localStorage.setItem("googleOneTapExpiration",t)}_isGoogleOneTapOnCooldown(){return Number(this.window.localStorage.getItem("googleOneTapExpiration"))>new Date().getTime()}_convertGoogleSignIn(e){this._replaceWithIframe("googleSignIn",e)}_convertFacebookSignIn(e){this._replaceWithIframe("facebookSignIn",e)}_replaceWithIframe(e,t){this._attachSuccessCallback(t);let i=this.document.createElement("iframe");i.src=this._buildUrlAndCopyAttributes(t,i,e),i.dataset.isSocialOauthButton=!0,t.replaceWith(i)}_listenToMessages(e){let{buyerSellerServiceUrl:t}=this.config;if(e.origin===t&&"success"===e.data.event){let e=new Event(w);this.window.dispatchEvent(e),u(this.window,this.document),this.successListeners.forEach(t=>{this.window[t]?this.window[t](e):console.error(`Callback function ${t} not found on window object`)}),this.document.documentElement.classList.add("is-login-success")}}_attachSuccessCallback(e){this.window.addEventListener("message",this._listenToMessages);let t=e.dataset.onSuccessFunctionName;t&&this.successListeners.push(t)}_buildUrlAndCopyAttributes(e,t,i){let{buyerSellerServiceUrl:r,companyId:s,websiteId:a,pageId:o,pageMeta:n}=this.config,{location:l}=this.window,d=l.origin+l.pathname,c=new URL(`${r}/buttons/${i}`),u=this.window.localStorage.getItem("utm_vars"),h=this.window.localStorage.getItem("referrer");c.searchParams.append("companyId",s),c.searchParams.append("websiteId",a),c.searchParams.append("pageId",o),c.searchParams.append("sourceUrl",d),c.searchParams.append("pageMeta",JSON.stringify(n)),u&&c.searchParams.append("utm",u),h&&c.searchParams.append("referrer",h);let p=["data-size","data-width","data-text","data-button-type","data-shape","data-layout","data-max-rows","data-use-continue-as","data-type","data-theme","data-logo_alignment","data-locale"];
1960return Array.from(e.attributes).forEach(e=>{p.includes(e.nodeName)?c.searchParams.append(e.nodeName,e.nodeValue):t.setAttribute("id"===e.nodeName?"data-id":e.nodeName,e.nodeValue)}),c.toString()}_decodeToken(e){try{let t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),i=4-t.length%4,r=4===i?t:t+"=".repeat(i);return JSON.parse(atob(r))}catch(e){return null}}_handleQualifyingQuestionsModal(e){if(e&&this.window.luxuryPresence&&this.window.luxuryPresence.qualifyingQuestionsModal){let t=this._decodeToken(e);t&&t.email&&this.window.luxuryPresence.qualifyingQuestionsModal.showModal(t.email,"Google Sign On")}}}(U,window,document),G=new class extends d{constructor(e,t,i){super(e,t,i),this.showModal=this.showModal.bind(this),this.hasModalBeenSubmitted=this.hasModalBeenSubmitted.bind(this),this.modalId="qualifying-questions-modal",this.cookieKey="qualifyingQuestionsModalSubmitted",this.qualifyingQuestionsModalEnabled=!0,this.eventListeners=[],this.timeouts=[]}initialize(e={}){this.qualifyingQuestionsModalEnabled=e.qualifyingQuestionsModalEnabled??this.qualifyingQuestionsModalEnabled,this.qualifyingQuestionsModalEnabled&&this.attachModalCloseListeners()}destroy(){this.eventListeners.forEach(({element:e,event:t,handler:i})=>{e&&e.removeEventListener&&e.removeEventListener(t,i)}),this.timeouts.forEach(e=>{clearTimeout(e)}),this.restoreBodyScroll(),this.eventListeners=[],this.timeouts=[]}hasModalBeenSubmitted(){return"true"===this.getCookie(this.cookieKey)}setModalSubmittedCookie(){this.setCookie(this.cookieKey,"true",365)}showModal(e,t){!this.qualifyingQuestionsModalEnabled||this.hasModalBeenSubmitted()||(this.updateEmailValue(e),this.updateTriggerSourceValue(t),this.showModalElement())}getModalElement(){let e=this.document.getElementById(this.modalId);return e||console.error("Modal element not found:",this.modalId),e}updateEmailValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector('input[name="email"]');i&&"string"==typeof e&&(i.value=e)}updateTriggerSourceValue(e){let t=this.getModalElement();if(!t)return;let i=t.querySelector(`#${this.modalId}-triggerSource`);i&&"string"==typeof e&&(i.value=e)}showModalElement(){let e=this.getModalElement();e&&(e.style.display="flex",this.blockBodyScroll())}getCookie(e){let t=`; ${this.document.cookie}`.split(`; ${e}=`);return 2===t.length?decodeURIComponent(t.pop().split(";").shift()):null}setCookie(e,t,i){let r="";if(i){let e=new Date;e.setTime(e.getTime()+864e5*i),r=`; expires=${e.toUTCString()}`}let s="; path=/; SameSite=Lax";this.window&&this.window.location&&"https:"===this.window.location.protocol&&(s+="; Secure"),this.document.cookie=`${e}=${encodeURIComponent(t||"")}${r}${s}`}blockBodyScroll(){this._prevOverflow=this.document.body.style.overflow,this.document.body.style.overflow="hidden"}restoreBodyScroll(){this.document.body.style.overflow=this._prevOverflow||"",this._prevOverflow=null}attachModalCloseListeners(){let e=this.getModalElement();if(!e)return;let t=this.document.getElementById(`${this.modalId}-form`);if(t){let i=()=>{this.setModalSubmittedCookie();let t=setTimeout(()=>{e.style.display="none",this.restoreBodyScroll()},100);this.timeouts.push(t)};t.addEventListener("formsubmitted",i),this.eventListeners.push({element:t,event:"formsubmitted",handler:i})}let i=e.querySelector('[data-dismiss="modal"]');if(i){let t=()=>{e.style.display="none",this.restoreBodyScroll()};i.addEventListener("click",t),this.eventListeners.push({element:i,event:"click",handler:t})}let r=t=>{(t.target===e||t.target.id===this.modalId)&&(e.style.display="none",this.restoreBodyScroll())};e.addEventListener("click",r),this.eventListeners.push({element:e,event:"click",handler:r})}}(U,window,document),K=new class extends d{constructor(e,t,i){super(e,t,i),this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null,this.validationCacheDuration=3e5}destroy(){this.isValidating=!1,this.lastValidationResult=null,this.lastValidationTime=null}async validateSession(e={}){let{useCache:t=!0}=e;if(t&&null!==this.lastValidationResult&&this.lastValidationTime&&Date.now()-this.lastValidationTime<this.validationCacheDuration)return this.lastValidationResult;if(this.isValidating)return null!==this.lastValidationResult&&this.lastValidationResult;this.isValidating=!0;let i=` 1961 query { 1962 validSession { 1963 success 1964 } 1965 } 1966 `;try{let e=await this.window.fetch("/graphql",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({query:i})});if(!e.ok)return console.error("SessionController: HTTP error during session validation",e.status),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let t=await e.json();if(t.errors)return this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1;let r=t.data?.validSession?.success===!0;return this.lastValidationResult=r,this.lastValidationTime=Date.now(),r}catch(e){return console.error("SessionController: Error validating session",e),this.lastValidationResult=!1,this.lastValidationTime=Date.now(),!1}finally{this.isValidating=!1}}clearCache(){this.lastValidationResult=null,this.lastValidationTime=null}}(U,window,document),z=new class extends d{constructor(e,t,i){super(e,t,i),this.consentListener=null,this.eventName=null}destroy(){this.consentListener&&this.eventName&&(this.document.removeEventListener(this.eventName,this.consentListener),this.consentListener=null)}loadScript(){this.document.getElementById("posthog-script")||this.window.luxuryPresence.eventBus.initialize({enabled:this.config.eventBus?.enabled}),this.document.getElementById("divolte-script")||this.window.luxuryPresence.divolte.initialize({})}removeScripts(){this.window.luxuryPresence?.eventBus?.destroy?.(),this.window.luxuryPresence?.divolte?.destroy?.(),this.document.getElementById("posthog-script")?.remove(),this.document.getElementById("divolte-script")?.remove()}async initialize(e={}){let t=b[e.provider];if(!t)return;this.eventName=t.eventName;let i=await this.window.luxuryPresence.session.validateSession();(t.hasAnalyticsConsent(this.document,this.window)||i)&&this.loadScript(),this.consentListener||(this.consentListener=e=>{t.isAnalyticsAccepted(e.detail)?this.loadScript():this.removeScripts()},this.document.addEventListener(t.eventName,this.consentListener))}}(U,window,document),Q=new class extends d{destroy(){}transformVariables(e,t){let i;return _(i={...t},["testimonialId"]),I(i,["testimonialId"],"testimonialIds"),0===i.limit&&delete i.limit,(void 0===i.limit||null===i.limit)&&(("testimonials"===e||"testimonialsCount"===e)&&(i.limit=50),("agents"===e||"agentsCount"===e||"developments"===e||"developmentsCount"===e||"neighborhoods"===e||"neighborhoodsCount"===e||"posts"===e||"postsCount"===e||"pressReleases"===e||"pressReleasesCount"===e)&&(i.limit=100)),!function(e){let{sortDir:t}=e;"string"==typeof t&&t.includes("_")&&(e.sortDir=t.replace(/_/g," "))}(i),!function(e,t){switch(t){case"agent":break;case"testimonials":case"testimonialsCount":_(e,["testimonialIds"]);break;case"agents":case"agentsCount":_(e,["officeId","teamId","developmentId","agentIds","tags"]),I(e,["officeId"],"officeIds"),I(e,["teamId"],"teamIds"),I(e,["developmentId"],"developmentIds");break;case"neighborhoods":case"neighborhoodsCount":_(e,["neighborhoodIds","neighborhoodId"]),I(e,["neighborhoodIds","neighborhoodId"],"neighborhoodId");break;case"developments":case"developmentsCount":_(e,["agentId","neighborhoodIds","neighborhoodId","developmentIds","tag"]),e.agentId&&Array.isArray(e.agentId)&&([e.agentId]=e.agentId),I(e,["neighborhoodIds","neighborhoodId"],"neighborhoodIds");break;case"properties":case"propertiesCount":_(e,["statusIds","statusId","propertyTypeIds","propertyTypeId","propertyId","networkId","propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","
1966spaceTypeIds","addressState","addressCity","backfillProviders","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"]),["propertyIds","agentIds","teamIds","officeIds","neighborhoodIds","spaceTypeIds","backfillMLSListingIds","backfillMLSAgentIds","backfillMLSOfficeIds"].forEach(t=>I(e,[t],t)),I(e,["statusIds","statusId"],"propertyStatusId"),e.excludeStatusId&&(e.excludePropertyStatusId=e.excludeStatusId,delete e.excludeStatusId),I(e,["propertyTypeIds","propertyTypeId"],"propertyTypeId"),I(e,["networkId"],"networkId"),I(e,["propertyId"],"propertyIds"),["salesPriceGTE","salesPriceLTE","leasePriceGTE","leasePriceLTE","livingSpaceSizeGTE","livingSpaceSizeLTE"].forEach(t=>{null!=e[t]&&(e[t]=Math.trunc(Number(e[t])))});break;case"posts":case"postsCount":_(e,["categoryIds","categoryId","neighborhoodId"]),void 0!==e.order&&(e.sort=e.order,delete e.order),I(e,["categoryIds","categoryId"],"categoryId");break;case"postCategories":_(e,["categoryId","categoryIds"]),void 0!==e.order&&(e.sort=e.order,delete e.order),I(e,["categoryIds","categoryId"],"categoryId");break;case"pressReleases":case"pressReleasesCount":_(e,["pressReleaseId","categories","propertyId","developmentId","agentId","teamId"]),I(e,["pressReleaseId"],"pressReleaseIds");break;case"offices":case"officesCount":_(e,["officeId","officeIds","tags"]),I(e,["officeId"],"officeIds");break;case"teams":case"teamsCount":_(e,["teamId","teamIds"]),I(e,["teamId"],"teamIds");break;case"pois":_(e,["categories"]),Array.isArray(e.categories)&&(e.categories=e.categories.map(e=>e.toLowerCase())),"string"==typeof e.sortBy&&(e.sortBy=e.sortBy.toLowerCase())}}(i,e),i}transformResponse(e,t){return"agent"===e?C(t,E):"agents"===e||"agentsCount"===e?k(t,A):"neighborhood"===e?C(t,L):"neighborhoods"===e||"neighborhoodsCount"===e?k(t,x):"development"===e?C(t,$):"developments"===e||"developmentsCount"===e?k(t,T):t}transformPage(e){return{items:e&&e.items||[],count:e&&e.total||0}}applyPropertyDisclaimers(t,i){if(!Array.isArray(t)||!t.length||!i||!i.length)return Promise.resolve(t);let r=t.filter(e=>e&&e.vendorId&&e.mlsId).map(e=>({feedId:e.vendorId,listingId:e.mlsId,officeName:e.officeName??null,agentMlsId:e.mlsAgentId??null,officeMlsId:e.mlsOfficeId??null,attributionContact:e.attributionContact??null,status:e.status??null,syncedAt:e.syncedAt??null})),s=e=>{let r={};return(e||[]).forEach(e=>{r[`${e.feedId}:${e.listingId}`]=e}),t.map(e=>{let t=e&&r[`${e.vendorId}:${e.mlsId}`],s={};return i.forEach(e=>{let i=t?t[P[e]]:void 0;s[e]=i??null}),{...e,...s}})};if(!r.length)return Promise.resolve(s([]));let{websiteId:a}=this.config;return this.window.superagent?this.window.superagent.post(`${this.window.luxuryPresence.defaults.routerUrl}/graphql`).withCredentials().send({query:e(M),variables:{input:{websiteId:"string"==typeof a?a:void 0,properties:r}}}).then(e=>s(e.body&&e.body.data&&e.body.data.propertyDisclaimers),e=>(console.warn("[RouterApiController] propertyDisclaimers lookup failed:",e),s([]))):Promise.resolve(s([]))}}(U,window,document);function W(e,t){if(window.luxuryPresence[e])try{window.luxuryPresence[e].destroy()}catch(e){console.log(e)}window.luxuryPresence[e]=t}W("config",U),W("modals",N),W("buttons",R),W("validation",B),W("contactForms",D),W("mapApiLoader",O),W("pagination",q),W("expandSliders",V),W("divolte",F),W("eventBus",j),W("oauth",H),W("qualifyingQuestionsModal",G),W("session",K),W("consent",z),W("redirects",{checkHstRedirect:function(e){let{config:t}=window.luxuryPresence;return!t.hvStepTwoCaptureEnabled&&!!t.hstValuationRedirectEnabled&&!!t.mlsEnabled&&!!t.myhomeDashboardEnabled&&(window.location.href=`/home-search/home-valuation?address=${encodeURIComponent(e)}`,!0)},destroy(){}}),W("routerApi",Q),window.luxuryPresence.formatSliderPriceRange=q.formatSliderPriceRange.bind(q),window.luxuryPresence.formatSliderAreaRange=q.formatSliderAreaRange.bind(q),window.luxuryPresence.getSearchFormValues=q.getSearchFormValues.bind(q),window.luxuryPresence.handlebarsHelpersFactory=function(i){return e(t)(i,{isEqual:(e,t)=>e==t})}})(); 1967//# sourceMappingURL=lp-sdk.js.map 1968 1969 </script>
1969 1970 1971
1971<script> 1972 var lpGlobalInitialized = false; 1973 1974 function lpGlobalInit () { 1975 if (lpGlobalInitialized) { 1976 return; 1977 } 1978 lpGlobalInitialized = true; 1979 // Initialize wow animation plugin only according to turbolinks 1980 var wow; 1981 if (window.WOW) { 1982 wow = new WOW({ 1983 animateClass: 'animated', 1984 offset: wowOffset, 1985 live: false, 1986 callback: function(box) {} 1987 }); 1988 } 1989 // Initialize handlebar helpers only once 1990 function handlebarsInit() { 1991 if (!window.Handlebars) { 1992 return; 1993 } 1994 HandlebarsIntl.registerWith(Handlebars); 1995 Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars)); 1996 } 1997 1998 handlebarsInit(); 1999 2000 /* Initialize Luxury Presence SDK */ 2001 try { 2002 window.luxuryPresence.config.setCompany("8968d612-eb72-4a05-b33e-bb0168e8e981", {}); 2003 window.luxuryPresence.config.setWebsite("f2a98354-14db-477e-b30c-6392a52fbac4", { 2004 myhomeDashboardEnabled: true, 2005 mlsEnabled: true, 2006 hstValuationRedirectEnabled: true, 2007 hvStepTwoCaptureEnabled: false 2008 }); 2009 const url = new URL(window.location.href); 2010 const shareId = url.searchParams.get('shareId'); 2011 window.luxuryPresence.config.setPage("c00a7df3-0071-4aee-8353-241b49373388", { 2012 sourceResource: "", 2013 pageElementId: "", 2014 pageQueryVariables: {}, 2015 shareId: "", 2016 }); 2017 window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {}); 2018 window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {}); 2019 window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {}); 2020 window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {}); 2021 window.luxuryPresence.config.setEventBus({ 2022 enabled: true, 2023 apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr", 2024 url: "https://p.luxurypresence.com", 2025 }); 2026 window.luxuryPresence.config.setTemplateId("dbfbedc7-c7e2-4812-86ee-0ee198862c21", {}); 2027 window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {}); 2028 window.luxuryPresence.buttons.initialize({}); 2029 window.luxuryPresence.consent.initialize({ provider: 'lp-consent' }); 2030 window.luxuryPresence.contactForms.initialize({}); 2031 window.luxuryPresence.validation.initialize({}); 2032 window.luxuryPresence.expandSliders.initialize({}); 2033 window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false }); 2034 window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true }); 2035 } catch (e) { 2036 console.log(e); 2037 } 2038 2039 /* Inject Section Specific Javascript */ 2040 try { 2041(function init(sectionDomId) { 2042 const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content'); 2043 if (disclaimerLabel) { 2044 const input = disclaimerLabel.querySelector('input'); 2045 if (input) { 2046 input.setAttribute('id', `${sectionDomId}-termsAccepted`); 2047 input.value = 'true'; 2048 const label = document.createElement('label'); 2049 label.setAttribute('for', `${sectionDomId}-termsAccepted`); 2050 label.classList.add('lp-visually-hidden'); 2051 label.textContent = 'Opt in/Disclaimer Consent:'; 2052 disclaimerLabel.prepend(label); 2053 } 2054 } 2055 function setHttp(link) { 2056 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 2057 link = 'https://' + link; 2058 } 2059 return link; 2060 } 2061 const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link'); 2062 socialLinks.forEach(linkElement => { 2063 const href = linkElement.getAttribute('href'); 2064 if (href) { 2065 linkElement.setAttribute('href', setHttp(href)); 2066 } 2067 }); 2068 const redirectLink = $('#' + sectionDomId + ' .redirect-link'); 2069 if (redirectLink.length) { 2070 const rawHref = setHttp(redirectLink.attr('href')); 2071 let formEvent; 2072 if (rawHref) { 2073 formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset'; 2074 $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () { 2075 redirectLink.attr('href', rawHref); 2076 redirectLink[0].click(); 2077 }); 2078 } 2079 } 2080})('modal-global-contact-us'); 2081} catch(e) { 2082console.log(e); 2083} 2084 2085 try { 2086(function init(sectionDomId) { 2087 const $section = $('#' + sectionDomId); 2088 const $hamburger = $section.find('.hamburger-component'); 2089 function onSideMenuShow() { 2090 if (!$hamburger.hasClass('active')) { 2091 $hamburger.addClass('active'); 2092 } 2093 } 2094 function onSideMenuHide() { 2095 $hamburger.removeClass('active'); 2096 } 2097 const $window = $(window); 2098 $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow); 2099 $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide); 2100 const $subContainers = $section.find('.navigation__item.sub-nav-container'); 2101 $subContainers.hover(function () { 2102 $(this).find('.sub-nav').addClass('visible'); 2103 }, function () { 2104 $(this).find('.sub-nav').removeClass('visible'); 2105 }); 2106 $window.on('click.lpui-auto-clean', function () { 2107 $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown'); 2108 }); 2109 let fixedWidth = 0; 2110 const rightPad = 20; 2111 function fixSubsPosition() { 2112 const wWidth = window.innerWidth; 2113 if (innerWidth === fixedWidth) { 2114 return; 2115 } 2116 fixedWidth = wWidth; 2117 $subContainers.each(function () { 2118 const $sub = $(this).find('.sub-nav'); 2119 $sub[0].style.right = '';
2120 const sRect = $sub[0].getBoundingClientRect(); 2121 const sRight = sRect.left + sRect.width; 2122 if (sRight > wWidth - rightPad) { 2123 const parentRect = $sub[0].offsetParent.getBoundingClientRect(); 2124 const parentRight = parentRect.left + parentRect.width; 2125 $sub[0].style.right = `${parentRight - wWidth + rightPad}px`; 2126 } 2127 }); 2128 } 2129 var debouncer; 2130 $window.on('resize.lpui-auto-clean', function () { 2131 clearTimeout(debouncer); 2132 debouncer = setTimeout(fixSubsPosition, 500); 2133 }); 2134 fixSubsPosition(); 2135 if ($('.property-intro').length || $('.property-intro-2').length) { 2136 $('nav').addClass('dark-opening'); 2137 $("#global-navbar").css({ 2138 "background-color": "rgb(26, 26, 26)", 2139 "color": "rgb(255, 255, 255)" 2140 }); 2141 } 2142 function initAutoTruncateMenu() { 2143 const $navbar = $section.find('.navbar'); 2144 const $navList = $section.find('.navigation > ul'); 2145 if (!$navbar.length || !$navList.length) { 2146 return; 2147 } 2148 const $logo = $section.find('.logo'); 2149 const $buttonsWrapper = $section.find('.buttons-wrapper'); 2150 const $allItems = $navList.children('.navigation__item'); 2151 const $phoneItem = $allItems.filter(function () { 2152 return $(this).find('a[href^="tel:"]').length > 0; 2153 }); 2154 const $menuItems = $allItems.not($phoneItem); 2155 if (!$menuItems.length) { 2156 return; 2157 } 2158 const buffer = 8; 2159 function measureFixedWidth() { 2160 let width = buffer; 2161 if ($logo.length) { 2162 width += $logo.outerWidth(true) || 0; 2163 } 2164 if ($buttonsWrapper.length) { 2165 width += $buttonsWrapper.outerWidth(true) || 0; 2166 } 2167 if ($phoneItem.length) { 2168 width += $phoneItem.outerWidth(true) || 0; 2169 } 2170 return width; 2171 } 2172 function truncateMenu() { 2173 if (!$navList.is(':visible')) { 2174 return; 2175 } 2176 $menuItems.css('display', ''); 2177 const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth(); 2178 let widthSoFar = 0; 2179 let overflowed = false; 2180 $menuItems.each(function () { 2181 const $item = $(this); 2182 if (overflowed) { 2183 $item.css('display', 'none'); 2184 return; 2185 } 2186 widthSoFar += $item.outerWidth(true); 2187 if (widthSoFar > availableWidth) { 2188 $item.css('display', 'none'); 2189 overflowed = true; 2190 } 2191 }); 2192 } 2193 let truncateFrame; 2194 function scheduleTruncate() { 2195 if (truncateFrame) { 2196 return; 2197 } 2198 truncateFrame = window.requestAnimationFrame(function () { 2199 truncateFrame = null; 2200 truncateMenu(); 2201 }); 2202 } 2203 scheduleTruncate(); 2204 if (window.ResizeObserver) { 2205 const resizeObserver = new ResizeObserver(scheduleTruncate); 2206 resizeObserver.observe($navbar[0]); 2207 } else { 2208 $(window).on('resize.lpui-auto-truncate', scheduleTruncate); 2209 } 2210 $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate); 2211 $(window).on('load.lpui-auto-truncate', scheduleTruncate); 2212 if (document.fonts && document.fonts.ready) { 2213 document.fonts.ready.then(scheduleTruncate); 2214 } 2215 } 2216 initAutoTruncateMenu(); 2217})('global-navbar'); 2218} catch(e) { 2219console.log(e); 2220} 2221 try { 2222(function init(sectionDomId, options) { 2223 var elementSelector = options.elementSelector || 'nav'; 2224 var element = document.querySelector(elementSelector); 2225 var sections = document.querySelectorAll('body > section'); 2226 var subNavContainers = element.querySelectorAll('.sub-nav'); 2227 var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor; 2228 var backgroundColorScroll = options.backgroundColorScroll || '#191919'; 2229 var fontColor = options.fontColor || '#fff'; 2230 var fontColorScroll = options.fontColorScroll || '#000'; 2231 var didScroll = false; 2232 var lastScrollTop = 0; 2233 var delta = 5; 2234 2235 // eslint-disable-next-line sonarjs/no-collapsible-if 2236 if (wow) { 2237 // Wowjs might not trigger for position fixed elements 2238 if (window.scrollY > 0) { 2239 element.querySelectorAll('.wow').forEach(el => wow.show(el)); 2240 } 2241 } 2242 function adjustNavPinState() { 2243 // Remove 'visible' class from all subNavContainers 2244 for (let i = 0; i < subNavContainers.length; i++) { 2245 subNavContainers[i].classList.remove('visible'); 2246 } 2247 if (window.scrollY > 0) { 2248 element.style.backgroundColor = backgroundColorScroll; 2249 element.style.color = fontColorScroll; 2250 element.classList.add('scroll'); 2251 } else {
2252 element.style.backgroundColor = initialBackgroundColor; 2253 element.style.color = fontColor; 2254 element.classList.remove('scroll'); 2255 } 2256 } 2257 adjustNavPinState(); 2258 function onScroll() { 2259 didScroll = true; 2260 } 2261 window.addEventListener('scroll', onScroll); 2262 2263 // eslint-disable-next-line 2264 var debounceInterval = setInterval(() => { 2265 if (didScroll) { 2266 // eslint-disable-next-line 2267 hasScrolled(); 2268 didScroll = false; 2269 } 2270 }, 250); 2271 function hasScrolled() { 2272 adjustNavPinState(); 2273 // eslint-disable-next-line 2274 var navbarHeight = element.offsetHeight; 2275 // eslint-disable-next-line 2276 var st = window.scrollY; 2277 2278 // Make sure they scroll more than delta 2279 if (Math.abs(lastScrollTop - st) <= delta) { 2280 return; 2281 } 2282 if (st > lastScrollTop && st > navbarHeight) { 2283 // Scroll Down 2284 element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`; 2285 document.documentElement.style.setProperty('--global-header-height', '0px'); 2286 2287 // Some sections "follow" the navbar with class sticky (i.e. Producer search) 2288 sections.forEach(section => { 2289 if (section.classList.contains('sticky')) { 2290 section.style.top = '0px'; 2291 } 2292 }); 2293 } else { 2294 // Scroll Up 2295 // eslint-disable-next-line 2296 if (st + window.innerHeight < document.documentElement.scrollHeight) { 2297 element.style.transform = `translateY(0) scaleY(1)`; 2298 document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`); 2299 sections.forEach(section => { 2300 if (section.classList.contains('sticky')) { 2301 section.style.top = `${navbarHeight}px`; 2302 } 2303 }); 2304 } 2305 } 2306 lastScrollTop = st; 2307 } 2308})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}")); 2309} catch(e) { 2310console.log(e); 2311} 2312 try { 2313(function init(sectionDomId) { 2314 var $sidemenu = $('#' + sectionDomId); 2315 var shown = false; 2316 function onShow() { 2317 if (shown) { 2318 return; 2319 } 2320 shown = true; 2321 window.lpUI.requestScrollLock(sectionDomId); 2322 } 2323 function onHide(ev, opts) { 2324 if (!shown) { 2325 return; 2326 } 2327 shown = false; 2328 window.lpUI.releaseScrollLock(sectionDomId); 2329 $('body').removeClass('locked'); 2330 opts = ev.detail || opts; 2331 if (!opts || !opts.instant) { 2332 $sidemenu.addClass("is-hiding"); 2333 setTimeout(function () { 2334 $sidemenu.removeClass("is-hiding"); 2335 }, 300); 2336 } 2337 } 2338 $sidemenu.on('lpui-show', onShow); 2339 $(window).on('lpui-sidemenu-hide.lpui-auto-clean', onHide); 2340 $sidemenu.removeClass("is-hiding"); 2341})('global-sidemenu'); 2342} catch(e) { 2343console.log(e); 2344} 2345 2346 try { 2347(function init(footerId) { 2348 var textContent = $(".text_content_wrap p").text().trim().length; 2349 const socialLinks = $(`#${footerId} .lp-socials__link`); 2350 if (textContent < 1) { 2351 $(".text_content_wrap").remove(); 2352 $(".second_text_footer").css({ 2353 'margin-bottom': 0 2354 }); 2355 } 2356 if (socialLinks.length > 0) { 2357 socialLinks.attr('data-wow-offset', '10'); 2358 } 2359 if ($(window).width() > 1280) { 2360 let footer = document.querySelector("#" + footerId); 2361 let copyrightElem = footer.querySelector(".copy_zone"); 2362 if (copyrightElem) { 2363 copyrightElem.style.whiteSpace = "nowrap"; 2364 let nowrapElemWidth = copyrightElem.clientWidth; 2365 copyrightElem.style.whiteSpace = ""; 2366 let normalElemWidth = copyrightElem.clientWidth; 2367 if (nowrapElemWidth > normalElemWidth) { 2368 footer.querySelector(".form-col--socials").classList.add("form-col--xl-auto"); 2369 } 2370 } 2371 } 2372 const form = $("#" + footerId).find("form"); 2373 const redirectLink = $('#' + footerId + ' .redirect-link'); 2374 form.on("reset", function () { 2375 redirectPage(redirectLink); 2376 }); 2377 function redirectPage(link) { 2378 if (link.length) { 2379 const rawHref = link.attr('href'); 2380 link.attr('href', setHttp(rawHref)); 2381 link[0].click(); 2382 } 2383 } 2384 function setHttp(link) { 2385 if (link.search(/^http[s]?\:\/\/|\//) == -1) { 2386 link = 'http://' + link; 2387 } 2388 return link; 2389 } 2390})('global-footer'); 2391} catch(e) { 2392console.log(e); 2393} 2394 2395 try { 2396(function init(options) {})('global-mobile-contact'); 2397} catch(e) { 2398console.log(e); 2399} 2400 2401 try { 2402(function init(sectionDomId) { 2403 var textBlock = $('#' + sectionDomId + ' .hoverable-image__text-wrap'); 2404 var textBlockPaddingTop = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-top')); 2405 var textBlockPaddingBottom = parseInt($('#' + sectionDomId + ' .hoverable-image__text-col').css('padding-bottom')); 2406 var imageBlock = $('#' + sectionDomId + ' .hoverable-image__img-col > div'); 2407 function resizeImage() { 2408 if (window.matchMedia('(min-width: 993px)').matches) { 2409 imageBlock.css('min-height', textBlock.height() + textBlockPaddingTop + textBlockPaddingBottom); 2410 } 2411 } 2412 $('#' + sectionDomId + ' .hoverable-image__img-col--on-hover').click(function () { 2413 if (window.matchMedia('(hover: none) and (pointer: coarse)').matches) { 2414 $(this).toggleClass('active'); 2415 } 2416 }); 2417 resizeImage(); 2418 $(window).on('resize.lpui-auto-clean', resizeImage); 2419})('section-5928088b-820c-4c14-aa0e-75ff1b36ebc2', 'undefined'); 2420} catch(e) { 2421console.log(e); 2422} 2423 try { 2424(function init(sectionDomId, options) { 2425 let section = null; 2426 switch (sectionDomId) { 2427 case 'NAVBAR': 2428 section = document.querySelector('body > nav, #global-navbar'); 2429 break; 2430 case 'FOOTER': 2431 section = document.querySelector('body > footer, #global-footer'); 2432 break; 2433 case 'SIDEMENU': 2434 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 2435 break; 2436 case 'CONTACT':
2437 section = document.querySelector('#modal-global-contact-us'); 2438 break; 2439 case 'MOBILE_CONTACT': 2440 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 2441 break; 2442 case 'SUBSCRIBE': 2443 // Subscribe Not Implemented 2444 section = null; 2445 break; 2446 case 'ACCOUNT': 2447 // Account Not Implemented 2448 section = null; 2449 break; 2450 default: 2451 section = document.querySelector('#' + sectionDomId); 2452 } 2453 if (!section) { 2454 return; 2455 } 2456 2457 // Where content / items are rendered 2458 const dataContainer = section.querySelector('.data-container'); 2459 if (!dataContainer) { 2460 // no place to render items = no need to query server or do anything else 2461 return; 2462 } 2463 let variables = options.variables || {}; 2464 2465 // Some variables in options may not have been injected - remove 2466 Object.keys(variables).forEach(function (variableName) { 2467 if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) { 2468 delete variables[variableName]; 2469 } 2470 }); 2471 2472 // Merge page query variables 2473 if (options.usePageResource) { 2474 variables = { 2475 ...variables, 2476 ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource] 2477 }; 2478 } 2479 2480 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers 2481 // resolve the flag â fetchData reads the section stamp, aux fetches read 2482 // their own resource's stamp (auxUsesRouter). 2483 function apiUrl(useRouter) { 2484 return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl); 2485 } 2486 2487 // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's 2488 // (options.routerApiAux is stamped per aux resource server-side). 2489 function auxUsesRouter(resource) { 2490 return !!(options.routerApiAux && options.routerApiAux[resource]); 2491 } 2492 2493 // Pagination Executes on a Numbered Pagination Container 2494 // Or via a load more button 2495 let mode = 'BUTTONLESS_PAGINATION'; 2496 const container = section.querySelector('.pagination-container');
2497 const loadMoreButton = section.querySelector(options?.loadMoreSelector); 2498 if (container) { 2499 mode = 'NUMBERED_PAGINATION'; 2500 } 2501 if (loadMoreButton) { 2502 mode = 'LOAD_MORE_BUTTON'; 2503 } 2504 let searchContainer = section.querySelector('.search-container'); 2505 const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false; 2506 const eventPrefix = '__pagination-'; 2507 const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{ 2508 param: 'neighborhoodId', 2509 urlKey: 'neighborhood' 2510 }, { 2511 param: 'search', 2512 urlKey: 'search' 2513 }, { 2514 param: 'salesPriceGTE', 2515 urlKey: 'pricemin', 2516 formKey: 'priceMin', 2517 type: 'int' 2518 }, { 2519 param: 'salesPriceLTE', 2520 urlKey: 'pricemax', 2521 formKey: 'priceMax', 2522 type: 'int' 2523 }, { 2524 param: 'livingSpaceSizeGTE', 2525 urlKey: 'areamin', 2526 formKey: 'areaMin', 2527 type: 'int' 2528 }, { 2529 param: 'livingSpaceSizeLTE', 2530 urlKey: 'areamax', 2531 formKey: 'areaMax', 2532 type: 'int' 2533 }] : []); 2534 2535 // Total entries - initialized in first render 2536 let totalNumber = 0; 2537 const DefaultSearchParams = { 2538 page: 1 2539 }; 2540 searchFormParams.forEach(function (formParam) { 2541 DefaultSearchParams[formParam.formKey || formParam.param] = null; 2542 }); 2543 let searchParams = { 2544 ...DefaultSearchParams 2545 }; 2546 const offset = options.variables?.offset || 0; 2547 let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section; 2548 let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100; 2549 2550 // entries of per page 2551 // when query variables for a given section would't be filled options.pageSize can store 2552 // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value 2553 let pageSize = parseInt(options.pageSize, 10) || 9; 2554 2555 // Adding mobile pageRange support 2556 var NARROW_BREAKPOINT = 600; 2557 var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT; 2558 var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`); 2559 2560 // Page range (pages on both sides of the current page) 2561 var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0; 2562 var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2; 2563 var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange; 2564 2565 // Whether to display the 'Previous' button 2566 var showPrevious = true; 2567 2568 // Whether to display the 'Next' button 2569 var showNext = true; 2570 2571 // Whether to display the page buttons 2572 var showPageNumbers = true; 2573 2574 // 'Previous' text 2575 var prevText = options.prevText || '«'; 2576 2577 // 'Next' text 2578 var nextText = options.nextText || '»'; 2579 2580 // Ellipsis text 2581 var ellipsisText = '…'; 2582 var classPrefix = 'paginationjs'; 2583 2584 // Default active class 2585 var activeClassName = 'active'; 2586 2587 // Default disable class 2588 var disableClassName = 'disabled'; 2589 2590 // Pagination element's position in the container 2591 var position = 'bottom'; 2592 2593 // Whether to trigger pagination at initialization 2594 var triggerPagingOnInit = !options.skipInitialLoad; 2595 var showFirstOnEllipsisShow = true; 2596 var showLastOnEllipsisShow = true; 2597 2598 // Instantiated in init() 2599 var el = null; 2600 2601 // Controls scrollTop logic 2602 var firstRender = true; 2603 var renderBySearch = false; 2604 var disabled = false; 2605 2606 // Pagination script class selector 2607 var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script'; 2608 2609 // Property Specific Image Override if No Image 2610 var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage; 2611 2612 // Construct template 2613 var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || ''; 2614 var template = Handlebars.compile(templateHTML); 2615 2616 // Initialize 2617 init(); 2618 function init() { 2619 Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 2620 2621 // Append/prepend pagination element to the pagination container 2622 if (mode === 'NUMBERED_PAGINATION') { 2623 el = document.createElement('div'); 2624 el.className = 'paginationjs';
2625 container[position === 'bottom' ? 'append' : 'prepend'](el); 2626 } 2627 if (searchContainer) { 2628 initSearchContainer({ 2629 fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true', 2630 fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true', 2631 fetchOffices: searchContainer.dataset.fetchOffices === 'true', 2632 fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true' 2633 }, function () { 2634 syncSearchFormState(searchParams); 2635 }); 2636 } 2637 2638 // Bind events 2639 observer(); 2640 } 2641 function syncSearchFormState(params) { 2642 searchContainer.dispatchEvent(new CustomEvent('sync', { 2643 detail: params 2644 })); 2645 } 2646 function initSearchContainer(options, done) { 2647 var promises = []; 2648 if (options.fetchNeighborhoods) { 2649 promises.push(fetchAllNeighborhoods(function (neighborhoods) { 2650 searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', { 2651 detail: { 2652 data: neighborhoods.map(function (item) { 2653 return { 2654 value: item.id, 2655 label: item.name 2656 }; 2657 }) 2658 } 2659 })); 2660 })); 2661 } 2662 if (options.fetchPostCategories) { 2663 promises.push(fetchPostCategories(function (categories) { 2664 searchContainer.dispatchEvent(new CustomEvent('post-categories-data', { 2665 detail: { 2666 data: categories 2667 } 2668 })); 2669 })); 2670 } 2671 if (options.fetchOffices) { 2672 promises.push(fetchOffices(function (offices) { 2673 searchContainer.dispatchEvent(new CustomEvent('offices-data', { 2674 detail: { 2675 data: offices 2676 } 2677 })); 2678 })); 2679 } 2680 if (options.fetchRentalRates) { 2681 promises.push(fetchAllRentalRates(function (rentalRates) { 2682 searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', { 2683 detail: { 2684 data: rentalRates 2685 } 2686 })); 2687 })); 2688 } 2689 if (promises.length > 0) { 2690 Promise.all(promises).then(function () { 2691 done(); 2692 }); 2693 } else { 2694 // element's custom code is not executed yet, so we're scheduling callback to after element's code 2695 setTimeout(done); 2696 } 2697 } 2698 function fetchAllNeighborhoods(done) { 2699 var useRouter = auxUsesRouter('neighborhoods'); 2700 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same 2701 // args on both APIs (the federated neighborhoods field accepts 2702 // withProperties/withBlogPosts); only the selection set differs. 2703 var gqlQuery = 'query ($companyId: String, $withProperties: NeighborhoodPropertiesFilter, $withBlogPosts: NeighborhoodBlogPostsFilter, $offset: Int, $limit: Int) {' + 'neighborhoods (companyId: $companyId, withProperties: $withProperties, withBlogPosts: $withBlogPosts, offset: $offset, limit: $limit) {' + (useRouter ? 'items {id, name}' : 'id, name') + '}}'; 2704 var payload = {}; 2705 payload.offset = 0; 2706 payload.limit = 100; 2707 payload.companyId = variables.companyId; 2708 if (options.resource === 'properties') { 2709 payload.withProperties = { 2710 active: true 2711 }; 2712 ['agentIds', 'tag', 'propertyTypeId', 'statusIds', 'architectureStyle', 'lifestyle', 'salesPriceGTE', 'salesPriceLTE', 'leasePriceGTE', 'leasePriceLTE', 'livingSpaceSizeGTE', 'livingSpaceSizeLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'bathCountGTE', 'bathCountLTE', 'bedroomCountGTE', 'bedroomCountLTE', 'featuredListing', 'leaseProperty', 'neighborhoodId', 'developmentId', 'openHouse'].forEach(function (field) { 2713 if (variables[field] !== undefined && variables[field] !== null) { 2714 payload.withProperties[field] = variables[field]; 2715 } 2716 }); 2717 } 2718 if (options.resource === 'posts') { 2719 payload.withBlogPosts = { 2720 active: true 2721 }; 2722 ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) { 2723 if (variables[field] !== undefined && variables[field] !== null) { 2724 payload.withBlogPosts[field] = variables[field]; 2725 } 2726 }); 2727 } 2728 2729 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2730 if (useRouter) { 2731 payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload); 2732 } 2733 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 2734 query: gqlQuery, 2735 variables: payload 2736 }).then(function (res) { 2737 var value = res.body.data && res.body.data.neighborhoods || {}; 2738 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2739 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 2740 done(items, items.length); 2741 }); 2742 } 2743 function fetchPostCategories(done) { 2744 var featured = options.resource === 'posts' && !!variables.featured; 2745 var useRouter = auxUsesRouter('postCategories'); 2746 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 2747 // selection set differs ({ items {...} } on the router). 2748 var selection = 'id, name, publishedCount, featuredPublishedCount'; 2749 var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'postCategories (companyId: $companyId, offset: $offset, limit: $limit ' + (featured ? ' withFeaturedPublishedOnly: true' : ' withPublishedOnly: true') + ') {' + (useRouter ? 'items {' + selection + '}' : selection) + '}}'; 2750 var payload = {}; 2751 payload.offset = 0; 2752 payload.limit = 100; 2753 payload.companyId = variables.companyId; 2754 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 2755 query: gqlQuery, 2756 variables: payload 2757 }).then(function (res) { 2758 var value = res.body.data && res.body.data.postCategories || {}; 2759 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2760 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 2761 done(items.map(function (item) { 2762 item.count = featured ? item.featuredPublishedCount : item.publishedCount; 2763 return item; 2764 }), items.length); 2765 }); 2766 } 2767 function fetchOffices(done) { 2768 var useRouter = auxUsesRouter('offices'); 2769 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the 2770 // selection set differs ({ items {...} } on the router). 2771 var selection = 'id, name, tags'; 2772 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two 2773 // APIs differ in more than the items wrapper: federated offices takes 2774 // companyId: ID! (legacy gateway: String), so each branch builds its whole doc. 2775 var gqlQuery = useRouter ? 'query ($companyId: ID!, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + 'items {' + selection + '}}}' : 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'offices (companyId: $companyId, offset: $offset, limit: $limit) {' + selection + '}}'; 2776 var payload = { 2777 offset: 0, 2778 limit: 100, 2779 companyId: variables.companyId 2780 }; 2781 2782 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2783 if (useRouter) { 2784 payload = window.luxuryPresence.routerApi.transformVariables('office
2784s', payload); 2785 } 2786 superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({ 2787 query: gqlQuery, 2788 variables: payload 2789 }).then(function (res) { 2790 var value = res.body.data && res.body.data.offices || {}; 2791 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2792 var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || []; 2793 done(items, items.length); 2794 }); 2795 } 2796 2797 // ROUTER-CLEANUP: no rentalRates field on the federated router â legacy only. 2798 function fetchAllRentalRates(done) { 2799 var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl; 2800 var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}'; 2801 var payload = { 2802 offset: 0, 2803 limit: 100, 2804 companyId: variables.companyId 2805 }; 2806 superagent.post(url + '/graphql').withCredentials().send({ 2807 query: gqlQuery, 2808 variables: payload 2809 }).then(function (res) { 2810 var items = res.body.data && res.body.data.rentalRates || []; 2811 done(items, items.length); 2812 }).catch(function (err) { 2813 console.error('Error fetching rental rates:', err); 2814 done([], 0); 2815 }); 2816 } 2817 function fetchData(params, done) { 2818 var resource = options.resource; 2819 var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource]; 2820 var payload = {}; 2821 try { 2822 payload = JSON.parse(JSON.stringify(variables)); 2823 } catch (e) { 2824 Object.keys(variables).forEach(function (variableName) { 2825 payload[variableName] = variables[variableName]; 2826 }); 2827 } 2828 payload.offset = (params.page - 1) * pageSize + offset; 2829 payload.limit = pageSize; 2830 payload.companyId = options.companyId; 2831 searchFormParams.forEach(function (formParam) { 2832 var val = params[formParam.formKey || formParam.param]; 2833 if (val !== null && val !== undefined) { 2834 objSet(payload, formParam.param, val); 2835 } 2836 }); 2837 2838 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2839 if (options.useRouterApi) { 2840 payload = window.luxuryPresence.routerApi.transformVariables(resource, payload); 2841 } 2842 2843 // TODO: Disabled loading due to jarring effect 2844 // dataContainer.html('Loading...'); 2845 superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({ 2846 query: gqlQuery, 2847 variables: payload 2848 }).then(function (res) { 2849 if (res.body.errors) { 2850 done(res.body.errors); 2851 return; 2852 } 2853 var data = res.body.data || {}; 2854 // ROUTER-CLEANUP: keep router branch, drop legacy when API retired 2855 var resources; 2856 var resourceCount; 2857 if (options.useRouterApi) { 2858 var page = window.luxuryPresence.routerApi.transformPage(data[resource]); 2859 resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items); 2860 resourceCount = page.count; 2861 } else { 2862 resources = data[resource] || []; 2863 resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0; 2864 } 2865 const finish = function (items) { 2866 if (resource === 'properties' && propertyPlaceholderImage?.id) { 2867 items = items.map(item => { 2868 if (item.media?.length === 0) { 2869 return Object.assign(item, { 2870 media: [propertyPlaceholderImage] 2871 }); 2872 } 2873 return item; 2874 }); 2875 } 2876 done(null, items, resourceCount); 2877 }; 2878 2879 // ROUTER-CLEANUP: client half of PLAT-4073 â resolve the requested 2880 // disclaimers before rendering; older SDKs skip (keys stay unset). 2881 if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') { 2882 window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish); 2883 return; 2884 } 2885 finish(resources); 2886 }); 2887 } 2888 function getTotalPage() { 2889 return Math.ceil(totalNumber / pageSize); 2890 } 2891 function renderPaginationList() { 2892 var totalPages = getTotalPage(); 2893 var rangeStart = searchParams.page - pageRange; 2894 var rangeEnd = searchParams.page + pageRange; 2895 if (rangeEnd > totalPages) { 2896 rangeEnd = totalPages; 2897 rangeStart = totalPages - pageRange * 2; 2898 rangeStart = rangeStart < 1 ? 1 : rangeStart; 2899 } 2900 if (rangeStart <= 1) { 2901 rangeStart = 1; 2902 rangeEnd = Math.min(pageRange * 2 + 1, totalPages); 2903 } 2904 2905 // Making sure that 1 more page button is shown in edge positions 2906 if (pageRange === 0) { 2907 if (searchParams.page === totalPages) { 2908 rangeStart = totalPages <= 1 ? 1 : totalPages - 1; 2909 } 2910 if (searchParams.page === 1) { 2911 rangeEnd = Math.min(2, totalPages); 2912 } 2913 } 2914 2915 // Render pagination list 2916 if (mode === 'NUMBERED_PAGINATION') { 2917 el.innerHTML = generateHTML({ 2918 currentPage: searchParams.page, 2919 pageRange: pageRange, 2920 rangeStart: rangeStart, 2921 rangeEnd: rangeEnd 2922 }); 2923 if (totalPages < 2 && hidePaginationOnFirstPage) { 2924 container.style.display = 'none'; 2925 } else { 2926 container.style.display = ''; 2927 } 2928 } else if (mode === 'LOAD_MORE_BUTTON') { 2929 if (searchParams.page >= totalPages) {
2930 loadMoreButton.style.display = 'none'; 2931 } else { 2932 loadMoreButton.style.display = ''; 2933 } 2934 } 2935 } 2936 function render(data) { 2937 renderPaginationList(); 2938 2939 // Render new content with handlebars 2940 var html = ''; 2941 if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) { 2942 // If using load more, append search results to existing results 2943 html = dataContainer.innerHTML; 2944 } 2945 for (var i = 0; i < data.length; i++) { 2946 var itemData = recursivelyParse(data[i]); 2947 itemData.sectionIndex = options.sectionIndex; 2948 itemData.renderOptions = options.renderOptions; 2949 html += template(itemData); 2950 } 2951 dataContainer.innerHTML = html; 2952 2953 // Scroll Top 2954 if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) { 2955 // Only animate to the top if we replace dataContainer (numbered pagination) 2956 setTimeout(() => { 2957 const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset; 2958 window.scrollTo({ 2959 top: scrollTargetOffsetTop, 2960 behavior: 'smooth' 2961 }); 2962 }, 250); 2963 } 2964 return true; 2965 } 2966 function generateHTML(args) { 2967 const totalPages = getTotalPage(); 2968 const { 2969 rangeStart, 2970 rangeEnd 2971 } = args; 2972 const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 2973 ...searchParams, 2974 page 2975 }); 2976 let html = ''; 2977 if (showPrevious || showPageNumbers || showNext) { 2978 html += '<div class="paginationjs-pages"><ul>'; 2979 2980 // Previous button 2981 if (showPrevious) { 2982 if (searchParams.page <= 1) { 2983 html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`; 2984 } else { 2985 html += `<li class="${classPrefix}-prev J-paginationjs-previous" data-num="${searchParams.page - 1}" title="Previous page"><a href="${makeLnk(searchParams.page - 1)}">${prevText}</a></li>`; 2986 } 2987 } 2988 2989 // Pages 2990 if (showPageNumbers) { 2991 if (rangeStart <= 3) { 2992 for (let i = 1; i < rangeStart; i++) { 2993 html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`; 2994 } 2995 } else { 2996 if (showFirstOnEllipsisShow) { 2997 html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`; 2998 } 2999 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 3000 } 3001 for (let i = rangeStart; i <= rangeEnd; i++) { 3002 html += `<li class="${classPrefix}-page J-paginationjs-page ${i === searchParams.page ? activeClassName : ''}" data-num="${i}"><a ${i === searchParams.page ? '' : `href="${makeLnk(i)}"`}>${i}</a></li>`; 3003 } 3004 if (rangeEnd < totalPages - 2) { 3005 html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`; 3006 if (showLastOnEllipsisShow) { 3007 html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`; 3008 } 3009 } else { 3010 for (let i = rangeEnd + 1; i <= totalPages; i++) { 3011 html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`; 3012 } 3013 } 3014 } 3015 3016 // Next button 3017 if (showNext) { 3018 if (searchParams.page >= totalPages) { 3019 html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`; 3020 } else { 3021 html += `<li class="${classPrefix}-next J-paginationjs-next" data-num="${searchParams.page + 1}" title="Next page"><a href="${makeLnk(searchParams.page + 1)}">${nextText}</a></li>`; 3022 } 3023 } 3024 html += '</ul></div>'; 3025 } 3026 return html; 3027 } 3028 function go(newSearchParams, callback, restorationVisit) { 3029 if (disabled) return; 3030 var goToPageNumber = newSearchParams.page; 3031 3032 // Page number is out of bounds 3033 if (!goToPageNumber || goToPageNumber < 1) return; 3034 var totalPage = getTotalPage(); 3035 3036 // Page number is out of bounds 3037 if (!restorationVisit && totalNumber > 0) { 3038 if (goToPageNumber > totalPage) return; 3039 } 3040 if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
3041 var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, { 3042 ...newSearchParams, 3043 page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null 3044 }); 3045 if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) { 3046 window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, { 3047 queryString: true 3048 })); 3049 } 3050 } 3051 3052 // Fetch and update page 3053 fetchData(newSearchParams, renderWithData); 3054 disabled = true; 3055 function renderWithData(err, data, count) { 3056 if (err) { 3057 dataContainer.dispatchEvent(new Event('error')); 3058 } else { 3059 searchParams = { 3060 ...newSearchParams 3061 }; 3062 totalNumber = count - offset; 3063 if (data.length === 0) { 3064 dataContainer.dispatchEvent(new Event('no-data')); 3065 } else { 3066 dataContainer.dispatchEvent(new Event('data')); 3067 } 3068 render(data); 3069 firstRender = false; 3070 } 3071 disabled = false; 3072 renderBySearch = false; 3073 } 3074 } 3075 function areQueryParamsEqual(first, second) { 3076 var differ = Object.keys(first).find(function (key) { 3077 return first[key] !== undefined && first[key] !== null && first[key] !== second[key]; 3078 }); 3079 if (differ) { 3080 return false; 3081 } 3082 differ = Object.keys(second).find(function (key) { 3083 return second[key] !== undefined && second[key] !== null && second[key] !== first[key]; 3084 }); 3085 return !differ; 3086 } 3087 function next(callback) { 3088 go({ 3089 ...searchParams, 3090 page: searchParams.page + 1 3091 }, callback); 3092 } 3093 function previous(callback) { 3094 go({ 3095 ...searchParams, 3096 page: searchParams.page - 1 3097 }, callback); 3098 } 3099 function refresh(callback) { 3100 go(searchParams, callback); 3101 } 3102 function update(params, callback) { 3103 renderBySearch = true; 3104 go(params, callback); 3105 } 3106 function observer() { 3107 if (searchContainer) { 3108 searchContainer.addEventListener('search', function (event, newSearchParams) { 3109 newSearchParams = event.detail || newSearchParams; 3110 update({ 3111 ...searchParams, 3112 ...newSearchParams, 3113 page: 1 3114 }); 3115 }); 3116 searchContainer.addEventListener('clear-search', function () { 3117 const defaultSearchParams = { 3118 ...DefaultSearchParams 3119 }; 3120 const isCurrentSearchFormStateDefault = areQueryParamsEqual({ 3121 ...defaultSearchParams, 3122 page: null 3123 }, { 3124 ...searchParams, 3125 page: null 3126 }); 3127 3128 // if mode is LOAD_MORE_BUTTON we should't make anything on clear 3129 // when search form have default state 3130 if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') { 3131 return; 3132 } 3133 3134 // if someone initially go to some page and click 'Clear' on search from 3135 // we should't navigate to first page. We should preserve page value 3136 if (isCurrentSearchFormStateDefault) { 3137 defaultSearchParams.page = searchParams.page; 3138 } 3139 syncSearchFormState(defaultSearchParams); 3140 update(defaultSearchParams); 3141 }); 3142 } 3143 if (mode === 'LOAD_MORE_BUTTON') { 3144 loadMoreButton.addEventListener('click', function (event) { 3145 go({ 3146 ...searchParams, 3147 page: searchParams.page + 1 3148 }); 3149 return false; 3150 }); 3151 } 3152 if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') { 3153 // Do initial render 3154 go(Object.assign({}, searchParams, { 3155 page: 1 3156 })); 3157 return; 3158 } 3159 if (mode === 'NUMBERED_PAGINATION') { 3160 // Go to specified page number 3161 container.addEventListener(eventPrefix + 'go', function (event) { 3162 let { 3163 pageNumber, 3164 done 3165 } = event.detail || {}; 3166 pageNumber = parseInt(pageNumber, 10); 3167 if (!pageNumber) { 3168 return; 3169 } 3170 go({ 3171 ...searchParams, 3172 page: pageNumber 3173 }, done); 3174 }); 3175 3176 // Page number button click 3177 el.addEventListener('click', function (event) { 3178 let clickTarget = event.target; 3179 let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next'); 3180 let pageNumber = current?.getAttribute('data-num'); 3181 if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) { 3182 return; 3183 } else { 3184 go({ 3185 ...searchParams, 3186 page: parseInt(pageNumber, 10) 3187 }); 3188 } 3189 event.preventDefault(); 3190 }); 3191 3192 // Whether to load the default page 3193 var defaultPageNumber = searchParams.page; 3194 if (triggerPagingOnInit) {
3195 container.dispatchEvent(new CustomEvent(eventPrefix + 'go', { 3196 detail: { 3197 pageNumber: defaultPageNumber 3198 } 3199 })); 3200 } 3201 } 3202 window.addEventListener('popstate', function (event) { 3203 var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId)); 3204 if (!areQueryParamsEqual(newParams, searchParams)) { 3205 go(newParams, null, true); 3206 if (searchContainer) { 3207 syncSearchFormState(newParams); 3208 } 3209 } 3210 }); 3211 } 3212 function replaceVariables(template, variables) { 3213 var formattedString; 3214 for (var key in variables) { 3215 var value = variables[key]; 3216 var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img'); 3217 formattedString = (formattedString || template).replace(regexp, value); 3218 } 3219 return formattedString; 3220 } 3221 function isTextEditorValue(obj) { 3222 return 'raw' in obj || 'gjs' in obj; 3223 } 3224 function getTextEditorValue(obj) { 3225 if (!obj.html) { 3226 return ''; 3227 } 3228 var data = obj.html; 3229 var css = (obj.raw || obj.gjs || {}).css; 3230 if (css) { 3231 data = data + '<style>' + css + '</style>'; 3232 } 3233 return data; 3234 } 3235 3236 /** 3237 * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor. 3238 * strips out raw proprties and returns only HTML if it exists. 3239 * @param {Object} resources a collection retrieved from the database 3240 * @return {Object} the newly modified object. 3241 */ 3242 function recursivelyParse(resources) { 3243 forEach(resources, function (value, key) { 3244 if (!value) { 3245 return; 3246 } 3247 if (value instanceof Object) { 3248 if (isTextEditorValue(value)) { 3249 resources[key] = getTextEditorValue(value); 3250 return; 3251 } else { 3252 return recursivelyParse(value); 3253 } 3254 } 3255 try { 3256 var parsedData = JSON.parse(value); 3257 if (isTextEditorValue(parsedData)) { 3258 resources[key] = getTextEditorValue(parsedData); 3259 } 3260 } catch (e) { 3261 // do nothing if we failed to parse value as JSON 3262 } 3263 }); 3264 return resources; 3265 } 3266 function forEach(collection, iteratee) { 3267 var func = Array.isArray(collection) ? arrayEach : baseFor; 3268 return func(collection, iteratee); 3269 } 3270 function baseFor(object, iteratee) { 3271 if (!object) { 3272 return; 3273 } 3274 var iterable = Object(object); 3275 var props = Object.keys(object); 3276 var length = props.length; 3277 var index = -1; 3278 while (length--) { 3279 var key = props[++index]; 3280 if (iteratee(iterable[key], key, iterable) === false) { 3281 break; 3282 } 3283 } 3284 return object; 3285 } 3286 function objSet(obj, path, value) { 3287 const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g); 3288 pathArray.reduce((acc, key, i) => { 3289 if (acc[key] === undefined) acc[key] = {}; 3290 if (i === pathArray.length - 1) acc[key] = value; 3291 return acc[key]; 3292 }, obj); 3293 } 3294 function arrayEach(array, iteratee) { 3295 var index = -1; 3296 var length = array.length; 3297 while (++index < length) { 3298 if (iteratee(array[index], index, array) === false) { 3299 break; 3300 } 3301 } 3302 return array; 3303 } 3304 function selectPageRangeMode(e) { 3305 pageRange = e.matches ? mobilePageRange : desktopPageRange; 3306 renderPaginationList(); 3307 } 3308 paginationMql.addEventListener('change', selectPageRangeMode); 3309})('section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137', JSON.parse("{\"pageSize\":\"5\",\"resource\":\"agents\",\"pageRange\":0,\"variables\":{\"limit\":5,\"offset\":0,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"categoryId\":\"{{pageElement.categoryId}}\",\"agentIds\":[\"b0e85cf3-1dc7-4f93-814f-fcff42a207c0\",\"addc3ffa-4496-4147-8351-0e8b5f2925d2\",\"f75744cc-f8a8-4763-acee-fe008b681d06\",\"38d127e4-39b3-4804-8128-7ae075094205\",\"8acb9500-8d27-460e-ba22-85aa562078ea\"]},\"searchFormParams\":[{\"param\":\"search\",\"urlKey\":\"search\"},{\"param\":\"officeId\",\"global\":true,\"urlKey\":\"officeId\"},{\"param\":\"tags\",\"global\":true,\"urlKey\":\"area\"}],\"skipScrollOnSearch\":false,\"scrollTargetSelector\":\".search-form\",\"hidePaginationOnFirstPage\":true,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":3,\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3310} catch(e) { 3311console.log(e); 3312} 3313 try { 3314(function init(sectionDomId) { 3315 const $section = $("#" + sectionDomId); 3316 const $searchContainer = $section.find(".search-container"); 3317 const $officeSelect = $section.find('.js-office-input'); 3318 const $tagSelect = $section.find('.js-tag-input'); 3319 const $searchInput = $section.find('.js-search-input'); 3320 const $emptyMsg = $section.find('.js-empty-message'); 3321 const $dataContainer = $section.find('.data-container'); 3322 const $containter = $section.find('.js-container'); 3323 const officeFilter = $searchContainer.data('fetchOffices'); 3324 const $resetSearchInput = $searchContainer.find('.lp-input-reset'); 3325 convertSelectToDropdown($tagSelect); 3326 $resetSearchInput.on('click', function (event) { 3327 event.preventDefault(); 3328 $searchInput.val(''); 3329 onSearch(); 3330 }); 3331 $dataContainer.on("data", function () { 3332 $emptyMsg.removeClass("visible"); 3333 $containter.removeClass('no-data'); 3334 }); 3335 $dataContainer.on("no-data", function () { 3336 $emptyMsg.addClass("visible"); 3337 $containter.addClass('no-data'); 3338 }); 3339 $searchInput.on('input', window.luxuryPresence.debounce(onSearch, 1000)); 3340 function onSearch() { 3341 const params = {}; 3342 if (officeFilter) params.officeId = $officeSelect.val() === '' ? null : [$officeSelect.val()]; 3343 if ($tagSelect.length > 0) params.tags = $tagSelect.val() === '' ? null : [$tagSelect.val()]; 3344 params.search = $searchInput.val() || null; 3345 $searchContainer[0]?.dispatchEvent(new CustomEvent('search', { 3346 detail: params 3347 })); 3348 } 3349 if (!officeFilter && $tagSelect.length === 0) return; 3350 var previousOption = '';
3351 $searchContainer.on('offices-data', function (evt) { 3352 let { 3353 data 3354 } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 3355 data = evt.detail?.data || data; 3356 $officeSelect.append(data.map(office => `<option value="${office.id}">${office.name}</option>`).join("\n")); 3357 convertSelectToDropdown($officeSelect); 3358 }); 3359 function updateDropdown(select, value) { 3360 let $dropdown = $(select).next(); 3361 let $dropdownToggle = $dropdown.find(".custom-select-toggle"); 3362 let $dropdownContent = $dropdown.find(".custom-select-content"); 3363 let $selectedOption = $dropdownContent.find(`button[value="${value}"]`); 3364 function unselectOption() { 3365 $linkedOption = $originalSelect.find("option").eq(0); 3366 $linkedOption.prop("selected", true); 3367 $dropdownToggle.html($linkedOption.html()); 3368 $dropdownContent.find(".custom-select-item").removeClass("is-selected"); 3369 $originalSelect.change(); 3370 previousOption = ""; 3371 } 3372 if (!$selectedOption) return; 3373 if ($selectedOption.hasClass("is-disabled")) return; 3374 let elementNumber = $selectedOption.index(); 3375 let $originalSelect = $selectedOption.closest(".custom-select").siblings("select"); 3376 let $linkedOption = $originalSelect.find("option").eq(elementNumber); 3377 if (previousOption === value) { 3378 unselectOption(); 3379 return; 3380 } 3381 if (!$linkedOption.prop("selected")) { 3382 $linkedOption.prop("selected", true); 3383 previousOption = value; 3384 $originalSelect.change(); 3385 $selectedOption.addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected"); 3386 closeSelectMenu($selectedOption.closest(".custom-select-menu")); 3387 $dropdownToggle.html($linkedOption.html()); 3388 if ($linkedOption.val()) { 3389 $dropdownToggle.removeClass("is-placeholder"); 3390 $dropdown[$linkedOption.val() !== "" ? "addClass" : "removeClass"]("has-selection"); 3391 } else { 3392 $dropdown.removeClass("has-selection"); 3393 $dropdownToggle.addClass("is-placeholder"); 3394 } 3395 } 3396 } 3397 function convertSelectToDropdown(selectItem) { 3398 let customDropdown = ` 3399 <div class="custom-select" role="presentation"> 3400 <button class="custom-select-toggle" type="button" aria-haspopup="true" aria-expanded="false"></button> 3401 <div class="custom-select-menu"> 3402 <div class="custom-select-content"> 3403 </div> 3404 </div> 3405 </div>`; 3406 $(customDropdown).insertAfter(selectItem); 3407 let $dropdown = $(selectItem).next(); 3408 let $dropdownToggle = $dropdown.find(".custom-select-toggle"); 3409 let $dropdownMenu = $dropdown.find(".custom-select-menu"); 3410 let $dropdownContent = $dropdown.find(".custom-select-content"); 3411 $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select"); 3412 $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom"); 3413 $dropdownToggle.attr("data-name", $(selectItem).attr("name")); 3414 $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id")); 3415 appendOptionButtons(selectItem, $dropdownContent); 3416 $(selectItem).removeClass().addClass("sr-only"); 3417 $(selectItem).on("focus", function () { 3418 showSelectMenu($dropdownMenu[0]); 3419 $dropdownToggle.focus(); 3420 }); 3421 var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text(); 3422 $dropdownToggle.addClass("is-placeholder").html(toggleText); 3423 $dropdown.on("click", ".custom-select-item", function (e) { 3424 updateDropdown($(this).closest(".lp-input-group").find("select"), $(this).attr("value")); 3425 }); 3426 function convertOptionToButton(option) { 3427 var optionText = $(option).text(); 3428 var optionValue = $(option).attr("value") || $(option).text(); 3429 var optionIsDisabled = $(option).prop("disabled"); 3430 var outputButton = `<button value="${optionValue}" class="custom-select-item lp-icon" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`; 3431 return outputButton; 3432 } 3433 function appendOptionButtons(selectItem, appendTarget) { 3434 $(selectItem).find("option").each(function () { 3435 let currentButton = convertOptionToButton(this); 3436 $(appendTarget).append(currentButton); 3437 }); 3438 } 3439 function showSelectMenu(selectMenu) { 3440 var customSelect = $(selectMenu).closest(".custom-select")[0]; 3441 customSelect.classList.add('open'); 3442 $(selectMenu).slideDown(); 3443 } 3444 $dropdown.on("click", ".custom-select-toggle", function (e) { 3445 var $customSelect = $(this).closest(".custom-select"); 3446 var selectMenu = $customSelect.find(".custom-select-menu")[0]; 3447 if ($customSelect.hasClass("open")) { 3448 closeSelectMenu(selectMenu); 3449 } else { 3450 showSelectMenu(selectMenu); 3451 } 3452 }); 3453 $(document.body).on("click", function (e) { 3454 if (!$(e.target).closest(`#${sectionDomId} .js-select-input`).length) { 3455 $(`#${sectionDomId} .custom-select.open`).each(function () { 3456 const selectMenu = $(this).find(".custom-select-menu")[0]; 3457 closeSelectMenu(selectMenu); 3458 }); 3459 } 3460 }); 3461 } 3462 function closeSelectMenu(selectMenu) { 3463 var customSelect = $(selectMenu).closest(".custom-select")[0]; 3464 $(customSelect).removeClass("open"); 3465 $(selectMenu).slideUp(); 3466 } 3467 $officeSelect.change(onSearch); 3468 $tagSelect.change(onSearch); 3469})('section-fdd599f8-2cdb-4bdc-8abf-a59f4b185137', JSON.parse("{\"resource\":\"agents\",\"useRouterApi\":false,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":3,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3470} catch(e) { 3471console.log(e); 3472} 3473 try { 3474(function init(sectionDomId) { 3475 $('#' + sectionDomId + ' .videoListLink').click(function (e) {
3476 $('#' + sectionDomId).find('.v-carousel__preview-item').hide(); 3477 $('#' + sectionDomId).find(String($(this).attr('data-tab'))).show(); 3478 }); 3479})('section-46871a9d-151f-4e36-9f45-e215a457103a', 'undefined'); 3480} catch(e) { 3481console.log(e); 3482} 3483 try { 3484(function init(sectionDomId) {// please write all js here and use sectionDomId in selectors in order of DOM encapsulation 3485})('section-a06cfa1e-6e6f-49ef-ba7d-de7bdeed7704', 'undefined'); 3486} catch(e) { 3487console.log(e); 3488} 3489 try { 3490(function init(sectionDomId) { 3491 const $section = $('#' + sectionDomId); 3492 if ($section.find('.parallax').length) $section.addClass('parallax-enabled'); 3493 if ($section.find('.video-wrapper').length) $section.addClass('video'); 3494 slider = $section.find('.js-slider'); 3495 var autoscroll = slider.attr('data-autoscroll') === 'true'; 3496 var autoscrollInterval = parseInt(slider.attr('data-autoscroll-interval'), 10) || 6; 3497 if (slider.length > 0) { 3498 slider.slick({ 3499 dots: false, 3500 fade: true, 3501 speed: 300, 3502 arrows: true, 3503 infinite: true, 3504 nextArrow: ".featured-testimonials .slick-links-nav .next", 3505 prevArrow: ".featured-testimonials .slick-links-nav .prev", 3506 slidesToShow: 1, 3507 adaptiveHeight: true, 3508 slidesToScroll: 1, 3509 autoplay: autoscroll, 3510 autoplaySpeed: autoscrollInterval * 1000 3511 }); 3512 } 3513})('section-f4b511f5-8707-423d-92bd-e6e5108751a4', JSON.parse("{\"resource\":\"testimonials\",\"useRouterApi\":true,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":6,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3514} catch(e) { 3515console.log(e); 3516} 3517 try { 3518(function init(sectionDomId) { 3519 const $section = $(`#${sectionDomId}`); 3520 const $container = $section.find('.featured-properties-section'); 3521 const $slider = $section.find('.featured-properties'); 3522 const threeSlides = $container.hasClass('three-slides'); 3523 const autoScroll = $container[0].dataset['autoScroll'] === 'true'; 3524 const autoplaySpeed = parseInt($container[0].dataset['autoplaySpeed']) || 3000; 3525 const sliderOptions = { 3526 "arrows": true, 3527 "infinite": false, 3528 autoplay: autoScroll, 3529 autoplaySpeed: autoplaySpeed, 3530 "nextArrow": $section.find('.slick-links-nav .next'), 3531 "prevArrow": $section.find('.slick-links-nav .prev'), 3532 "slidesToShow": 2, 3533 "slidesToScroll": 2, 3534 "responsive": [{ 3535 "settings": { 3536 "slidesToShow": 1, 3537 "slidesToScroll": 1 3538 }, 3539 "breakpoint": 769 3540 }] 3541 }; 3542 if (threeSlides) { 3543 sliderOptions.slidesToShow = 3; 3544 sliderOptions.slidesToScroll = 3; 3545 sliderOptions.responsive.unshift({ 3546 "settings": { 3547 "slidesToShow": 2, 3548 "slidesToScroll": 2 3549 }, 3550 "breakpoint": 1100 3551 }); 3552 } 3553 if (!$slider.hasClass('.slick-initialized')) { 3554 $slider.slick(sliderOptions); 3555 } 3556 $slider.on('beforeChange', function () { 3557 $slider.find('.featured-properties__share.featured-properties__share--opened').removeClass('featured-properties__share--opened'); 3558 }); 3559 $slider.find('.featured-properties__share .btn').on('click', function () { 3560 $parent = $(this).parent(); 3561 if ($parent.hasClass('featured-properties__share--opened')) { 3562 $parent.removeClass('featured-properties__share--opened'); 3563 } else { 3564 $slider.find('.featured-properties__share.featured-properties__share--opened').removeClass('featured-properties__share--opened'); 3565 $parent.addClass('featured-properties__share--opened'); 3566 } 3567 }); 3568})('section-97cd305e-77dd-4cc4-be25-3efb4f6cb3f5', JSON.parse("{\"resource\":\"properties\",\"useRouterApi\":false,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":7,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3569} catch(e) { 3570console.log(e); 3571} 3572 try { 3573(function init(sectionDomId) { 3574 const $section = $('#' + sectionDomId); 3575 if ($section.find('.parallax').length) $section.addClass('parallax-enabled'); 3576 if ($section.find('.video-wrapper').length) $section.addClass('video'); 3577})('section-7f291366-97f6-4b89-9d21-f10295e3b700', 'undefined'); 3578} catch(e) { 3579console.log(e); 3580} 3581 try { 3582(function init(sectionDomId, options) { 3583 let section = null; 3584 switch (sectionDomId) { 3585 case 'NAVBAR': 3586 section = document.querySelector('body > nav, #global-navbar'); 3587 break; 3588 case 'FOOTER': 3589 section = document.querySelector('body > footer, #global-footer'); 3590 break; 3591 case 'SIDEMENU': 3592 section = document.querySelector('body > div.sidemenu, #global-sidemenu'); 3593 break; 3594 case 'CONTACT':
3595 section = document.querySelector('#modal-global-contact-us'); 3596 break; 3597 case 'MOBILE_CONTACT': 3598 section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact'); 3599 break; 3600 case 'SUBSCRIBE': 3601 // Subscribe Not Implemented 3602 section = null; 3603 break; 3604 case 'ACCOUNT': 3605 // Account Not Implemented 3606 section = null; 3607 break; 3608 default: 3609 section = document.querySelector('#' + sectionDomId); 3610 } 3611 if (!section) { 3612 return; 3613 } 3614 var url = window.luxuryPresence.defaults.routerUrl; 3615 var companyId = window.luxuryPresence.defaults.companyId; 3616 var limit = options.limit || 8; 3617 if (typeof limit === 'string') { 3618 limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected 3619 } 3620 var templateSelector = options.templateSelector || '.jsIGTemplate'; 3621 var containerSelector = options.containerSelector || '.jsIGContainer'; 3622 var hasDataClass = options.hasDataClass || 'has-data'; 3623 var hideActivateMessage = options.hasDataClass || false; 3624 var payload = { 3625 companyId: companyId, 3626 limit: limit 3627 }; 3628 if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) { 3629 payload.resourceId = options.resourceId; 3630 // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase 3631 payload.resource = String(options.resource || 'agent').toUpperCase(); 3632 payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true; 3633 } 3634 var query = 'query InstagramFeed (\n' + ' $companyId: ID!\n' + ' $instagramAuthorizationId: ID\n' + ' $username: String\n' + (payload.resourceId ? '$resource: InstagramContentAuthResourceEnum\n $resourceId: ID\n $fallbackToNoResource: Boolean' : '') + ' $limit: Int\n' + ') {\n' + ' instagramContentFeed (\n' + ' companyId: $companyId\n' + ' instagramAuthorizationId: $instagramAuthorizationId\n' + ' username: $username\n' + (payload.resourceId ? 'resource: $resource\n resourceId: $resourceId\n fallbackToNoResource: $fallbackToNoResource' : '') + ' limit: $limit\n' + ' ) {\n' + ' active\n' + ' feedUrl\n' + ' username\n' + ' items {\n' + ' id\n' + ' caption\n' + ' commentsCount\n' + ' likeCount\n' + ' mediaType\n' + ' mediaUrl\n' + ' permalink\n' + ' shortcode\n' + ' thumbnailUrl\n' + ' timestamp\n' + ' username\n' + ' }\n' + ' }\n' + '}\n'; 3635 var templateHTML = section.querySelector(templateSelector)?.innerHTML || ''; 3636 var template = Handlebars.compile(templateHTML); 3637 var container = section.querySelector(containerSelector); 3638 if (options.variables) { 3639 Object.keys(options.variables).forEach(function (key) { 3640 if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) { 3641 payload[key] = options.variables[key]; 3642 } 3643 }); 3644 } 3645 function getData() { 3646 var feed = { 3647 error: true 3648 }; 3649 if (payload.companyId == null || payload.companyId === '') { 3650 // instagramContentFeed requires companyId (ID!) â nothing to fetch without it. 3651 // Checked after the options.variables merge, which may override the default. 3652 // Deferred so element listeners (attached after this template runs) still receive it. 3653 setTimeout(function () { 3654 section.dispatchEvent(new CustomEvent('ig-data', { 3655 detail: feed 3656 })); 3657 }, 0); 3658 return; 3659 } 3660 superagent.post(url + '/graphql').send({ 3661 query: query, 3662 variables: payload 3663 }).then(res => { 3664 try { 3665 if (!res.body.errors) { 3666 feed = res.body.data.instagramContentFeed; 3667 if (!feed.active) { 3668 if (!hideActivateMessage && sectionDomId === 'section-temp' && container) { 3669 if (payload.resourceId) { 3670 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>'; 3671 } else { 3672 container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>'; 3673 } 3674 } 3675 } else { 3676 if (feed.items.length) { 3677 if (hasDataClass) { 3678 section.classList.add(hasDataClass); 3679 } 3680 const feedName = feed.username; 3681 section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl)); 3682 section.querySelectorAll('.jsIGName').forEach(name => { 3683 name.textContent = '@' + feedName; 3684 name.setAttribute('title', '@' + feedName); 3685 }); 3686 if (container && template) { 3687 container.innerHTML = template(feed); 3688 } 3689 } 3690 } 3691 } 3692 } catch (e) {} 3693 section.dispatchEvent(new CustomEvent('ig-data', { 3694 detail: feed 3695 })); 3696 }).catch(e => { 3697 console.log('err', e); 3698 section.dispatchEvent(new CustomEvent('ig-data', { 3699 detail: feed 3700 })); 3701 }); 3702 } 3703 getData(); 3704})('section-53764df7-2f07-4c3c-8119-03b9923e76be', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":9,\"useRouterApi\":false,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3705} catch(e) { 3706console.log(e); 3707} 3708 try { 3709(function init(sectionDomId) { 3710 const $section = $('#' + sectionDomId); 3711 var templateHTML = $section.find('.jsIGItem').html(); 3712 var itemTemplate = templateHTML && Handlebars.compile(templateHTML); 3713 const $container = $section.find('.ig-feed-feed'); 3714 const $topPrev = $section.find('.top-nav-prev'); 3715 const $topNext = $section.find('.top-nav-next'); 3716 const $bottomPrev = $section.find('.bottom-nav-prev'); 3717 const $bottomNext = $section.find('.bottom-nav-next'); 3718 let limit = 33; 3719 try { 3720 limit = parseInt($container[0].dataset['limit']); 3721 } catch (e) {} 3722 if (!limit) { 3723 limit = 33; 3724 } 3725 let igFeed = {}; 3726 let usedWidth = 0; 3727 let slider = null; 3728 $section.on('ig-data', function (ev, feed) { 3729 feed = ev.detail || feed; 3730 igFeed = feed; 3731 if (feed.active && feed.items.length) { 3732 buildSlider(); 3733 } 3734 }); 3735 $(window).on('resize.lpui-auto-clean', onResize); 3736 let timer = null; 3737 function onResize() { 3738 clearTimeout(timer); 3739 timer = window.setTimeout(buildSlider, 50); 3740 } 3741 function getLayout(w, n) { 3742 if (w > 1100) { 3743 if (n > 7) { 3744 return { 3745 type: 'type1', 3746 single: 1, 3747 multi: n, 3748 slides: 3, 3749 slider: n > 9 3750 }; 3751 } 3752 if (n > 5) { 3753 return { 3754 type: 'type1', 3755 single: 2, 3756 multi: n, 3757 slides: 3, 3758 slider: false 3759 }; 3760 } 3761 return { 3762 type: 'type1', 3763 single: n, 3764 multi: n, 3765 slides: 3, 3766 slider: n > 3 3767 }; 3768 } else if (w > 880) { 3769 if (n > 4) { 3770 return { 3771 type: 'type2', 3772 single: 1, 3773 multi: n, 3774 slides: 2.5, 3775 slider: n > 7 3776 }; 3777 } 3778 return { 3779 type: 'type1', 3780 single: n, 3781 multi: n, 3782 slides: 3, 3783 slider: n > 3 3784 }; 3785 } else if (w > 767) { 3786 if (n > 4) { 3787 return { 3788 type: 'type3', 3789 single: 1, 3790 multi: n, 3791 slides: 2, 3792 slider: n > 5 3793 }; 3794 } 3795 return { 3796 type: 'type4', 3797 single: n, 3798 multi: n, 3799 slides: 2, 3800 slider: n > 2 3801 }; 3802 } else if (w > 460) { 3803 return { 3804 type: 'type4', 3805 single: n, 3806 multi: n, 3807 slides: 2, 3808 slider: n > 2 3809 }; 3810 } 3811 return { 3812 type: 'type5', 3813 single: n, 3814 multi: n, 3815 slides: 1, 3816 slider: n > 1 3817 }; 3818 } 3819 function ensureClass($el, className) { 3820 if ($el.hasClass(className)) { 3821 return; 3822 } 3823 $el.addClass(className); 3824 } 3825 function makeSquare($el) { 3826 const el = $el[0]; 3827 el.style.width = ''; 3828 el.style.height = ''; 3829 const rect = el.getBoundingClientRect(); 3830 if (rect.width !== rect.height) { 3831 el.style.width = rect.height + 'px'; 3832 } 3833 } 3834 function buildSlider() { 3835 const cWidth = $container[0].getBoundingClientRect().width; 3836 if (cWidth === usedWidth) { 3837 return; 3838 } 3839 $container.empty();
3840 slider = $('<div class="ig-feed-slider"></div>'); 3841 const items = igFeed.items.slice(0, limit); 3842 const layout = getLayout(cWidth, items.length); 3843 let i = 0; 3844 let slide = null; 3845 while (i < layout.single) { 3846 slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider); 3847 i++; 3848 } 3849 while (i < layout.multi) { 3850 slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider); 3851 let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide); 3852 const lim = i + 4; 3853 while (i < lim && i < layout.multi) { 3854 slideContent.append(itemTemplate(items[i])); 3855 i++; 3856 } 3857 } 3858 $container.append(slider); 3859 if (layout.slider) { 3860 $topPrev.removeClass('hidden-control'); 3861 $topNext.removeClass('hidden-control'); 3862 $bottomPrev.removeClass('hidden-control'); 3863 $bottomNext.removeClass('hidden-control'); 3864 let prev, next; 3865 if ($bottomPrev.parent()[0].getBoundingClientRect().width) { 3866 prev = $bottomPrev; 3867 next = $bottomNext; 3868 } else { 3869 prev = $topPrev; 3870 next = $topNext; 3871 makeSquare($topPrev); 3872 makeSquare($topNext); 3873 } 3874 slider.children().each(function () { 3875 this.style.width = this.getBoundingClientRect().width + 'px'; 3876 }); 3877 slider.slick({ 3878 dots: false, 3879 prevArrow: prev, 3880 nextArrow: next, 3881 slidesToScroll: 1, 3882 infinite: false, 3883 slidesToShow: layout.slides 3884 }); 3885 } else { 3886 ensureClass($topPrev, 'hidden-control'); 3887 ensureClass($topNext, 'hidden-control'); 3888 ensureClass($bottomPrev, 'hidden-control'); 3889 ensureClass($bottomNext, 'hidden-control'); 3890 } 3891 } 3892})('section-53764df7-2f07-4c3c-8119-03b9923e76be', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"8968d612-eb72-4a05-b33e-bb0168e8e981\",\"usePageResource\":false,\"sectionIndex\":9,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}")); 3893} catch(e) { 3894console.log(e); 3895} 3896 3897 var { body } = document; 3898 var globalNav = body.querySelector(':scope > nav'); 3899 var globalSideMenu = body.querySelector(':scope > div.sidemenu'); 3900 3901 document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => { 3902 modalCloseBtn.addEventListener('click', function() { 3903 window.lpUI.hideClosestModal(modalCloseBtn); 3904 }); 3905 }); 3906 3907 window.addEventListener('click', function() { 3908 document.querySelectorAll('.share-popup').forEach(sharedPopup => { 3909 sharedPopup.style.display = 'none' ; 3910 }); 3911 }); 3912 3913 /* Misc Partials / Addons */ 3914 function initWOW() { 3915 if (wow) { 3916 wow.init(); 3917 wow.scrollHandler(); 3918 setTimeout(function () { 3919 const wowHideStyle = document.getElementById('wow-hide-elements'); 3920 if(wowHideStyle) { 3921 wowHideStyle.disabled = true; 3922 } 3923 }, 1); 3924 } 3925 } 3926 3927 const wowHideElements = document.getElementById('wow-hide-elements'); 3928 if (wowHideElements) { 3929 wowHideElements.disabled = false; 3930 } 3931 3932 var globalLoader = document.getElementById('global-loader'); 3933 if (globalLoader) { 3934 setTimeout(function() { 3935 globalLoader.style.height = "0px"; 3936 window.sessionStorage.setItem('global_loading_displayed', 'yes'); 3937 3938 // Remove global-loader to prevent caching issues with turbolinks 3939 globalLoader.addEventListener('transitionend', 3940 function(e) { 3941 globalLoader.remove(); 3942 initWOW(); 3943 }); 3944 }, 1000); 3945 } else { 3946 initWOW(); 3947 } 3948 3949 /* Generic Navbar Handling */ 3950 globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => { 3951 hamburgerComponent.addEventListener('click', function() { 3952 window.lpUI.sideMenuToggle(); 3953 }); 3954 }); 3955 globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => { 3956 toggleEl.addEventListener('click', function() { 3957 window.lpUI.sideMenuToggle(); 3958 }); 3959 }); 3960 3961 document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => { 3962 linkEl.addEventListener('click', function(e) { 3963 e.preventDefault(); 3964 e.stopPropagation();
3965 var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav'); 3966 if (subNav && subNav.classList.contains('visible')){ 3967 subNav.classList.remove('visible'); 3968 } else { 3969 globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => { 3970 globalSubNav.classList.remove('visible'); 3971 }); 3972 globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => { 3973 sideMenuSubNav.classList.remove('visible'); 3974 }); 3975 subNav?.classList.add('visible'); 3976 } 3977 }); 3978 }); 3979 window.addEventListener('click', function() { 3980 document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => { 3981 subNavEl.classList.remove('visible'); 3982 }); 3983 }); 3984 3985 } 3986 3987 document.addEventListener('DOMContentLoaded', lpGlobalInit); 3988 3989 </script>
3989 3990 3991
3991<script type="module"> 3992 function selectorExists(selector) { 3993 return document.querySelector(selector) !== null; 3994 } 3995 3996 // Function to initialize the third-party library 3997 function initParoller(selector = '.my-paroller') { 3998 var $parollerElements = $(selector); 3999 if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') { 4000 $parollerElements.paroller(); 4001 } 4002 } 4003 4004 const parollerSelector = '.my-paroller'; 4005 4006 if (selectorExists(parollerSelector)) { 4007 window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() { 4008 initParoller(parollerSelector); 4009 window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true; 4010 }); 4011 } 4012 </script>
4012 4013 4014 <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 4014-4015
4014 4015 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
4015GTM-T9SFQGHZ
vendor: 107 bytes, lines 4015-4017
4015" 4016 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 4017
4017<!-- End Google Tag Manager --> 4018 4019
4019<script 4020 src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js" 4021 data-website-id="f2a98354-14db-477e-b30c-6392a52fbac4" 4022 4023 defer></script>
vendor: 1 bytes, line 4023
4023
4024<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4621c93a9d898b9',t:'MTc5MTI2MjkyMg=='};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>
4024<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"d2a8f4b3d65944edb8fcd6ffce49ee5e","spa":2}' crossorigin="anonymous"></script>
4024 4025</body> 4026</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.