PageSourceSearch

https://muskokacottagesforsale.com/recent-sales

html muskokacottagesforsale.com collected 2026-10-05 22:00:58 UTC 570,446 bytes, 6,719 lines download raw bytes

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>Recent Sales | Richard Scully & Associates</title>
10        <meta property="og:title" content="Recent Sales | Richard Scully &amp; Associates">
11        <meta name="twitter:title" content="Recent Sales | Richard Scully &amp; Associates">
12        <meta name="description" content="Explore sold properties and remarkable transactions in Ontario. Contact Richard Scully &amp; Associates for exclusive real estate opportunities. Contact us now!">
13        <meta property="og:description" content="Explore sold properties and remarkable transactions in Ontario. Contact Richard Scully &amp; Associates for exclusive real estate opportunities. Contact us now!">
14        <meta name="twitter:description" content="Explore sold properties and remarkable transactions in Ontario. Contact Richard Scully &amp; Associates for exclusive real estate opportunities. Contact us now!">
15        <meta property="og:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431">
16        <meta name="twitter:image" content="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431">
17        <meta property="og:url" content="https://muskokacottagesforsale.com/recent-sales">
18        <link rel="canonical" href="https://muskokacottagesforsale.com/recent-sales">
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=Tenor%20Sans:400"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i">
23    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
24    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css"></noscript>
25    <link rel="icon" type="image/x-icon" href="/favicon.ico">
26    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
27    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
28    <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
29    <style id="global-css">:root{--global-primary-font-family:'Tenor Sans',sans-serif;--global-primary-font-family-short:Tenor Sans;--global-secondary-font-family:Lato,sans-serif;--global-secondary-font-family-short:Lato;--global-body-padding:0px;--global-background-color:#fff;--global-body-font-size:16px;--global-h1-font-size:50px;--global-h2-font-size:40px;--global-h3-font-size:30px;--global-h4-font-size:21px;--global-h5-font-size:17px;--global-h6-font-size:16px;--global-section-padding:96px;}@media (max-width: 768px){:root{--global-section-padding:64px;}}body{padding:0px;background-color:#fff;font-family:Lato,sans-serif;font-size:16px;}@media (min-width: 768px){body{padding:0px 0px 0px 0px;}}h1,h2,h3,h4,h5,h6,button{font-family:'Tenor Sans',sans-serif;}h1{font-size:50px;}h2{font-size:40px;}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">ul.slick-links-nav li span.link.slick-disabled{cursor:default;}.J-paginationjs-page a{margin:0 3px;}.lp-btn,.redesign .lp-btn{padding:20px 46px;}#modal-global-contact-us .contact-form .section-message form .submitButton{padding:14px 20px;}.lp-btn,.redesign .lp-btn,.redesign .btn{border-width:1px!important;font-weight:300!important;}nav#global-navbar a{font-weight:300;}button.newsletter-signup__form-item{line-height:1;font-weight:400;}nav#global-navbar .header .navigation .sub-nav ul{background-color:transparent;}nav#global-navbar .header .navigation .sub-nav ul li{background-color:#fff;}nav#global-navbar .header .navigation .sub-nav ul li:hover{background-color:#FFF;}nav#global-navbar .header .navigation .sub-nav ul a{color:#000!important;}nav#global-navbar.scroll{background-color:#000!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link{color:#FFF!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link:hover{color:#FFF!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link span:after{background-color:#FFF!important;}nav#global-navbar.scroll button.hamburger-component.hamburger{color:#FFF;}nav#global-navbar.scroll button.hamburger-component.hamburger:hover{color:#FFF;}nav#global-navbar.scroll .navigation__item:last-child{-webkit-filter:invert(1);filter:invert(1);}nav#global-navbar .header .navigation .sub-nav ul a:hover{color:#FFF!important;background-color:#792617!important;}nav#global-navbar .header .navigation .sub-nav ul a:hover span:hover{color:#FFF!important;}nav#global-navbar .header .navigation .sub-nav ul a:hover span:after{background-color:#FFF!important;}nav .header .navigation .sub-nav__link{max-width:400px!important;}nav .header .navigation .sub-nav ul{max-width:400px!important;}nav#global-navbar.scroll li.navigation__item a.navigation__link:hover{color:#792617;}nav#global-navbar.scroll li.navigation__item a.navigation__link span:after{background-color:#792617;}#global-navbar .header .logo .logo__img{max-height:100%;max-width:300px;}@media only screen and (max-width:768px){#global-navbar .header .logo .logo__img{max-width:250px!important;}}#global-navbar .header{padding-top:15px;padding-bottom:15px;height:auto;}.company__info__newsletter h2{font-size:0px;}.company__info__newsletter h2:before{content:"";display:block;width:auto;height:40px;background-image:url(https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/124e6fd1-c91a-4767-8aec-b87e6e6b1291);-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;-webkit-background-position:left;background-position:left;margin:0 auto!important;}footer .footer .company__contacts{margin-top:0px!important;}
31footer .footer .newsletter__info{max-width:100%!important;}footer .luxury-link,.copyright-box .hyperlink-style-2,.info-wrap-contact_link,.ft-link{font-weight:400;position:relative!important;color:#fff!important;-webkit-text-decoration:none!important;text-decoration:none!important;-webkit-transition:0.4s;transition:0.4s;opacity:1!important;}footer .luxury-link:hover,.copyright-box .hyperlink-style-2:hover,.info-wrap-contact_link:hover,.ft-link:hover{color:#fff!important;}footer .luxury-link:before,.copyright-box .hyperlink-style-2:before,.info-wrap-contact_link:before,.ft-link:before,footer .luxury-link:after,.copyright-box .hyperlink-style-2:after,.info-wrap-contact_link:after,.ft-link:after{-webkit-transition:0.4s;transition:0.4s;-webkit-text-decoration:none!important;text-decoration:none!important;line-height:1;content:"""";height:1px;position:absolute!important;bottom:0;left:0;}footer .luxury-link:before,.copyright-box .hyperlink-style-2:before,.info-wrap-contact_link:before,.ft-link:before{width:100%!important;background-color:#ccc!important;}footer .luxury-link:after,.copyright-box .hyperlink-style-2:after,.info-wrap-contact_link:after,.ft-link:after{width:0%!important;background-color:#fff!important;}footer .luxury-link:hover:after,.copyright-box .hyperlink-style-2:hover:after,.info-wrap-contact_link:hover:after,.ft-link:hover:after{width:100%!important;}div#global-sidemenu.sidemenu a:hover{color:#FFF!important;}body>div.sidemenu .sub-nav-container .main-nav:hover::after{border-bottom:1px solid #FFF!important;border-right:1px solid #FFF!important;}body>div.sidemenu .section-options a{color:#FFF!important;}@media (max-width: 768px){body>div.sidemenu .section-options a{font-size:25px!important;}}div#modal-global-contact-us .contact-form .info-zone .info-zone_contact_cell{margin-bottom:21px;}div#modal-global-contact-us .contact-form .info-zone .type_user:nth-of-type(2){margin-bottom:21px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .info-zone .type_user{margin-bottom:25px;}}div#modal-global-contact-us .contact-form .info-zone_contact{margin-bottom:14px;}div#modal-global-contact-us .contact-form .section-message h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form .section-message h2{font-size:28px;}}div#modal-global-contact-us .contact-form h2{font-size:38px;}@media only screen and (max-width: 768px){div#modal-global-contact-us .contact-form h2{font-size:28px;}}#modal-global-contact-us .contact-form .section-message label{color:#fff!important;}#modal-global-contact-us .lp-input-group .lp-input{border-color:#fff!important;}div#modal-global-contact-us a:not(.lp-socials__link):after{background-color:#FFF!important;}.info-zone_contact_cell a:hover{color:#FFF!important;}.info-zone_contact_cell a:before{background-color:#ccc!important;width:100%;}.info-zone_contact_cell a:after{background-color:#FFF!important;}#modal-global-contact-us .contact-form .section-message label{text-transform:capitalize!important;}.section-message .lp-tcr-message{text-transform:none!important;font-weight:400;}div#modal-global-contact-us .contact-form .section-message form{max-width:490px;}@media only screen and (max-width:1080px){div#modal-global-contact-us .contact-form h2{font-size:37px;}}@media only screen and (max-width:925px){div#modal-global-contact-us .contact-form h2{font-size:25px;}}div#modal-global-contact-us .close{top:4vh;}div#modal-global-contact-us div.modal-content div.contact-form.redesign:after{background-color:rgba(0, 0, 0, 0.6);}#modal-global-contact-us .lp-disclaimer a{-webkit-text-decoration:none!important;text-decoration:none!important;position:relative;display:inline-block;vertical-align:top;}#modal-global-contact-us .lp-disclaimer a:after,#modal-global-contact-us .lp-disclaimer a:before{content:"";height:1px;position:absolute;bottom:0;left:0;box-sizing:border-box;outline:none;-webkit-transition:0.4s;transition:0.4s;}#modal-global-contact-us .lp-disclaimer a:before{background-color:#ccc;width:100%;}#modal-global-contact-us .lp-disclaimer a:after{width:0%;background-color:#FFF!important;-webkit-transition:0.4s;transition:0.4s;}#modal-global-contact-us .lp-disclaimer a:hover{-webkit-text-decoration:none!important;text-decoration:none!important;}#modal-global-contact-us .lp-disclaimer a:hover:after{width:100%;}div#modal-global-contact-us .contact-form{-webkit-background-position:center;background-position:center;}div#modal-global-contact-us .contact-form h2{color:#FFF;}div.mobile-contact-wrapper .contact-form .lp-btn{background-color:#FFF;border-color:#FFF;color:#792617;}div.mobile-contact-wrapper .contact-form .lp-btn:hover{background-color:transparent;border-color:#FFF;color:#FFF;}footer .img-wrap img{-webkit-filter:invert(1);filter:invert(1);}footer .footer .first_text_footer .img_size img{-webkit-filter:invert(1);filter:invert(1);}.navbar .navigation .navigation__item:last-child{content:""!important;display:block;height:30px;background-image:url('https://media-production.lp-cdn.com/media/58cb8d09-2b18-463c-94d6-a81a57ca19b0');background-repeat:no-repeat;-webkit-background-size:contain;background-size:contain;margin-left:15px;margin-right:15px;-webkit-filter:invert(1);filter:invert(1);}.navbar .navigation .navigation__item:last-child .navigation__link span{font-size:0px!important;display:none!important;}@media (max-width: 768px){footer .footer__layout__right{margin-top:0px!important;padding-left:0;}}
31footer .footer .newsletter{margin-bottom:0px!important;}@media (max-width: 768px){body>div.sidemenu .section-options a{font-size:20px!important;}}@media (max-width: 768px){body>div.sidemenu li{margin-bottom:0!important;}}@media (max-width: 768px){nav .header .navbar{padding-left:10px;}nav .header .logo img{max-width:80%!important;}}@media (max-width: 575px){footer .footer__layout__left{margin-left:auto!important;margin-right:auto!important;}}</style>
32    <style id="wow-hide-elements">.wow{visibility:hidden!important}</style>
33        <style id="page-css">
34            #section-b35e5a15-2810-4f45-b7c9-afd516c653fd{color:#fff;--fontColor:#fff;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#ffffff;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:100%;--bgColor_A:1;--bgColor_darkenDir:-1;background-color:#ffffff;--gradient-color:var(--overlay-color, rgba(0, 0, 0, 0.3));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/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431');background-repeat:no-repeat;-webkit-background-position:center;background-position:center;-webkit-background-size:cover;background-size:cover;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd div.custom-intro{height:80vh;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{background-position-y:50%!important;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro{-webkit-align-items:flex-end!important;-webkit-box-align:flex-end!important;-ms-flex-align:flex-end!important;align-items:flex-end!important;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__title{margin-bottom:15vh!important;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{background-attachment:fixed;-webkit-background-position:center;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;}@media only screen and (max-width: 768px){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{background-attachment:unset;}}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:600px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro .container{z-index:1;text-align:center;max-width:900px;}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__title{margin-bottom:0px;font-weight:400;margin-bottom:24px;}@media (max-width: 768px){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__title{font-size:32px;}}@media (max-width: 360px){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__title{font-size:22px;}}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__subtitle{font-weight:400;white-space:pre-line;font-size:21px;line-height:1.57;}@media (max-width: 768px){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .custom-intro__subtitle{font-size:18px;}}#section-b35e5a15-2810-4f45-b7c9-afd516c653fd .description{margin-bottom:15px;}@media (min-width: 960px) and (orientation: landscape){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{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/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431');}}@media (min-width: 1280px) and (orientation: landscape){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{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/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431');}}@media (min-width: 1920px) and (orientation: landscape){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{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/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431');}}@media (min-width: 2560px) and (orientation: landscape){#section-b35e5a15-2810-4f45-b7c9-afd516c653fd{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/4ea9b9cc-dcdc-4ba9-a438-68c930eb6431');}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc{color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#2B2B2D;--bgColor_H:240;--bgColor_S:2%;--bgColor_L:17%;--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:#2B2B2D;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc div.redesign.property-list-section span.property-list__label{background:#792617!important;color:#FFF!important;text-transform:uppercase;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__text{color:#000;background-color:#F9F9F8!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__item{background-color:transparent!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc div.container>ul.property-list .property-list__text{padding:40px;}@media only screen and (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list button.btn{border:1px solid #fff!important;color:#792617!important;background-color:#FFF!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list button.btn:hover{border:1px solid #fff!important;color:#FFF!important;background-color:transparent!important;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc div.property-list-section{padding-top:77px;padding-bottom:88px;}@media only screen and (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc div.property-list-section{padding-top:50px;padding-bottom:64px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc div.redesign ul.property-list{margin-top:0px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__text p:nth-of-type(2){dis
34play:none;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .btn{width:100%;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .redesign .feature h4{text-transform:initial;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section{padding-bottom:140px;}@media (max-width: 991px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section{padding-bottom:100px;}}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section{padding-bottom:40px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section h2{text-align:center;margin-bottom:0;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .title-container{padding-top:100px;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .title-container{padding-top:60px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .title-container +.search-container{margin-top:40px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .description-container{padding-top:32px;max-width:70%;margin:0 auto;text-align:center;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .description-container{max-width:100%;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container{color:black;padding:25px 30px;background-color:white;display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr 1fr auto;grid-template-columns:1fr 1fr 1fr auto;-ms-grid-rows:1fr;grid-template-rows:1fr;gap:0px 15px;grid-template-areas:". . . . .";}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container.show-neighborhood-select{-ms-grid-columns:1fr 1fr 1fr 1fr auto;grid-template-columns:1fr 1fr 1fr 1fr auto;}@media(max-width: 950px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container.show-neighborhood-select{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:auto auto auto auto;grid-template-rows:auto auto auto auto;grid-template-areas:"." "." "." ".";gap:25px;}}@media(max-width: 950px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:auto auto auto auto;grid-template-rows:auto auto auto auto;grid-template-areas:"." "." "." ".";gap:25px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container input[name="area-slider"],#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container input[name="price-slider"]{position:absolute!important;display:block!important;top:0!important;left:0!important;width:0!important;height:0!important;font-size:0!important;line-height:0!important;padding:0!important;margin:0!important;overflow:hidden;outline:none!important;z-index:-9999!important;background:none!important;border-style:solid!important;border-color:transparent!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container select{line-height:1.2!important;width:100%;border:none;border-bottom:1px solid;padding:5px 0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:0px;background-color:transparent;outline:none;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii01NDAgLTMyMCA4MDAgODAwIj48cGF0aCBkPSJNMjI1LjgxMyA0OC45MDdMMTI4IDE0Ni43MiAzMC4xODcgNDguOTA3IDAgNzkuMDkzbDEyOCAxMjggMTI4LTEyOHoiLz48L3N2Zz4K) no-repeat 100% 50%;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .text-search-input{border:none;border-bottom:1px solid;padding:5px 0;width:100%;border-radius:0;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round{height:38px;}@media(max-width: 950px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round{height:50px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-handle{width:10px;height:10px;border-width:1px;border-color:black;top:32px;box-shadow:none;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-bar{background-color:black;height:1px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-line{height:1px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-min,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-max{display:none;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-from:before,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-to:before,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-single:before{display:none;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-from,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-to,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-single{font-size:13px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-from{left:0!important;visibility:visible!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-to{right:0!important;left:auto!important;visibility:visible!important;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-single{display:none;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-from,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-to,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs--round .irs-single{background-color:transparent;color:gray;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs-from,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs-to,#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .irs-single{top:10px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .search-item{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:justify;
34-webkit-justify-content:space-between;justify-content:space-between;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .search-item .search-title{font-weight:700;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .btn-item{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;}@media(max-width: 950px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list-section .search-container .btn-item{display:none;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;-ms-grid-rows:1fr;grid-template-rows:1fr;gap:55px 80px;grid-template-areas:". .";padding:0;color:#000;list-style:none;}@media (max-width: 991px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list{gap:55px 25px;}}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:".";gap:35px 25px;justify-items:center;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list.three-items{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr;grid-template-areas:". . .";gap:55px 40px;}@media (max-width: 1200px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list.three-items{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-template-areas:". .";gap:55px 80px;}}@media (max-width: 991px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list.three-items{gap:55px 25px;}}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list.three-items{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:".";gap:35px 25px;justify-items:center;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list.property-list--share .property-list__share{display:inline-block;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item{background-color:#fff;text-align:center;font-weight:bold;position:relative;min-height:500px;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item{min-height:1px;height:calc(100% - 1px);max-width:325px;width:99%;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item:hover .property-list__hover{opacity:1;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item h4{margin:0 0 7px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item p{white-space:normal;margin:0 0 7px;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item p{margin-bottom:3px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item h5{text-transform:none;margin:0;font-family:var(--global-secondary-font-family);}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item-link{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%;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item-link{height:auto;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__img{width:100%;height:315px;vertical-align:top;background-color:gray;position:relative;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__img{height:200px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__img img{width:100%;height:100%;object-fit:cover;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__text{background-color:#fff;padding:25px 15px 15px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__text{margin-bottom:15px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__label{position:absolute;top:0;right:0;background:#000;color:#fff;
34padding:4px 35px;z-index:2;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .hover-link{position:absolute;top:0;left:0;width:100%;height:100%;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .hover-link{display:none;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__hover{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;cursor:pointer;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__hover{opacity:1;background-color:var(--bgColor);position:static;padding:15px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto;margin:0 -2px;width:calc(100% + 4px);}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__hover h4{text-transform:none;}@media(max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__hover h4{display:none;}}@media (min-width: 769px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__buttons{position:absolute;top:50%;left:50%;width:100%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__view .btn{margin-bottom:20px;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__view .btn{margin-bottom:0;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .btn{vertical-align:top;margin:0 10px;display:none;}@media(max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .btn{margin:0;}}@media(min-width: 769px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .btn.btn--primary-dark{display:inline-block;}}@media(max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .btn.btn--primary-light{display:inline-block;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__share{position:relative;display:none;}@media(max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__share{margin-bottom:25px;margin-top:15px;width:100%;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__share.property-list__share--opened .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__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;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__share .socials .socials__link{width:70px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .is-background-color-light ul.property-list .btn.btn--primary-dark{display:inline-block;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .is-background-color-light ul.property-list .btn.btn--primary-light{display:none;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .redesign ul.property-list{margin-bottom:60px;margin-top:60px;margin-left:0;}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .redesign ul.property-list{margin-bottom:30px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .empty-result{text-align:center;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .label-house{bottom:0;position:absolute;width:100%;padding:8px 0;background:rgba(255, 255, 255, 0.7);}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .label-house{font-size:12px;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item .property-list__mls-attribution{text-shadow:none;width:calc(100% - 200px);margin:0;}@media (max-width: 1024px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc ul.property-list .property-list__item .property-list__mls-attribution{width:100%;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__item .property-list__mls-attribution+.property-list__mls-logo{position:absolute!important;right:15px!important;bottom:15px!important;}@media (max-width: 1024px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__item .property-list__mls-attribution+.property-list__mls-logo{position:relative!important;right:unset!important;bottom:unset!important;}}@media (max-width: 768px){#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__item .property-list__mls-logo{display:inline-block!important;}}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .property-list__item:has(.mls-compliance-container) .property-list__text{padding-bottom:0;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc .mls-compliance-container{margin-top:auto;padding:0 15px 15px;}#section-f49c80d5-1090-4356-bdb7-81766af37cfc>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e{display:none;color:#000;--fontColor:#000;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:0%;--fontColor_A:1;--fontColor_darkenDir:1;--bgColor:#2B2B2D;--bgColor_H:240;--bgColor_S:2%;--bgColor_L:17%;--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:#2B2B2D;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e div.redesign.property-list-section span.property-list__label{background:#792617!important;color:#FFF!important;text-transform:uppercase;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__text{color:#000;background-color:#F9F9F8!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__item{background-color:transparent!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e div.container>ul.property-list .property-list__text{padding:40px;}@media only screen and (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list button.btn{border:1px solid #fff!important;color:#792617!important;background-color:#FFF!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list button.btn:hover{border:1px solid #fff!important;color:#FFF!important;background-color:transparent!important;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e div.property-list-section{padding-top:77px;padding-bottom:88px;}@media only screen and (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e div.property-list-section{padding-top:50px;padding-bottom:64px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e div.redesign ul.property-list{margin-top:0px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__text p:nth-of-type(2){dis
34play:none;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .btn{width:100%;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .redesign .feature h4{text-transform:initial;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section{padding-bottom:140px;}@media (max-width: 991px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section{padding-bottom:100px;}}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section{padding-bottom:40px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section h2{text-align:center;margin-bottom:0;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .title-container{padding-top:100px;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .title-container{padding-top:60px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .title-container +.search-container{margin-top:40px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .description-container{padding-top:32px;max-width:70%;margin:0 auto;text-align:center;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .description-container{max-width:100%;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container{color:black;padding:25px 30px;background-color:white;display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr 1fr auto;grid-template-columns:1fr 1fr 1fr auto;-ms-grid-rows:1fr;grid-template-rows:1fr;gap:0px 15px;grid-template-areas:". . . . .";}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container.show-neighborhood-select{-ms-grid-columns:1fr 1fr 1fr 1fr auto;grid-template-columns:1fr 1fr 1fr 1fr auto;}@media(max-width: 950px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container.show-neighborhood-select{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:auto auto auto auto;grid-template-rows:auto auto auto auto;grid-template-areas:"." "." "." ".";gap:25px;}}@media(max-width: 950px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container{-ms-grid-columns:1fr;grid-template-columns:1fr;-ms-grid-rows:auto auto auto auto;grid-template-rows:auto auto auto auto;grid-template-areas:"." "." "." ".";gap:25px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container input[name="area-slider"],#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container input[name="price-slider"]{position:absolute!important;display:block!important;top:0!important;left:0!important;width:0!important;height:0!important;font-size:0!important;line-height:0!important;padding:0!important;margin:0!important;overflow:hidden;outline:none!important;z-index:-9999!important;background:none!important;border-style:solid!important;border-color:transparent!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container select{line-height:1.2!important;width:100%;border:none;border-bottom:1px solid;padding:5px 0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:0px;background-color:transparent;outline:none;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii01NDAgLTMyMCA4MDAgODAwIj48cGF0aCBkPSJNMjI1LjgxMyA0OC45MDdMMTI4IDE0Ni43MiAzMC4xODcgNDguOTA3IDAgNzkuMDkzbDEyOCAxMjggMTI4LTEyOHoiLz48L3N2Zz4K) no-repeat 100% 50%;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .text-search-input{border:none;border-bottom:1px solid;padding:5px 0;width:100%;border-radius:0;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round{height:38px;}@media(max-width: 950px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round{height:50px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-handle{width:10px;height:10px;border-width:1px;border-color:black;top:32px;box-shadow:none;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-bar{background-color:black;height:1px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-line{height:1px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-min,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-max{display:none;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-from:before,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-to:before,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-single:before{display:none;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-from,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-to,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-single{font-size:13px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-from{left:0!important;visibility:visible!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-to{right:0!important;left:auto!important;visibility:visible!important;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-single{display:none;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-from,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-to,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs--round .irs-single{background-color:transparent;color:gray;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs-from,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs-to,#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .irs-single{top:10px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .search-item{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:justify;
34-webkit-justify-content:space-between;justify-content:space-between;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .search-item .search-title{font-weight:700;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .btn-item{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;}@media(max-width: 950px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list-section .search-container .btn-item{display:none;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;-ms-grid-rows:1fr;grid-template-rows:1fr;gap:55px 80px;grid-template-areas:". .";padding:0;color:#000;list-style:none;}@media (max-width: 991px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list{gap:55px 25px;}}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:".";gap:35px 25px;justify-items:center;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list.three-items{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr;grid-template-areas:". . .";gap:55px 40px;}@media (max-width: 1200px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list.three-items{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-template-areas:". .";gap:55px 80px;}}@media (max-width: 991px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list.three-items{gap:55px 25px;}}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list.three-items{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:".";gap:35px 25px;justify-items:center;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list.property-list--share .property-list__share{display:inline-block;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item{background-color:#fff;text-align:center;font-weight:bold;position:relative;min-height:500px;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item{min-height:1px;height:calc(100% - 1px);max-width:325px;width:99%;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item:hover .property-list__hover{opacity:1;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item h4{margin:0 0 7px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item p{white-space:normal;margin:0 0 7px;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item p{margin-bottom:3px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item h5{text-transform:none;margin:0;font-family:var(--global-secondary-font-family);}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item-link{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%;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item-link{height:auto;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__img{width:100%;height:315px;vertical-align:top;background-color:gray;position:relative;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__img{height:200px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__img img{width:100%;height:100%;object-fit:cover;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__text{background-color:#fff;padding:25px 15px 15px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__text{margin-bottom:15px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__label{position:absolute;top:0;right:0;background:#000;color:#fff;
34padding:4px 35px;z-index:2;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .hover-link{position:absolute;top:0;left:0;width:100%;height:100%;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .hover-link{display:none;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__hover{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;cursor:pointer;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__hover{opacity:1;background-color:var(--bgColor);position:static;padding:15px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto;margin:0 -2px;width:calc(100% + 4px);}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__hover h4{text-transform:none;}@media(max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__hover h4{display:none;}}@media (min-width: 769px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__buttons{position:absolute;top:50%;left:50%;width:100%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__view .btn{margin-bottom:20px;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__view .btn{margin-bottom:0;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .btn{vertical-align:top;margin:0 10px;display:none;}@media(max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .btn{margin:0;}}@media(min-width: 769px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .btn.btn--primary-dark{display:inline-block;}}@media(max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .btn.btn--primary-light{display:inline-block;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__share{position:relative;display:none;}@media(max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__share{margin-bottom:25px;margin-top:15px;width:100%;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__share.property-list__share--opened .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__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;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__share .socials .socials__link{width:70px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .is-background-color-light ul.property-list .btn.btn--primary-dark{display:inline-block;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .is-background-color-light ul.property-list .btn.btn--primary-light{display:none;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .redesign ul.property-list{margin-bottom:60px;margin-top:60px;margin-left:0;}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .redesign ul.property-list{margin-bottom:30px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .empty-result{text-align:center;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .label-house{bottom:0;position:absolute;width:100%;padding:8px 0;background:rgba(255, 255, 255, 0.7);}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .label-house{font-size:12px;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item .property-list__mls-attribution{text-shadow:none;width:calc(100% - 200px);margin:0;}@media (max-width: 1024px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e ul.property-list .property-list__item .property-list__mls-attribution{width:100%;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__item .property-list__mls-attribution+.property-list__mls-logo{position:absolute!important;right:15px!important;bottom:15px!important;}@media (max-width: 1024px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__item .property-list__mls-attribution+.property-list__mls-logo{position:relative!important;right:unset!important;bottom:unset!important;}}@media (max-width: 768px){#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__item .property-list__mls-logo{display:inline-block!important;}}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .property-list__item:has(.mls-compliance-container) .property-list__text{padding-bottom:0;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e .mls-compliance-container{margin-top:auto;padding:0 15px 15px;}#section-f0bc03e3-e280-4c80-b233-d55eb7df478e>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655{color:#FFF;--fontColor:#FFF;--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:#000000;--bgColor_H:0;--bgColor_S:0%;--bgColor_L:0%;--bgColor_A:1;--bgColor_darkenDir:1;--section-padding-top:calc(4 / 4 * var(--global-section-padding));--section-padding-bottom:calc(4 / 4 * var(--global-section-padding));background-color:#000000;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed{padding:80px 0;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .title{margin:0 20px 0 0;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .instagram-link{display:block;margin:0 20px 0 0;color:var(--global-primary-font-color);}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .instagram-link .instagram-name{display:inline;margin:0;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .title+.instagram-link{margin-top:5px;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .follow-button{margin:20px 0 0 0;display:block;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .nav-button:not(.slick-disabled):hover{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-nav-prev{margin-left:30px;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-nav-next{margin-left:10px;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .hidden-control{display:none;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single:first-child,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi:first-child{margin-left:auto;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single:last-child,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi:last-child{margin-right:auto;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single.type2,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi.type2{width:calc(100% / 5 * 2);}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single.type3,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi.type3{width:calc(100% / 2);}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single.type4,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi.type4{width:calc(100% / 2);}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single.type5,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi.type5{width:100%;}@media (max-width: 440px){#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-container{padding:0;width:100%;}}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-feed{width:calc(100% + 20px);position:relative;left:-10px;overflow:hidden;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-slider{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-item__img{position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;background:center/cover no-repeat;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-item:hover .ig-feed-item__info{opacity:1;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-item__caption{text-overflow:ellipsis;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-item:hover .video-icon{opacity:0;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single .ig-feed-item__info{padding:15%;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-single .ig-feed-item__caption{-webkit-line-clamp:7;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed-item{background-color:var(--tileColor, #000);display:block;width:100%;padding-bottom:125%;overflow:hidden;position:relative;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi::before{content:'';display:block;width:100%;padding-bottom:125%;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .slide-multi-content .ig-feed-item{width:calc(50% - 10px);padding-bottom:calc(62.5% - 12.5px);}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .bottom-controls{width:100%;display:none;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .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-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .bottom-nav-button.slick-disabled{opacity:0.6;pointer-events:none;cursor:default;}@media (max-width: 767px){#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-right,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-left{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .title,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .instagram-link{margin-right:0;text-align:center;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-nav-prev,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .top-nav-next{display:none;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .bottom-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .ig-feed{display:none;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655 .has-data .ig-feed{display:block;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655.has-data .ig-feed,#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655#section-temp .ig-feed{display:block;}#section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655>div:last-child{padding-top:calc(4 / 4 * var(--global-section-padding))!important;padding-bottom:calc(4 / 4 * var(--global-section-padding))!important;}#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:rgba(43, 43, 45, 1);color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(43, 43, 45, 1);--bgColor_H:240;--bgColor_S:2%;--bgColor_L:17%;--bgColor_A:1;--bgColor_darkenDir:1;}body>div.sidemenu{background-color:transparent;}body>div.sidemenu .wrapper{--linkColor:hsla(
35      var(--fontColor_H, 0),
36      var(--fontColor_S, 0%),
37      calc(50% + var(--fontColor_darkenDir, -1) * 13%),
38      var(--fontColor_A, 1)
39    );opacity:1;-webkit-transition:-webkit-transform 0s linear,opacity 0.2s ease-out;transition:transform 0s linear,opacity 0.2s ease-out;background-color:var(--bgColor, rgba(0, 0, 0, 0.9));color:var(--fontColor, #fff);position:fixed;top:0;right:0;height:100%;width:100vw;}body>div.sidemenu .holder{font-size:20px;top:150px;left:auto;right:0;position:absolute;max-width:1200px;width:100%;height:100%;}body>div.sidemenu .title{font-size:12px;text-align:right;width:100%;padding-right:150px;margin-bottom:30px;text-transform:uppercase;letter-spacing:1px;font-weight:bold;}@media (max-width: 992px){body>div.sidemenu .title{padding-right:20px;}}body>div.sidemenu .section-options{margin:0 auto;overflow-y:scroll;height:calc(100% - 200px);}body>div.sidemenu .section-options::-webkit-scrollbar{width:7px;}body>div.sidemenu .section-options::-webkit-scrollbar-thumb{border-radius:10px;background-color:#4d5259;}body>div.sidemenu .section-options .option{text-align:right;border-bottom:2px none;}body>div.sidemenu .section-options a,body>div.sidemenu .section-options button{font-family:var(--global-primary-font-family);line-height:70px;color:var(--linkColor);font-size:35px;-webkit-text-decoration:none;text-decoration:none;display:inline-block;padding-right:150px;border:none;background-color:transparent;cursor:pointer;border-bottom:2px solid transparent;text-transform:none;-webkit-transition:.3s linear all;transition:.3s linear all;}body>div.sidemenu .section-options a:hover:not(.sub-nav-link),body>div.sidemenu .section-options button:hover:not(.sub-nav-link){color:var(--fontColor, #fff);border-bottom:2px solid var(--fontColor, #fff);}@media (max-width: 992px){body>div.sidemenu .section-options a,body>div.sidemenu .section-options button{padding-right:20px;}}body>div.sidemenu .sidemenu-close{width:24px;height:24px;display:block;padding:0;border:none;background-color:transparent;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;}body>
39div.sidemenu .sidemenu-close:hover{-webkit-transform:scale(1.3);-moz-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3);}body>div.sidemenu .sidemenu-close:before,body>div.sidemenu .sidemenu-close:after{content:'';display:block;width:30px;height:2px;background-color:var(--fontColor, #fff);position:absolute;left:50%;top:50%;}body>div.sidemenu .sidemenu-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 .sidemenu-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);}body>div.sidemenu button.toggle{border:none;background:none;position:absolute;right:76px;top:74px;}body>div.sidemenu button.toggle:focus,body>div.sidemenu button.toggle:active{outline:none;}body>div.sidemenu .sub-nav-container{position:relative;}body>div.sidemenu .sub-nav{opacity:0;visibility:hidden;-webkit-transition:all .5s ease;transition:all .5s ease;max-height:0;}body>div.sidemenu .sub-nav ul{margin:0;padding-top:10px;}body>div.sidemenu .sub-nav.visible{opacity:1;visibility:visible;max-height:10000px;}body>div.sidemenu .sub-nav a,body>div.sidemenu .sub-nav button{font-size:25px;line-height:45px;}body>div.sidemenu .sub-nav a:hover,body>div.sidemenu .sub-nav button:hover{color:var(--fontColor, #fff);}footer{background-color:rgba(43, 43, 45, 1);color:rgba(255, 255, 255, 1);--fontColor:rgba(255, 255, 255, 1);--fontColor_H:0;--fontColor_S:0%;--fontColor_L:100%;--fontColor_A:1;--fontColor_darkenDir:-1;--bgColor:rgba(43, 43, 45, 1);--bgColor_H:240;--bgColor_S:2%;--bgColor_L:17%;--bgColor_A:1;--bgColor_darkenDir:1;}footer .pre-wrap{white-space:pre-wrap;}footer ul{margin-top:0;margin-bottom:15px;}footer li{margin-bottom:0;}footer ul ul{margin-bottom:0;}footer a{background-color:transparent;color:inherit;-webkit-text-decoration:none;text-decoration:none;}footer a:-webkit-any-link{-webkit-text-decoration:none;text-decoration:none;}footer a:active,footer a:hover{outline:0;}footer a.underlined{-webkit-text-decoration:underline;text-decoration:underline;}footer a.underlined:hover{-webkit-text-decoration:none;text-decoration:none;}footer .container{width:100%;padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;}@media (max-width: 576px){footer .container{max-width:100%;padding-right:16px;padding-left:16px;}}@media (min-width: 992px){footer .container{max-width:960px;}}@media (min-width: 1340px){footer .container{padding:0;max-width:1070px;}}footer h1,footer h2,footer h3{font-weight:normal;font-stretch:normal;font-style:normal;letter-spacing:normal;}footer h1{font-size:42px;line-height:1.19;}footer h2{font-size:30px;line-height:1.33;}footer h3{font-size:18px;line-height:1.67;}@media (max-width: 576px){footer h1{font-size:32px;line-height:1.31;}footer h2{font-size:26px;line-height:1.38;}footer h3{font-size:18px;line-height:1.56;}}footer .btn--subscribe{background-color:transparent;border:solid 2px;font-size:14px;line-height:1.5;color:var(--textColor);padding:14px 35px;cursor:pointer;font-weight:700;-webkit-transition:0.2s all;transition:0.2s all;}@media (min-width: 540px){footer .btn--subscribe:hover{color:var(--bgColor);background-color:var(--fontColor);border-color:var(--fontColor);}}footer .btn:disabled{background-color:#f4f4f4;color:#c1c1c1;}footer .btn--white{color:white;border-color:white;}@media (min-width: 540px){footer .btn--white:hover{background-color:#575757;border-color:#575757;color:white;}}footer .btn--white:disabled{background-color:#f4f4f4;color:#c1c1c1;}footer .footer{padding:91px 0 42px 0;}@media (max-width: 768px){footer .footer{padding:46px 0 100px;}}footer .footer .company-logo.light{display:none;}footer .footer.dark .company-logo.light{display:block;}footer .footer.dark .company-logo.dark{display:none;}footer .footer.light .company-logo.light{display:none;}footer .footer.light .company-logo.dark{display:block;}footer .footer .company-logo{display:block;
39max-width:200px;}footer .footer__layout{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: 576px){footer .footer__layout{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .footer__layout__left{-webkit-flex-basis:57%;-ms-flex-preferred-size:57%;flex-basis:57%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}footer .footer__layout__right{font-size:18px;-webkit-flex-basis:40%;-ms-flex-preferred-size:40%;flex-basis:40%;padding-left:15px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}@media (max-width: 576px){footer .footer__layout__right{margin-top:53px;padding-left:0;}}footer .footer .company{padding-right:15px;}@media (max-width: 576px){footer .footer .company{padding-right:0;}}footer .footer .company__info__newsletter{max-width:430px;}footer .footer .company__info__newsletter p{margin-bottom:0;}footer .footer .company__contacts{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 -37px;margin-top:100px;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}@media (max-width: 768px){footer .footer .company__contacts{margin-top:40px;}}footer .footer .company__contacts>div{padding:0 37px 35px;}footer .footer .company__contacts p{margin-bottom:10px;}@media (max-width: 576px){footer .footer .company__contacts p{margin-bottom:0;}}@media (hover: hover) and (pointer: fine){footer .footer .company__contacts a:hover{-webkit-text-decoration:underline;text-decoration:underline;}}@media (max-width: 576px){footer .footer .company__contacts{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}footer .footer .company__address{max-width:162px;margin-right:75px;}@media (max-width: 576px){footer .footer .company__address{margin-bottom:28px;}}footer .footer .newsletter{margin-bottom:58px;overflow:hidden;}footer .footer .newsletter__info{max-width:280px;}footer .footer .newsletter__subscribe{margin-top:47px;}footer .footer .newsletter__subscribe.hide{display:none;}footer .footer .newsletter__subscribe.success .btn{display:none;}footer .footer .newsletter__subscribe input[name='email']{background:none;border:none;border-bottom:solid 1px;font-size:15px;line-height:1.67;color:var(--fontColor);width:100%;margin-bottom:0;-webkit-transition:0.3s all;transition:0.3s all;border-radius:0;}footer .footer .newsletter__subscribe input[name='email']:focus{outline:none;}footer .footer .newsletter p.success{margin-top:1em;font-style:italic;-webkit-transition:all 0.4s ease;transition:all 0.4s ease;}footer .footer .newsletter p.hide{display:none;}footer .footer__middle{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width: 576px){footer .footer__middle{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}}footer .footer .logos{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}@media (max-width: 576px){footer .footer .logos{margin-bottom:30px;margin-top:36px;}}footer .footer .logos__logo{width:50px;height:50px;margin-right:45px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}footer .footer .logos__logo img{max-width:100%;max-height:100%;}footer .footer .socials{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;font-size:12px;gap:15px;}@media (max-width: 576px){footer .footer .socials{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}}footer .footer .socials>li{padding:0;margin:0;}footer .footer .socials__item{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;
39-webkit-justify-content:center;justify-content:center;font-size:unset;position:relative;background-color:var(--fontColor, #000);color:var(--bgColor, #fff);}footer .footer .socials__item svg{width:1em;height:1em;}footer .footer .socials__item:hover{background-color:hsla(var(--fontColor_H, 0), var(--fontColor_S, 0%), var(--fontColor_L, 0%), .7);}footer .footer__bottom{margin-top:55px;padding-bottom:24px;}footer .footer__bottom-copyrights{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;}@media (max-width: 768px){footer .footer__bottom-copyrights{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}footer .h-pot{height:0;width:0;overflow:hidden;visibility:hidden;}footer .img-wrap{max-width:100px;width:100%;}@media (min-width: 769px){footer .img-wrap{margin:0 20px 0 0;}}footer .img-wrap img{width:100%;object-fit:cover;}footer .logo-powered{font-size:18px;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;}@media (max-width: 768px){footer .logo-powered{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}@media (max-width: 768px){footer .copyright-box{margin:5px 0 0 0;padding:0;}}footer .luxury-link{white-space:nowrap;position:relative;display:inline-block;}footer .luxury-link:after{content:"";position:absolute;display:block;width:100%;height:1px;bottom:0;left:0;-webkit-transition:.3s all linear;transition:.3s all linear;background:currentColor;}footer .luxury-link:hover:after{width:0;}footer .footer__disclaimers{padding-top:24px;padding-bottom:24px;}footer .footer .newsletter__subscribe input[name='email']::-webkit-input-placeholder{color:var(--fontColor);}footer .footer .newsletter__subscribe input[name='email']::-moz-placeholder{color:var(--fontColor);}footer .footer .newsletter__subscribe input[name='email']:-ms-input-placeholder{color:var(--fontColor);}footer .footer .newsletter__subscribe input[name='email']::placeholder{color:var(--fontColor);}body>div.mobile-contact-wrapper{z-index:200;position:relative;}body>div.mobile-contact-wrapper .lp-ico:before{content:'';width:1em;height:1em;background-color:currentColor;-webkit-background-size:cover;background-size:cover;display:block;-webkit-mask-position:center;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-transition:all .3s;transition:all .3s;}body>div.mobile-contact-wrapper .lp-ico-search:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewB
39ox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6231 21.3002L17.1372 16.8143M19.5606 10.9877C19.5606 15.5441 15.8669 19.2377 11.3106 19.2377C6.75421 19.2377 3.06055 15.5441 3.06055 10.9877C3.06055 6.43135 6.75421 2.73769 11.3106 2.73769C15.8669 2.73769 19.5606 6.43135 19.5606 10.9877Z' stroke='black' stroke-width='1.82813' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-arrow-top:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8716 9.99976L8.87158 5.99976L4.87158 9.99976' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-scroll-top:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 3H3M12 21V7M12 7L5 14M12 7L19 14' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");}body>div.mobile-contact-wrapper .lp-ico-close:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5986 6.32617L5.59863 18.3262M5.59863 6.32617L17.5986 18.3262' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E ");}body>div.mobile-contact-wrapper .lp-ico-phone:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8
39699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8699 6.57142C14.7459 6.74157 15.551 7.16808 16.1821 7.79637C16.8132 8.42465 17.2416 9.22612 17.4126 10.0982M13.8699 3C15.6899 3.20128 17.3871 4.01265 18.6827 5.3009C19.9784 6.58914 20.7955 8.27768 21 10.0893M10.4412 13.592C9.36357 12.5192 8.51264 11.3061 7.88843 10.0118C7.83474 9.90047 7.80789 9.84481 7.78726 9.77437C7.71397 9.52405 7.76662 9.21668 7.91909 9.00469C7.962 8.94504 8.01326 8.894 8.11578 8.79194C8.42933 8.47979 8.58611 8.32372 8.6886 8.16677C9.07515 7.57491 9.07515 6.81189 8.6886 6.22002C8.58611 6.06308 8.42933 5.90701 8.11578 5.59486L7.94101 5.42087C7.46438 4.94637 7.22607 4.70912 6.97012 4.58024C6.4611 4.32392 5.85996 4.32392 5.35093 4.58024C5.09499 4.70912 4.85667 4.94637 4.38004 5.42087L4.23867 5.56161C3.76367 6.03449 3.52617 6.27093 3.34478 6.59239C3.1435 6.94909 2.99878 7.5031 3.00001 7.91222C3.00111 8.28092 3.07295 8.53291 3.21664 9.03688C3.98881 11.7453 5.44574 14.3009 7.58743 16.4331C9.72911 18.5652 12.2963 20.0156 15.0168 20.7843C15.523 20.9274 15.7761 20.9989 16.1465 21C16.5575 21.0012 17.114 20.8571 17.4723 20.6568C17.7952 20.4762 18.0327 20.2397 18.5077 19.7669L18.649 19.6261C19.1257 19.1516 19.364 18.9144 19.4934 18.6596C19.7509 18.1528 19.7509 17.5544 19.4934 17.0476C19.364 16.7928 19.1257 16.5556 18.649 16.0811L18.4743 15.9071C18.1607 15.5949 18.0039 15.4388 17.8463 15.3368C17.2518 14.952 16.4853 14.952 15.8908 15.3368C15.7332 15.4388 15.5764 15.5949 15.2628 15.9071C15.1603 16.0091 15.1091 16.0602 15.0491 16.1029C14.8362 16.2547 14.5274 16.3071 14.276 16.2341C14.2052 16.2136 14.1493 16.1869 14.0375 16.1334C12.7374 15.512 11.5189 14.6648 10.4412 13.592Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-sms:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 11.5C21.0034 12.8199 20.6951 14.1219 20.1 15.3C19.3944 16.7117 18.3098 17.8992 16.9674 18.7293C15.6251 19.5594 14.0782 19.9994 12.5 20C11.1801 20.0034 9.87812 19.6951 8.7 19.1L3 21L4.9 15.3C4.30493 14.1219 3.99656 12.8199 4 11.5C4.00061 9.92176 4.44061 8.37485 5.27072 7.03255C6.10083 5.69025 7.28825 4.60557 8.7 3.9C9.87812 3.30493 11.1801 2.99656 12.5 3H13C15.0843 3.11499 17.053 3.99476 18.5291 5.47086C20.0052 6.94695 20.885 8.91565 21 11V11.5Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper .lp-ico-email:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.85
3971 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}body>div.mobile-contact-wrapper a{-webkit-text-decoration:none;text-decoration:none;}body>div.mobile-contact-wrapper .btn-holder{bottom:-50px;left:19px;position:fixed;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:13px;opacity:0;-webkit-transition:all .3s;transition:all .3s;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .btn-holder{right:19px;padding:0 48px;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}body>div.mobile-contact-wrapper .btn-holder.visible{bottom:28px;opacity:1;}body>div.mobile-contact-wrapper .search-btn{width:48px;height:48px;border-radius:999px;font-size:0;line-height:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-transition:all .3s;transition:all .3s;padding:12px;color:#141414;background:#fff;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .search-btn{position:absolute;left:0;bottom:0;}}body>div.mobile-contact-wrapper .search-btn:before{width:24px;height:24px;}body>div.mobile-contact-wrapper .connect-btn{height:48px;padding:0 24px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;text-transform:uppercase;border-radius:25px;color:var(--pillTextColor);background:var(--pillBackgroundColor);border:1px solid rgba(255, 255, 255, 0.2);cursor:pointer;font-size:10px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:0.4px;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-transition:all .4s;transition:all .4s;box-shadow:0 0 0 0 rgba(255, 255, 255, 0.2);-webkit-animation:pulsate 2s ease infinite;animation:pulsate 2s ease infinite;}body>div.mobile-contact-wrapper .connect-btn:before{width:16px;height:16px;}body>div.mobile-contact-wrapper .pop-up{display:none;position:fixed;bottom:0;left:0;width:100%;-webkit-transition:all .3s;transition:all .3s;border-radius:16px 16px 0 0;color:var(--textColor);background:var(--backgroundColor);}@media (max-height: 850px){body>div.mobile-contact-wrapper .pop-up{max-height:85vh;overflow-y:auto;}}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up{max-height:none;overflow-y:initial;max-width:637px;border-radius:16px;bottom:28px;left:19px;}}body>div.mobile-contact-wrapper .pop-up .lp-container{padding-top:24px;padding-bottom:24px;-webkit-box-pack:center;-ms-flex-pack:center;
39-webkit-justify-content:center;justify-content:center;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up .lp-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:40px;padding-bottom:40px;min-height:450px;padding-left:56px;padding-right:56px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}body>div.mobile-contact-wrapper .pop-up .close-btn{width:44px;height:44px;background-color:transparent;border-color:transparent;display:block;margin:24px auto 0;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--textColor);cursor:pointer;padding:10px;border:0;}body>div.mobile-contact-wrapper .pop-up .close-btn:before{width:24px;height:24px;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .pop-up .close-btn{position:absolute;top:14px;right:12px;margin:0;}}body>div.mobile-contact-wrapper .pop-up .icon-btn{width:44px;height:44px;border-radius:999px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:8px;color:var(--textColor);position:relative;}body>div.mobile-contact-wrapper .pop-up .icon-btn:after{position:absolute;bottom:0;width:100%;left:0;border-radius:999px;
39height:100%;content:'';border:solid 1px var(--textColor);opacity:.3;}body>div.mobile-contact-wrapper .pop-up .icon-btn:before{width:24px;height:24px;}body>div.mobile-contact-wrapper .success-block{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media (min-width: 1025px){body>div.mobile-contact-wrapper .success-block{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}body>div.mobile-contact-wrapper .success-block .lp-btn{margin-top:24px;}body>div.mobile-contact-wrapper .contact-form{margin:0;}@media (max-width: 1024px){body>div.mobile-contact-wrapper .contact-form__item{width:100%;}}body>div.mobile-contact-wrapper .contact-form__item .lp-input{width:100%;}body>div.mobile-contact-wrapper .contact-form__item .is-placeholder{color:#818181;}body>div.mobile-contact-wrapper .contact-form__item+.contact-form__item{margin-top:16px;}body>div.mobile-contact-wrapper .contact-form.show-success .contact-form__container,body>div.mobile-contact-wrapper .contact-form.success .contact-form__container{display:none;}body>div.mobile-contact-wrapper .contact-form.show-success .success-block,body>div.mobile-contact-wrapper .contact-form.success .success-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}body>div.mobile-contact-wrapper .contact-form .lp-disclaimer{margin-top:16px;}body>div.mobile-contact-wrapper .contact-form .lp-h3{margin-bottom:16px;}body>div.mobile-contact-wrapper .success-message{font-size:22px;}@-webkit-keyframes pulsate{0%{box-shadow:0 0 0 0 rgba(255, 255, 255, 0.2);}50%{box-shadow:0 0 4px 6px rgba(255, 255, 255, .5);}100%{box-shadow:0 0 12px 12px rgba(255, 255, 255, 0);}}
40        </style>
41    <style id="custom-style-css">.hyperlink-style-1{color:rgba(0, 0, 0, 1)!important;}.hyperlink-style-1:hover{color:rgba(26, 26, 26, 1)!important;}.button-style-1{color:rgba(121, 38, 23, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(121, 38, 23, 1)!important;}.button-style-1:hover{color:rgba(255,255,255,1)!important;background-color:rgba(121, 38, 23, 1)!important;border-color:rgba(121, 38, 23, 1)!important;}.social_icons-style-1 a{border-color:rgba(121, 38, 23, 1)!important;background-color:rgba(121, 38, 23, 1)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-1 a:hover{border-color:rgba(121, 38, 23, 1)!important;background-color:rgba(0, 0, 0, 0)!important;color:rgba(121, 38, 23, 1)!important;}.social_icons-style-1 a i{color:inherit!important;}
41.social_icons-style-1 a svg,.social_icons-style-1 a svg path{fill:currentColor!important;}.pagination-style-1 li a{color:rgba(121, 38, 23, 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(121, 38, 23, 1)!important;border-color:rgba(121, 38, 23, 1)!important;}.pagination-style-1 li.active a{color:rgba(255, 255, 255, 1)!important;background-color:rgba(121, 38, 23, 1)!important;border-color:rgba(121, 38, 23, 1)!important;}.hyperlink-style-2{color:rgba(255, 255, 255, 1)!important;}.hyperlink-style-2:hover{color:rgba(255, 255, 255, 0.7)!important;}.social_icons-style-2 a{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 1)!important;color:rgba(121, 38, 23, 1)!important;}.social_icons-style-2 a:hover{border-color:rgba(255, 255, 255, 1)!important;background-color:rgba(255, 255, 255, 0)!important;color:rgba(255, 255, 255, 1)!important;}.social_icons-style-2 a i{color:inherit!important;}
41.social_icons-style-2 a svg,.social_icons-style-2 a svg path{fill:currentColor!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(121, 38, 23, 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(121, 38, 23, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255,255,255,1)!important;}.button-style-2{color:rgba(255, 255, 255, 1)!important;background-color:rgba(0, 0, 0, 0)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-2:hover{color:rgba(121, 38, 23, 1)!important;background-color:rgba(255, 255, 255, 1)!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-5{color:rgba(255, 255, 255, 1)!important;background-color:rgba(121, 38, 23, 1)!important;border-color:rgba(121, 38, 23, 1)!important;}.button-style-5:hover{color:rgba(121, 38, 23, 1)!important;background-color:rgba(0, 0, 0, 0.01)!important;border-color:rgba(121, 38, 23, 1)!important;}.button-style-6{color:rgba(121, 38, 23, 1)!important;background-color:#FFFFFF!important;border-color:rgba(255, 255, 255, 1)!important;}.button-style-6:hover{color:#FFFFFF!important;background-color:rgba(0, 0, 0, 0)!important;border-color:#FFFFFF!important;}</style>
42        <!-- LP Consent bootstrap: blocking; resolves consent state, pushes Consent Mode
43             defaults, and dynamically loads the locale + main (and banner if needed). -->
44        
44<script src="https://cdn.luxurypresence.com/scripts/lp-consent/latest/lp-consent-boot.js" data-website-id="ff06f655-0c64-45c8-9c55-e8468b4e5303"></script>
44
45
46
47        
47<script>
48            (function utmParse() {
49                const url = new URL(window.location.href);
50                if (url.search) {
51                    const utm = url.search.split(/\?|&/g).reduce((acc, current) => {
52                        const matched = current.match(/utm_(content|campaign|medium|source|term|id)|gclid/g);
53                        if (matched) {
54                        acc[matched[0]] = current.replace(`${matched[0]}=`, '');
55                        }
56                        return acc;
57                    }, {});
58                    if (Object.keys(utm).length) {
59                        window.localStorage.setItem('utm_vars', JSON.stringify(utm));
60                    } else {
61                        // Remove old utm vars
62                        window.localStorage.removeItem('utm_vars');
63                    }
64                }
65                // Set referrer in local storage
66                // This is meant to be stored once to avoid self-referrals and to have the first referrer only.
67                if (!window.localStorage.getItem('referrer')) {
68                    // Capture the Referrer URL
69                    const referrer = document.referrer;
70                    if (referrer) {
71                        // Only store the referrer if it comes from outside the current domain (to avoid self-referrals)
72                        const currentDomain = window.location.hostname;
73                        const referrerDomain = new URL(referrer).hostname;
74
75                        if (referrerDomain !== currentDomain) {
76                            // Store it in localStorage
77                            localStorage.setItem('referrer', referrer);
78                        }
79                    }
80                }
81            })();
82        </script>
82
83        <!-- Bing Webmaster Tools Verification -->
84<script>
85        // Check if on the homepage before the body loads
86        if (window.location.pathname === '/' || window.location.pathname === '/index.html') {
87            document.write('<meta name="msvalidate.01" content="1E5445451A7B3C43718A1C599CEBE653" />');
88        }
89</script>
89
90
91
92<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 92-93
92
93<script async src="https://www.googletagmanager.com/gtag/js?id=
93G-FY363TT7G6
vendor: 13 bytes, line 93
93"></script>
94<script>
vendor: 130 bytes, lines 95-98
95window.dataLayer = window.dataLayer || [];
96function gtag(){dataLayer.push(arguments);}
97gtag('js', new Date());
98gtag('config', '
98G-FY363TT7G6
vendor: 5 bytes, line 98
98');
99</script>
99
100    <!-- GOOGLE TRANSLATE STYLES are moved to external CSS -->
101</head>
102<body>
103    <div id="google_translate_element" style="display: none"></div>
104
105      <div id="global-loader" style="height:100%;width:100%;position:fixed;z-index:9999;left:0;top:0;background-color:rgba(43, 43, 45, 1);overflow-x:hidden;transition:1s;">
106          <div style="position:absolute;height:100vh;text-align:center;bottom:0;left:0;right: 0;display:flex;align-items:center;">
107              <img style="margin:0 auto;" src="https://media-production.lp-cdn.com/cdn-cgi/image/format&#x3D;auto,quality&#x3D;85/https://media-production.lp-cdn.com/media/3d3c6319-f7f9-41fd-bc4d-d3c27b2149fb" />
108          </div>
109      </div>
110      
110<script>
111        if (window.sessionStorage.getItem('global_loading_displayed') === 'yes') {
112          (function () {
113            document.getElementById('global-loader').remove();
114          })();
115        }
116      </script>
116
117
118        <nav id="global-navbar" data-el-id="43e7a874-fb1e-4cdd-91fe-eb6bf5b9179b">
119            <div class="redesign">
120  <div class="content-container header">
121    <div class="container header__container">
122      <div class="navbar">
123        <div class="logo">
124          <a href="/" class="logo__link">
125            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/124e6fd1-c91a-4767-8aec-b87e6e6b1291" 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/124e6fd1-c91a-4767-8aec-b87e6e6b1291 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/124e6fd1-c91a-4767-8aec-b87e6e6b1291 598w" class="logo__img light" alt="">
126            <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/514fa9af-ef72-414f-b660-8b8edb538dab" 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/514fa9af-ef72-414f-b660-8b8edb538dab 320w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/514fa9af-ef72-414f-b660-8b8edb538dab 598w" class="logo__img dark" alt="">
127          </a>
128        </div>
129        <div class="navigation">
130          <ul>
131            <li class="navigation__item">
132              <a  href="/" class="navigation__link wow fadeInUp" data-wow-delay="2.0"><span>Home</span></a>
133            </li>
134            <li class="navigation__item">
135              <a  href="/properties/sale" class="navigation__link wow fadeInUp" data-wow-delay="2.1"><span>Listings</span></a>
136            </li>
137            <li class="navigation__item sub-nav-container">
138              <a href="#" class="navigation__link wow fadeInUp">Solds</a>
139              <div class="sub-nav">
140                <ul>
141                  <li class="sub-nav__item"><a  href="/recent-sales" class="nav-link sub-nav__link feature"><span>RECENT SALES</span></a></li>
142                  <li class="sub-nav__item"><a  href="/high-end-sales" class="nav-link sub-nav__link feature"><span>HIGH END SALES</span></a></li>
143                </ul>
144              </div>
145            </li>
146            <li class="navigation__item">
147              <a  href="/team" class="navigation__link wow fadeInUp" data-wow-delay="2.3"><span>About</span></a>
148            </li>
149            <li class="navigation__item">
150              <a  href="/contact-us" class="navigation__link wow fadeInUp" data-wow-delay="2.4"><span>CONTACT</span></a>
151            </li>
152            <li class="navigation__item">
153              <a target="_blank" href="https://www.instagram.com/muskokacottagesforsale/" class="navigation__link wow fadeInUp" data-wow-delay="2.5"><span>IG</span></a>
154            </li>
155          </ul>
156        </div>
157        <div class="buttons-wrapper">
158          <button type="button" class="hamburger-component hamburger">
159            <span class="hamburger__bars"></span>
160          </button>
161        </div>
162      </div>
163    </div>
164  </div>
165</div>
166
167        </nav>
168        <div id="global-sidemenu" class="sidemenu" data-el-id="744a0561-da45-4129-9fa6-398537851996">
169            <div class="wrapper">
170    <div class="holder">
171        <div class="title">RICHARD SCULLY &amp; ASSOCIATES</div>
172        <ul class="section-options">
173                    <li class="option"><a  href="/">Home</a></li>
174                    <li class="option"><a  href="/properties/sale">Listings</a></li>
175                  <li class="option sub-nav-container">
176                  <a href="#" class="link sub-nav-heading">Solds</a>
177                  <div class="sub-nav">
178                      <ul>
179                                  <li><a  href="/recent-sales" class="link sub-nav-link">Recent Sales</a></li>
180                                  <li><a  href="/high-end-sales" class="link sub-nav-link">High End Sales</a></li>
181                      </ul>
182                  </div>
183                  </li>
184                    <li class="option"><a  href="/team">About</a></li>
185                    <li class="option"><a  href="/Vlog">Video Gallery</a></li>
186                    <li class="option"><a  href="/contact-us">Contact</a></li>
187        </ul>
188    </div>
189    <button class="toggle sidemenu-close"></button>
190</div>
191
192        </div>
193        <div  id="global-mobile-contact" class="mobile-contact-wrapper" data-el-id="befe5af2-a6ca-4119-924a-a85d96d36b51">
194            <div class="btn-holder" 
195style="
196--backgroundColor: rgba(43, 43, 45, 1); 
197--textColor: rgba(255, 255, 255, 1); 
198--pillTextColor: rgba(121, 38, 23, 1); 
199--pillBackgroundColor: rgba(255, 255, 255, 1);">
200
201    <button type="button" class="connect-btn lp-ico lp-ico-arrow-top visible">Contact Us</button>
202</div>
203
204
205<div class="pop-up" style="--backgroundColor: rgba(43, 43, 45, 1); --textColor: rgba(255, 255, 255, 1);">
206  <div class="lp-container">
207    <form data-type="contact-form" class="contact-form">
208      <div class="contact-form__container">
209          <h3 class="lp-h3">Leave a Message</h3>
210      
211        <div class="contact-form__content">
212          <div class="contact-form__inputs-container">
213            <div class="contact-form__item">
214              <input
215                id="__FullName"
216                type="text" name="name"
217                class="lp-input lp-input--light"
218                required
219                placeholder="Full Name">
220            </div>
221            <div class="contact-form__item">
222              <input
223                id="__Email"
224                type="email" name="email"
225                class="lp-input js-email-input lp-input--light"
226                required
227                placeholder="Email">
228            </div>
229            <div class="contact-form__item"> 
230              <input
231                class="lp-input lp-input--light"
232                type="tel" 
233                placeholder="Phone"
234                id="__Phone"
235                name="phone"
236                required>
237            </div>
238
239            <div class="contact-form__item input-group-select">
240              <select name="interest" id="-field-interest" placeholder="Interest"
241                class="lp-input dropdown-select js-select js-form-element lp-input--light" required>
242                <option value="" disabled selected data-label="Interest">Interested in...</option>
243                <option value="Selling &amp; Buying">Selling &amp; Buying</option>
244                <option value="Selling">Selling</option>
245                <option value="Buying">Buying</option>
246                <option value="Renting">Renting</option>
247                <option value="Other">Other</option>
248              </select>
249              <label for="-field-interest" class="lp-label sr-only">Interest</label>
250            </div>
251
252            <div class="contact-form__item">
253              <textarea
254                name="message"
255                rows="4"
256                id="__Message"
257                class="lp-input lp-input--light"
258                placeholder="Message"
259                required></textarea>
260            </div>
261            <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
262  <label class='lp-tcr-content'>
263    <span class='lp-tcr-checkbox'>
264      <input
265        type='checkbox'
266        id='-termsAccepted'
267        name='termsAccepted'
268        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
269        oninput="this.setCustomValidity('')"
270        required
271      /></span>
272    <span class='lp-tcr-message'>
273      
274        I agree to be contacted by
275        Richard Scully &amp; Associates
276        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
277        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
278        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
279    </span>
280  </label>
281
282</div>
283            <button type="submit" class="lp-btn lp-btn--filled lp-btn--dark submit  contact-form__item">Submit</button>
284            
285            <div class="lp-h-pot">
286              <input id="__newsSignMiddleName" name="middleName" value="" autocomplete="off" tabindex="-1">
287            </div>
288            
289            <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
290            <input type="hidden" name="button_text" value="Contact Us">
291          </div>
292        </div>
293      </div>
294
295
296      <div class="success-block">
297          <h3 class="lp-h3 success-message">Thank you for your message. We will be in touch with you shortly.</h3>
298
299      </div>
300    </form>
301
302    <button type="button" class="close-btn lp-ico lp-ico-close"></button>
303
304    
305  </div>
306</div>
307
308
309        </div>
310        <section  class="image-section is-font-color-light is-background-color-light" id="section-b35e5a15-2810-4f45-b7c9-afd516c653fd" data-el-id="e6c6941b-dd32-4d6b-b4aa-56593f2d58bb">
311    <div class="redesign custom-intro">
312    <div class="container">
313        <h1 class="custom-intro__title">Recent Sales</h1>
314        
315    </div>
316</div>
317
318</section>
319<section id="section-f49c80d5-1090-4356-bdb7-81766af37cfc"  class="solid-section is-font-color-dark is-background-color-dark" data-el-id="aeaf061e-5cc8-4b4a-9963-23f50ba3820f">
320<script type="text/x-handlebars-template" class="gridItem pagination-script"><li class="property-list__item feature">
321  <a class="property-list__item-link" href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}}>
322  <div class="property-list__img">
323    {{{mediaImage media.[0]}}}
324      {{#if openHouseHours}}
325        <div class="open-house label-house bf1">Open House: {{openHouseHours}}</div>
326      {{/if}}
327  </div>
328  <span class="property-list__label">
329      {{formatPropertyStatus status false (hbFormatDate soldDate)}}
330  </span>
331  <div class="property-list__text">
332    <h4 class="serif">{{name}}</h4>
333    {{#if privateAddress}}
334    <p>
335      Call for Address
336    </p>
337    {{else}}
338    {{#if fullAddress}}
339    <p>
340      {{fullAddress}}
341    </p>
342    {{else}}
343    <p>
344      Call For Address
345    </p>
346    {{/if}}
347    {{/if}}
348    <p>
349      {{#if bedroomCount}}
350        {{bedroomCount}} BD |
351      {{else}}
352        {{#ifIn "daf8aaa2-8b6f-4f2d-a324-754e0316d2b6" (JSONstringify types)}}
353        {{#ifEquals bedroomCount 0}}
354        Studio |
355        {{/ifEquals}}
356        {{else}}
357          {{#ifIn "dea9daeb-4eb9-4bd8-8380-1a5c9384e817" (JSONstringify types)}}
358          {{#ifEquals bedroomCount 0}}
359          Studio |
360          {{/ifEquals}}
361          {{else}}
362            {{#ifIn "d6b17d8b-a7a2-4de5-95c0-c2783b26de7a" (JSONstringify types)}}
363            {{#ifEquals bedroomCount 0}}
364            Studio |
365            {{/ifEquals}}
366            {{else}}
367              {{#ifIn "9ac67b4b-bf76-4e0d-999e-701908f8f9ab" (JSONstringify types)}}
368              {{#ifEquals bedroomCount 0}}
369              Studio |
370              {{/ifEquals}}
371              {{else}}
372                {{#ifIn "9a70fec3-5946-4d04-9acb-74d98781f636" (JSONstringify types)}}
373                {{#ifEquals bedroomCount 0}}
374                Studio |
375                {{/ifEquals}}
376                {{else}}
377                  {{#ifIn "c68279bc-2904-4ab8-9e84-42ecf6af008c" (JSONstringify types)}}
378                  {{#ifEquals bedroomCount 0}}
379                  Studio |
380                  {{/ifEquals}}
381                  {{/ifIn}}
382                {{/ifIn}}
383              {{/ifIn}}
384            {{/ifIn}}
385          {{/ifIn}}
386        {{/ifIn}}
387      {{/if}}
388      {{#if bathCount}}
389      {{bathCount}} BA
390      {{#if livingSpaceSize}}
391      |
392      {{/if}}
393      {{/if}}
394      {{#ifIn "2c63593e-4869-41f8-bc78-03fa80e24580" (JSONstringify types)}}
395      {{#if lotAreaSize}} {{lpFormatNumber lotAreaSize}} {{formatAreaUnit lotAreaUnits}}{{/if}}
396      {{else}}
397      {{#if livingSpaceSize}} {{lpFormatNumber livingSpaceSize}} {{formatAreaUnit livingSpaceUnits}}{{/if}}
398      {{/ifIn}}
399    </p>
400    <h5 style="text-transform: capitalize">
401        {{formatPropertyPrice this}}
402    </h5>
403  </div>
404  </a>
405
406
407  <div class="property-list__hover">
408    <a href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}} class="hover-link"></a>
409    <div class="property-list__buttons">
410      <a class="property-list__view" href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}}>
411        <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
412        <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
413      </a>
414      <div class="property-list__share">
415        <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
416        <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
417        <ul class="socials socials--block-dark">
418          <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/{{slug}}" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
419          <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/{{slug}}&text={{name}}" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
420          <li><a href="mailto:?subject={{name}}&body={{name}} - https://muskokacottagesforsale.com/properties/{{slug}}" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
421        </ul>
422      </div>
423    </div>
424  </div>
425</li>
426</script>
426
427<div class="redesign property-list-section">
428  <div>
429      <div class="container description-container">
430        <div class="description"><p></p></div>
431      </div>
432    <div class="container">
433      <ul class="property-list   data-container">
434          <li class="property-list__item feature">
435            <a class="property-list__item-link" href="/properties/windrush" >
436            <div class="property-list__img">
437              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f22eb155-5e32-4fc4-9d9a-01b97bba1441" 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/f22eb155-5e32-4fc4-9d9a-01b97bba1441 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f22eb155-5e32-4fc4-9d9a-01b97bba1441 1024w" alt="" loading="lazy">
438            </div>
439            <span class="property-list__label">
440                Sold
441            </span>
442            <div class="property-list__text">
443              <h4 class="serif">“Windrush”**</h4>
444              <p>
445                Lake Rosseau
446              </p>
447              <p>
448                
449              </p>
450              <h5 style="text-transform: capitalize">
451                  $13,779,000
452              </h5>
453            </div>
454            </a>
455          
456          
457            <div class="property-list__hover">
458              <a href="/properties/windrush"  class="hover-link"></a>
459              <div class="property-list__buttons">
460                <a class="property-list__view" href="/properties/windrush" >
461                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
462                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
463                </a>
464                <div class="property-list__share">
465                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
466                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
467                  <ul class="socials socials--block-dark">
468                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/windrush" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
469                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/windrush&text=“Windrush”**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
470                    <li><a href="/cdn-cgi/l/email-protection#6e511d1b0c040b0d1a538ceef23907000a1c1b1d068ceef34444480c010a17538ceef23907000a1c1b1d068ceef344444e434e061a1a1e1d544141031b1d0501050f0d011a1a0f090b1d08011c1d0f020b400d0103411e1c011e0b1c1a070b1d411907000a1c1b1d06" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
471                  </ul>
472                </div>
473              </div>
474            </div>
475          </li>
476          <li class="property-list__item feature">
477            <a class="property-list__item-link" href="/properties/north-lake-joseph-1" >
478            <div class="property-list__img">
479              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f9b75312-e689-457a-b641-e5f6594da771" alt="" loading="lazy">
480            </div>
481            <span class="property-list__label">
482                Sold
483            </span>
484            <div class="property-list__text">
485              <h4 class="serif">North Lake Joseph*</h4>
486              <p>
487                Lake Joseph
488              </p>
489              <p>
490                
491              </p>
492              <h5 style="text-transform: capitalize">
493                  $10,900,000
494              </h5>
495            </div>
496            </a>
497          
498          
499            <div class="property-list__hover">
500              <a href="/properties/north-lake-joseph-1"  class="hover-link"></a>
501              <div class="property-list__buttons">
502                <a class="property-list__view" href="/properties/north-lake-joseph-1" >
503                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
504                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
505                </a>
506                <div class="property-list__share">
507                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
508                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
509                  <ul class="socials socials--block-dark">
510                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/north-lake-joseph-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
511                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/north-lake-joseph-1&text=North Lake Joseph*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
512                    <li><a href="/cdn-cgi/l/email-protection#ad92ded8cfc7c8ced990e3c2dfd9c58de1ccc6c88de7c2dec8ddc5878bcfc2c9d490e3c2dfd9c58de1ccc6c88de7c2dec8ddc5878d808dc5d9d9ddde978282c0d8dec6c2c6cccec2d9d9cccac8decbc2dfdeccc1c883cec2c082dddfc2ddc8dfd9c4c8de82c3c2dfd9c580c1ccc6c880c7c2dec8ddc5809c" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
513                  </ul>
514                </div>
515              </div>
516            </div>
517          </li>
518          <li class="property-list__item feature">
519            <a class="property-list__item-link" href="/properties/lake-joseph-2" >
520            <div class="property-list__img">
521              <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/27c5d4f4-8444-4967-8360-4c5548135b1d" 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/27c5d4f4-8444-4967-8360-4c5548135b1d 3456w" alt="" loading="lazy">
522            </div>
523            <span class="property-list__label">
524                Sold
525            </span>
526            <div class="property-list__text">
527              <h4 class="serif">South Lake Joseph</h4>
528              <p>
529                Lake Joseph
530              </p>
531              <p>
532                  8 BD |
533                7 BA
534                |
535                 3,936 Sq.Ft.
536              </p>
537              <h5 style="text-transform: capitalize">
538                  $9,890,000
539              </h5>
540            </div>
541            </a>
542          
543          
544            <div class="property-list__hover">
545              <a href="/properties/lake-joseph-2"  class="hover-link"></a>
546              <div class="property-list__buttons">
547                <a class="property-list__view" href="/properties/lake-joseph-2" >
548                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
549                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
550                </a>
551                <div class="property-list__share">
552                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
553                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
554                  <ul class="socials socials--block-dark">
555                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joseph-2" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
556                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joseph-2&text=South Lake Joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
557                    <li><a href="/cdn-cgi/l/email-protection#8db2fef8efe7e8eef9b0dee2f8f9e5adc1ece6e8adc7e2fee8fde5abefe2e9f4b0dee2f8f9e5adc1ece6e8adc7e2fee8fde5ada0ade5f9f9fdfeb7a2a2e0f8fee6e2e6eceee2f9f9eceae8feebe2fffeece1e8a3eee2e0a2fdffe2fde8fff9e4e8fea2e1ece6e8a0e7e2fee8fde5a0bf" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
558                  </ul>
559                </div>
560              </div>
561            </div>
562          </li>
563          <li class="property-list__item feature">
564            <a class="property-list__item-link" href="/properties/ranwood" >
565            <div class="property-list__img">
566              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7" 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/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7 1024w" alt="" loading="lazy">
567            </div>
568            <span class="property-list__label">
569                Sold
570            </span>
571            <div class="property-list__text">
572              <h4 class="serif">Ranwood</h4>
573              <p>
574                Lake Muskoka
575              </p>
576              <p>
577                
578              </p>
579              <h5 style="text-transform: capitalize">
580                  $9,850,000
581              </h5>
582            </div>
583            </a>
584          
585          
586            <div class="property-list__hover">
587              <a href="/properties/ranwood"  class="hover-link"></a>
588              <div class="property-list__buttons">
589                <a class="property-list__view" href="/properties/ranwood" >
590                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
591                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
592                </a>
593                <div class="property-list__share">
594                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
595                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
596                  <ul class="socials socials--block-dark">
597                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/ranwood" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
598                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/ranwood&text=Ranwood" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
599                    <li><a href="/cdn-cgi/l/email-protection#49763a3c2b232c2a3d741b28273e26262d6f2b262d30741b28273e26262d696469213d3d393a736666243c3a222622282a263d3d282e2c3a2f263b3a28252c672a262466393b26392c3b3d202c3a663b28273e26262d" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
600                  </ul>
601                </div>
602              </div>
603            </div>
604          </li>
605          <li class="property-list__item feature">
606            <a class="property-list__item-link" href="/properties/lake-rosseau" >
607            <div class="property-list__img">
608              <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/897fd82c-2c97-4af0-838a-b6c1864cdce7" 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/897fd82c-2c97-4af0-838a-b6c1864cdce7 3456w" alt="" loading="lazy">
609            </div>
610            <span class="property-list__label">
611                Sold
612            </span>
613            <div class="property-list__text">
614              <h4 class="serif">Shamrock Road**</h4>
615              <p>
616                Lake Rosseau
617              </p>
618              <p>
619                  5 BD |
620                6 BA
621                |
622                 4,509 Sq.Ft.
623              </p>
624              <h5 style="text-transform: capitalize">
625                  $8,989,000
626              </h5>
627            </div>
628            </a>
629          
630          
631            <div class="property-list__hover">
632              <a href="/properties/lake-rosseau"  class="hover-link"></a>
633              <div class="property-list__buttons">
634                <a class="property-list__view" href="/properties/lake-rosseau" >
635                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
636                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
637                </a>
638                <div class="property-list__share">
639                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
640                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
641                  <ul class="socials socials--block-dark">
642                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
643                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-rosseau&text=Shamrock Road**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
644                    <li><a href="/cdn-cgi/l/email-protection#82bdf1f7e0e8e7e1f6bfd1eae3eff0ede1e9a2d0ede3e6a8a8a4e0ede6fbbfd1eae3eff0ede1e9a2d0ede3e6a8a8a2afa2eaf6f6f2f1b8adadeff7f1e9ede9e3e1edf6f6e3e5e7f1e4edf0f1e3eee7ace1edefadf2f0edf2e7f0f6ebe7f1adeee3e9e7aff0edf1f1e7e3f7" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
645                  </ul>
646                </div>
647              </div>
648            </div>
649          </li>
650          <li class="property-list__item feature">
651            <a class="property-list__item-link" href="/properties/lake-muskoka" >
652            <div class="property-list__img">
653              <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/2be9f20c-0927-4123-aff4-ff9720d1b1e6" 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/2be9f20c-0927-4123-aff4-ff9720d1b1e6 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/2be9f20c-0927-4123-aff4-ff9720d1b1e6 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/2be9f20c-0927-4123-aff4-ff9720d1b1e6 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/2be9f20c-0927-4123-aff4-ff9720d1b1e6 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/2be9f20c-0927-4123-aff4-ff9720d1b1e6 3456w" alt="" loading="lazy">
654            </div>
655            <span class="property-list__label">
656                Sold
657            </span>
658            <div class="property-list__text">
659              <h4 class="serif">Acton Island**</h4>
660              <p>
661                Lake Muskoka
662              </p>
663              <p>
664                  5 BD |
665                6 BA
666                |
667                 4,743 Sq.Ft.
668              </p>
669              <h5 style="text-transform: capitalize">
670                  $8,989,000
671              </h5>
672            </div>
673            </a>
674          
675          
676            <div class="property-list__hover">
677              <a href="/properties/lake-muskoka"  class="hover-link"></a>
678              <div class="property-list__buttons">
679                <a class="property-list__view" href="/properties/lake-muskoka" >
680                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
681                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
682                </a>
683                <div class="property-list__share">
684                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
685                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
686                  <ul class="socials socials--block-dark">
687                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-muskoka" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
688                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-muskoka&text=Acton Island**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
689                    <li><a href="/cdn-cgi/l/email-protection#37084442555d5254430a7654435859177e445b5659531d1d115558534e0a7654435859177e445b5659531d1d171a175f434347440d18185a42445c585c56545843435650524451584544565b521954585a18474558475245435e5244185b565c521a5a42445c585c56" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
690                  </ul>
691                </div>
692              </div>
693            </div>
694          </li>
695          <li class="property-list__item feature">
696            <a class="property-list__item-link" href="/properties/mortimers-point" >
697            <div class="property-list__img">
698              <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/b9fa2d84-cf46-4580-b38c-3b7f17195b43" 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/b9fa2d84-cf46-4580-b38c-3b7f17195b43 3456w" alt="" loading="lazy">
699            </div>
700            <span class="property-list__label">
701                Sold
702            </span>
703            <div class="property-list__text">
704              <h4 class="serif">Mortimer’s Point**</h4>
705              <p>
706                Lake Muskoka
707              </p>
708              <p>
709                
710              </p>
711              <h5 style="text-transform: capitalize">
712                  $8,595,000
713              </h5>
714            </div>
715            </a>
716          
717          
718            <div class="property-list__hover">
719              <a href="/properties/mortimers-point"  class="hover-link"></a>
720              <div class="property-list__buttons">
721                <a class="property-list__view" href="/properties/mortimers-point" >
722                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
723                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
724                </a>
725                <div class="property-list__share">
726                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
727                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
728                  <ul class="socials socials--block-dark">
729                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/mortimers-point" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
730                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/mortimers-point&text=Mortimer’s Point**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
731                    <li><a href="/cdn-cgi/l/email-protection#132c606671797670672e5e7c61677a7e7661f1938a6033437c7a7d67393935717c776a2e5e7c61677a7e7661f1938a6033437c7a7d673939333e337b67676360293c3c7e6660787c7872707c676772747660757c6160727f763d707c7e3c63617c637661677a76603c7e7c61677a7e7661603e637c7a7d67" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
732                  </ul>
733                </div>
734              </div>
735            </div>
736          </li>
737          <li class="property-list__item feature">
738            <a class="property-list__item-link" href="/properties/lake-joseph-1" >
739            <div class="property-list__img">
740              <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/c6bfa57e-07a3-4598-b889-83079d5b9b43" 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/c6bfa57e-07a3-4598-b889-83079d5b9b43 3456w" alt="" loading="lazy">
741            </div>
742            <span class="property-list__label">
743                Sold
744            </span>
745            <div class="property-list__text">
746              <h4 class="serif">Avon Bay</h4>
747              <p>
748                Lake Joseph
749              </p>
750              <p>
751                  6 BD |
752                5 BA
753                
754              </p>
755              <h5 style="text-transform: capitalize">
756                  $8,539,000
757              </h5>
758            </div>
759            </a>
760          
761          
762            <div class="property-list__hover">
763              <a href="/properties/lake-joseph-1"  class="hover-link"></a>
764              <div class="property-list__buttons">
765                <a class="property-list__view" href="/properties/lake-joseph-1" >
766                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
767                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
768                </a>
769                <div class="property-list__share">
770                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
771                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
772                  <ul class="socials socials--block-dark">
773                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joseph-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
774                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joseph-1&text=Avon Bay" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
775                    <li><a href="/cdn-cgi/l/email-protection#b38cc0c6d1d9d6d0c78ef2c5dcdd93f1d2ca95d1dcd7ca8ef2c5dcdd93f1d2ca939e93dbc7c7c3c0899c9cdec6c0d8dcd8d2d0dcc7c7d2d4d6c0d5dcc1c0d2dfd69dd0dcde9cc3c1dcc3d6c1c7dad6c09cdfd2d8d69ed9dcc0d6c3db9e82" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
776                  </ul>
777                </div>
778              </div>
779            </div>
780          </li>
781          <li class="property-list__item feature">
782            <a class="property-list__item-link" href="/properties/lake-joseph" >
783            <div class="property-list__img">
784              <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/35c64c06-85b0-48a8-9a45-7ca1b6376c78" 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/35c64c06-85b0-48a8-9a45-7ca1b6376c78 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/35c64c06-85b0-48a8-9a45-7ca1b6376c78 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/35c64c06-85b0-48a8-9a45-7ca1b6376c78 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/35c64c06-85b0-48a8-9a45-7ca1b6376c78 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/35c64c06-85b0-48a8-9a45-7ca1b6376c78 3456w" alt="" loading="lazy">
785            </div>
786            <span class="property-list__label">
787                Sold
788            </span>
789            <div class="property-list__text">
790              <h4 class="serif">Richard&#x27;s Bay</h4>
791              <p>
792                Lake Joseph
793              </p>
794              <p>
795                  4 BD |
796                4 BA
797                |
798                 3,050 Sq.Ft.
799              </p>
800              <h5 style="text-transform: capitalize">
801                  $6,995,000
802              </h5>
803            </div>
804            </a>
805          
806          
807            <div class="property-list__hover">
808              <a href="/properties/lake-joseph"  class="hover-link"></a>
809              <div class="property-list__buttons">
810                <a class="property-list__view" href="/properties/lake-joseph" >
811                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
812                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
813                </a>
814                <div class="property-list__share">
815                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
816                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
817                  <ul class="socials socials--block-dark">
818                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
819                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joseph&text=Richard&#x27;s Bay" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
820                    <li><a href="/cdn-cgi/l/email-protection#3c034f495e56595f48016e555f545d4e581a1f440e0b074f1c7e5d451a5e535845016e555f545d4e581a1f440e0b074f1c7e5d451c111c5448484c4f06131351494f5753575d5f5348485d5b594f5a534e4f5d5059125f5351134c4e534c594e4855594f13505d57591156534f594c54" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
821                  </ul>
822                </div>
823              </div>
824            </div>
825          </li>
826          <li class="property-list__item feature">
827            <a class="property-list__item-link" href="/properties/little-lake-joseph" >
828            <div class="property-list__img">
829              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/77c134f5-bea2-4bed-8972-001320a05be0" alt="" loading="lazy">
830            </div>
831            <span class="property-list__label">
832                Sold
833            </span>
834            <div class="property-list__text">
835              <h4 class="serif">Little Lake Joseph*</h4>
836              <p>
837                Lake Joseph
838              </p>
839              <p>
840                
841              </p>
842              <h5 style="text-transform: capitalize">
843                  $6,950,000
844              </h5>
845            </div>
846            </a>
847          
848          
849            <div class="property-list__hover">
850              <a href="/properties/little-lake-joseph"  class="hover-link"></a>
851              <div class="property-list__buttons">
852                <a class="property-list__view" href="/properties/little-lake-joseph" >
853                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
854                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
855                </a>
856                <div class="property-list__share">
857                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
858                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
859                  <ul class="socials socials--block-dark">
860                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/little-lake-joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
861                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/little-lake-joseph&text=Little Lake Joseph*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
862                    <li><a href="/cdn-cgi/l/email-protection#9fa0eceafdf5fafceba2d3f6ebebf3fabfd3fef4fabfd5f0ecfaeff7b5b9fdf0fbe6a2d3f6ebebf3fabfd3fef4fabfd5f0ecfaeff7b5bfb2bff7ebebefeca5b0b0f2eaecf4f0f4fefcf0ebebfef8faecf9f0edecfef3fab1fcf0f2b0efedf0effaedebf6faecb0f3f6ebebf3fab2f3fef4fab2f5f0ecfaeff7" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
863                  </ul>
864                </div>
865              </div>
866            </div>
867          </li>
868          <li class="property-list__item feature">
869            <a class="property-list__item-link" href="/properties/heather-lodge" >
870            <div class="property-list__img">
871              <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/d23c6568-2d17-49f0-ad2c-0db45e81d145" 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/d23c6568-2d17-49f0-ad2c-0db45e81d145 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/d23c6568-2d17-49f0-ad2c-0db45e81d145 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d23c6568-2d17-49f0-ad2c-0db45e81d145 1621w" alt="" loading="lazy">
872            </div>
873            <span class="property-list__label">
874                Sold
875            </span>
876            <div class="property-list__text">
877              <h4 class="serif">Heather Lodge</h4>
878              <p>
879                Lake Muskoka
880              </p>
881              <p>
882                
883              </p>
884              <h5 style="text-transform: capitalize">
885                  $6,495,000
886              </h5>
887            </div>
888            </a>
889          
890          
891            <div class="property-list__hover">
892              <a href="/properties/heather-lodge"  class="hover-link"></a>
893              <div class="property-list__buttons">
894                <a class="property-list__view" href="/properties/heather-lodge" >
895                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
896                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
897                </a>
898                <div class="property-list__share">
899                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
900                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
901                  <ul class="socials socials--block-dark">
902                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/heather-lodge" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
903                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/heather-lodge&text=Heather Lodge" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
904                    <li><a href="/cdn-cgi/l/email-protection#f7c88482959d929483cabf9296839f9285d7bb98939092d19598938ecabf9296839f9285d7bb98939092d7dad79f83838784cdd8d89a82849c989c96949883839690928491988584969b92d994989ad8878598879285839e9284d89f9296839f9285da9b98939092" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
905                  </ul>
906                </div>
907              </div>
908            </div>
909          </li>
910          <li class="property-list__item feature">
911            <a class="property-list__item-link" href="/properties/pennwood" >
912            <div class="property-list__img">
913              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59" 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/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59 999w" alt="" loading="lazy">
914            </div>
915            <span class="property-list__label">
916                Sold
917            </span>
918            <div class="property-list__text">
919              <h4 class="serif">Pennwood**</h4>
920              <p>
921                Lake Muskoka
922              </p>
923              <p>
924                
925              </p>
926              <h5 style="text-transform: capitalize">
927                  $6,150,000
928              </h5>
929            </div>
930            </a>
931          
932          
933            <div class="property-list__hover">
934              <a href="/properties/pennwood"  class="hover-link"></a>
935              <div class="property-list__buttons">
936                <a class="property-list__view" href="/properties/pennwood" >
937                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
938                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
939                </a>
940                <div class="property-list__share">
941                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
942                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
943                  <ul class="socials socials--block-dark">
944                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/pennwood" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
945                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/pennwood&text=Pennwood**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
946                    <li><a href="/cdn-cgi/l/email-protection#b08fc3c5d2dad5d3c48de0d5dedec7dfdfd49a9a96d2dfd4c98de0d5dedec7dfdfd49a9a909d90d8c4c4c0c38a9f9fddc5c3dbdfdbd1d3dfc4c4d1d7d5c3d6dfc2c3d1dcd59ed3dfdd9fc0c2dfc0d5c2c4d9d5c39fc0d5dedec7dfdfd4" 
946class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
947                  </ul>
948                </div>
949              </div>
950            </div>
951          </li>
952          <li class="property-list__item feature">
953            <a class="property-list__item-link" href="/properties/lake-rosseau-1" >
954            <div class="property-list__img">
955              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d8c05b80-b0d2-4ce7-acdb-fee08d5df2bd" 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/d8c05b80-b0d2-4ce7-acdb-fee08d5df2bd 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d8c05b80-b0d2-4ce7-acdb-fee08d5df2bd 1130w" alt="" loading="lazy">
956            </div>
957            <span class="property-list__label">
958                Sold
959            </span>
960            <div class="property-list__text">
961              <h4 class="serif">Kingsett*</h4>
962              <p>
963                Lake Rosseau
964              </p>
965              <p>
966                
967              </p>
968              <h5 style="text-transform: capitalize">
969                  $5,895,000
970              </h5>
971            </div>
972            </a>
973          
974          
975            <div class="property-list__hover">
976              <a href="/properties/lake-rosseau-1"  class="hover-link"></a>
977              <div class="property-list__buttons">
978                <a class="property-list__view" href="/properties/lake-rosseau-1" >
979                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
980                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
981                </a>
982                <div class="property-list__share">
983                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
984                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
985                  <ul class="socials socials--block-dark">
986                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-rosseau-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
987                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-rosseau-1&text=Kingsett*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
988                    <li><a href="/cdn-cgi/l/email-protection#9ea1edebfcf4fbfdeaa3d5f7f0f9edfbeaeab4b8fcf1fae7a3d5f7f0f9edfbeaeab4beb3bef6eaeaeeeda4b1b1f3ebedf5f1f5fffdf1eaeafff9fbedf8f1ecedfff2fbb0fdf1f3b1eeecf1eefbeceaf7fbedb1f2fff5fbb3ecf1ededfbffebb3af" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
989                  </ul>
990                </div>
991              </div>
992            </div>
993          </li>
994          <li class="property-list__item feature">
995            <a class="property-list__item-link" href="/properties/port-sandfield-3" >
996            <div class="property-list__img">
997              <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/9134df78-639b-41b3-b400-2a52072bc226" 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/9134df78-639b-41b3-b400-2a52072bc226 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/9134df78-639b-41b3-b400-2a52072bc226 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/9134df78-639b-41b3-b400-2a52072bc226 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/9134df78-639b-41b3-b400-2a
99752072bc226 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/9134df78-639b-41b3-b400-2a52072bc226 3200w" alt="" loading="lazy">
998            </div>
999            <span class="property-list__label">
1000                Sold
1001            </span>
1002            <div class="property-list__text">
1003              <h4 class="serif">Port Sandfield</h4>
1004              <p>
1005                Lake Rosseau
1006              </p>
1007              <p>
1008                
1009              </p>
1010              <h5 style="text-transform: capitalize">
1011                  $5,889,000
1012              </h5>
1013            </div>
1014            </a>
1015          
1016          
1017            <div class="property-list__hover">
1018              <a href="/properties/port-sandfield-3"  class="hover-link"></a>
1019              <div class="property-list__buttons">
1020                <a class="property-list__view" href="/properties/port-sandfield-3" >
1021                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1022                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1023                </a>
1024                <div class="property-list__share">
1025                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1026                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1027                  <ul class="socials socials--block-dark">
1028                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/port-sandfield-3" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1029                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/port-sandfield-3&text=Port Sandfield" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1030                    <li><a href="/cdn-cgi/l/email-protection#1f206c6a7d757a7c6b224f706d6b3f4c7e717b79767a737b397d707b66224f706d6b3f4c7e717b79767a737b3f323f776b6b6f6c253030726a6c7470747e7c706b6b7e787a6c79706d6c7e737a317c7072306f6d706f7a6d6b767a6c306f706d6b326c7e717b79767a737b322c" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1031                  </ul>
1032                </div>
1033              </div>
1034            </div>
1035          </li>
1036          <li class="property-list__item feature">
1037            <a class="property-list__item-link" href="/properties/riverdale" >
1038            <div class="property-list__img">
1039              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8234c5de-f2b2-431d-a2e8-46edf70359f5" 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/8234c5de-f2b2-431d-a2e8-46edf70359f5 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8234c5de-f2b2-431d-a2e8-46edf70359f5 1024w" alt="" loading="lazy">
1040            </div>
1041            <span class="property-list__label">
1042                Sold
1043            </span>
1044            <div class="property-list__text">
1045              <h4 class="serif">Riverdale**</h4>
1046              <p>
1047                Lake Joseph
1048              </p>
1049              <p>
1050                
1051              </p>
1052              <h5 style="text-transform: capitalize">
1053                  $4,999,999
1054              </h5>
1055            </div>
1056            </a>
1057          
1058          
1059            <div class="property-list__hover">
1060              <a href="/properties/riverdale"  class="hover-link"></a>
1061              <div class="property-list__buttons">
1062                <a class="property-list__view" href="/properties/riverdale" >
1063                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1064                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1065                </a>
1066                <div class="property-list__share">
1067                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1068                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1069                  <ul class="socials socials--block-dark">
1070                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/riverdale" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1071                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/riverdale&text=Riverdale**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1072                    <li><a href="/cdn-cgi/l/email-protection#152a6660777f70766128477c637067717479703f3f33777a716c28477c637067717479703f3f3538357d616165662f3a3a7860667e7a7e74767a616174727066737a67667479703b767a783a65677a657067617c70663a677c63706771747970" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1073                  </ul>
1074                </div>
1075              </div>
1076            </div>
1077          </li>
1078          <li class="property-list__item feature">
1079            <a class="property-list__item-link" href="/properties/little-lake-joseph-1" >
1080            <div class="property-list__img">
1081              <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/82e96827-a63c-4e4b-8fd1-43b98c3760e1" 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/82e96827-a63c-4e4b-8fd1-43b98c3760e1 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/82e96827-a63c-4e4b-8fd1-43b98c3760e1 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/82e96827-a63c-4e4b-8fd1-43b98c3760e1 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/82e96827-a63c-4e4b-8fd1-43b98c3760e1 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/82e96827-a63c-4e4b-8fd1-43b98c3760e1 3456w" alt="" loading="lazy">
1082            </div>
1083            <span class="property-list__label">
1084                Sold
1085            </span>
1086            <div class="property-list__text">
1087              <h4 class="serif">Little Lake Joseph</h4>
1088              <p>
1089                Lake Joseph
1090              </p>
1091              <p>
1092                
1093              </p>
1094              <h5 style="text-transform: capitalize">
1095                  $4,995,000
1096              </h5>
1097            </div>
1098            </a>
1099          
1100          
1101            <div class="property-list__hover">
1102              <a href="/properties/little-lake-joseph-1"  class="hover-link"></a>
1103              <div class="property-list__buttons">
1104                <a class="property-list__view" href="/properties/little-lake-joseph-1" >
1105                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1106                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1107                </a>
1108                <div class="property-list__share">
1109                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1110                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1111                  <ul class="socials socials--block-dark">
1112                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/little-lake-joseph-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1113                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/little-lake-joseph-1&text=Little Lake Joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1114                    <li><a href="/cdn-cgi/l/email-protection#c1feb2b4a3aba4a2b5fc8da8b5b5ada4e18da0aaa4e18baeb2a4b1a9e7a3aea5b8fc8da8b5b5ada4e18da0aaa4e18baeb2a4b1a9e1ece1a9b5b5b1b2fbeeeeacb4b2aaaeaaa0a2aeb5b5a0a6a4b2a7aeb3b2a0ada4efa2aeaceeb1b3aeb1a4b3b5a8a4b2eeada8b5b5ada4ecada0aaa4ecabaeb2a4b1a9ecf0" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1115                  </ul>
1116                </div>
1117              </div>
1118            </div>
1119          </li>
1120          <li class="property-list__item feature">
1121            <a class="property-list__item-link" href="/properties/glencoe-heights" >
1122            <div class="property-list__img">
1123              <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/b4ed9010-b900-46b6-a867-e15b8dacbaec" 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/b4ed9010-b900-46b6-a867-e15b8dacbaec 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/b4ed9010-b900-46b6-a867-e15b8dacbaec 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b4ed9010-b900-46b6-a867-e15b8dacbaec 1299w" alt="" loading="lazy">
1124            </div>
1125            <span class="property-list__label">
1126                Sold
1127            </span>
1128            <div class="property-list__text">
1129              <h4 class="serif">Glencoe Heights**</h4>
1130              <p>
1131                Lake Joseph
1132              </p>
1133              <p>
1134                
1135              </p>
1136              <h5 style="text-transform: capitalize">
1137                  $4,879,000
1138              </h5>
1139            </div>
1140            </a>
1141          
1142          
1143            <div class="property-list__hover">
1144              <a href="/properties/glencoe-heights"  class="hover-link"></a>
1145              <div class="property-list__buttons">
1146                <a class="property-list__view" href="/properties/glencoe-heights" >
1147                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1148                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1149                </a>
1150                <div class="property-list__share">
1151                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1152                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1153                  <ul class="socials socials--block-dark">
1154                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/glencoe-heights" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1155                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/glencoe-heights&text=Glencoe Heights**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1156                    <li><a href="/cdn-cgi/l/email-protection#a798d4d2c5cdc2c4d39ae0cbc2c9c4c8c287efc2cec0cfd3d48d8d81c5c8c3de9ae0cbc2c9c4c8c287efc2cec0cfd3d48d8d878a87cfd3d3d7d49d8888cad2d4ccc8ccc6c4c8d3d3c6c0c2d4c1c8d5d4c6cbc289c4c8ca88d7d5c8d7c2d5d3cec2d488c0cbc2c9c4c8c28acfc2cec0cfd3d4" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1157                  </ul>
1158                </div>
1159              </div>
1160            </div>
1161          </li>
1162          <li class="property-list__item feature">
1163            <a class="property-list__item-link" href="/properties/southern-lake-rosseau" >
1164            <div class="property-list__img">
1165              <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/a3a4354e-649a-43c9-81f9-6dd22a4d6977" 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/a3a4354e-649a-43c9-81f9-6dd22a4d6977 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/a3a4354e-649a-43c9-81f9-6dd22a4d6977 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3a4354e-649a-43c9-81f9-6dd22a4d6977 1376w" alt="" loading="lazy">
1166            </div>
1167            <span class="property-list__label">
1168                Sold
1169            </span>
1170            <div class="property-list__text">
1171              <h4 class="serif">Southern Lake Rosseau*</h4>
1172              <p>
1173                Lake Rosseau
1174              </p>
1175              <p>
1176                
1177              </p>
1178              <h5 style="text-transform: capitalize">
1179                  $4,395,000
1180              </h5>
1181            </div>
1182            </a>
1183          
1184          
1185            <div class="property-list__hover">
1186              <a href="/properties/southern-lake-rosseau"  class="hover-link"></a>
1187              <div class="property-list__buttons">
1188                <a class="property-list__view" href="/properties/southern-lake-rosseau" >
1189                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1190                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1191                </a>
1192                <div class="property-list__share">
1193                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1194                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1195                  <ul class="socials socials--block-dark">
1196                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/southern-lake-rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1197                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/southern-lake-rosseau&text=Southern Lake Rosseau*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1198                    <li><a href="/cdn-cgi/l/email-protection#447b3731262e21273079172b31302c21362a6408252f2164162b37372125316e62262b203d79172b31302c21362a6408252f2164162b37372125316e6469642c303034377e6b6b2931372f2b2f25272b303025232137222b36372528216a272b296b34362b342136302d21376b372b31302c21362a6928252f2169362b3737212531" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1199                  </ul>
1200                </div>
1201              </div>
1202            </div>
1203          </li>
1204          <li class="property-list__item feature">
1205            <a class="property-list__item-link" href="/properties/hemlock-point-8" >
1206            <div class="property-list__img">
1207              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3fa031f-b28e-4a32-9bbc-87b0f77e681a" 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/a3fa031f-b28e-4a32-9bbc-87b0f77e681a 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3fa031f-b28e-4a32-9bbc-87b0f77e681a 1280w" alt="" loading="lazy">
1208            </div>
1209            <span class="property-list__label">
1210                Sold
1211            </span>
1212            <div class="property-list__text">
1213              <h4 class="serif">Hemlock Point</h4>
1214              <p>
1215                Lake Joseph
1216              </p>
1217              <p>
1218                
1219              </p>
1220              <h5 style="text-transform: capitalize">
1221                  $3,995,000
1222              </h5>
1223            </div>
1224            </a>
1225          
1226          
1227            <div class="property-list__hover">
1228              <a href="/properties/hemlock-point-8"  class="hover-link"></a>
1229              <div class="property-list__buttons">
1230                <a class="property-list__view" href="/properties/hemlock-point-8" >
1231                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1232                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1233                </a>
1234                <div class="property-list__share">
1235                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1236                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1237                  <ul class="socials socials--block-dark">
1238                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/hemlock-point-8" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1239                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/hemlock-point-8&text=Hemlock Point" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1240                    <li><a href="/cdn-cgi/l/email-protection#7e410d0b1c141b1d0a43361b1312111d155e2e1117100a581c111a0743361b1312111d155e2e1117100a5e535e160a0a0e0d445151130b0d1511151f1d110a0a1f191b0d18110c0d1f121b501d1113510e0c110e1b0c0a171b0d51161b1312111d15530e1117100a5346" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1241                  </ul>
1242                </div>
1243              </div>
1244            </div>
1245          </li>
1246          <li class="property-list__item feature">
1247            <a class="property-list__item-link" href="/properties/bannockburn-1" >
1248            <div class="property-list__img">
1249              <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/d3699264-ef19-4924-b36f-6d1c2037640a" 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d3699264-ef19-4924-b36f-6d1c2037640a 3024w" class="portrait" alt="" loading="lazy">
1250            </div>
1251            <span class="property-list__label">
1252                Sold
1253            </span>
1254            <div class="property-list__text">
1255              <h4 class="serif">Bannockburn*</h4>
1256              <p>
1257                Lake Muskoka
1258              </p>
1259              <p>
1260                
1261              </p>
1262              <h5 style="text-transform: capitalize">
1263                  $3,995,000
1264              </h5>
1265            </div>
1266            </a>
1267          
1268          
1269            <div class="property-list__hover">
1270              <a href="/properties/bannockburn-1"  class="hover-link"></a>
1271              <div class="property-list__buttons">
1272                <a class="property-list__view" href="/properties/bannockburn-1" >
1273                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1274                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1275                </a>
1276                <div class="property-list__share">
1277                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1278                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1279                  <ul class="socials socials--block-dark">
1280                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/bannockburn-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1281                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/bannockburn-1&text=Bannockburn*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1282                    <li><a href="/cdn-cgi/l/email-protection#26195553444c4345521b6447484849454d445354480c004449425f1b6447484849454d445354480c060b064e525256551c09094b53554d494d47454952524741435540495455474a430845494b09565449564354524f4355094447484849454d445354480b17" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1283                  </ul>
1284                </div>
1285              </div>
1286            </div>
1287          </li>
1288          <li class="property-list__item feature">
1289            <a class="property-list__item-link" href="/properties/lake-rosseau-2" >
1290            <div class="property-list__img">
1291              <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/02e0553e-9bfd-47a0-874c-b2817cc4e075" 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/02e0553e-9bfd-47a0-874c-b2817cc4e075 3200w" alt="" loading="lazy">
1292            </div>
1293            <span class="property-list__label">
1294                Sold
1295            </span>
1296            <div class="property-list__text">
1297              <h4 class="serif">Southern Lake Rosseau</h4>
1298              <p>
1299                Lake Rosseau
1300              </p>
1301              <p>
1302                  3 BD |
1303                3 BA
1304                
1305              </p>
1306              <h5 style="text-transform: capitalize">
1307                  $3,989,000
1308              </h5>
1309            </div>
1310            </a>
1311          
1312          
1313            <div class="property-list__hover">
1314              <a href="/properties/lake-rosseau-2"  class="hover-link"></a>
1315              <div class="property-list__buttons">
1316                <a class="property-list__view" href="/properties/lake-rosseau-2" >
1317                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1318                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1319                </a>
1320                <div class="property-list__share">
1321                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1322                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1323                  <ul class="socials socials--block-dark">
1324                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-rosseau-2" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1325                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-rosseau-2&text=Southern Lake Rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1326                    <li><a href="/cdn-cgi/l/email-protection#635c101601090600175e300c16170b06110d432f02080643310c101006021645010c071a5e300c16170b06110d432f02080643310c1010060216434e430b17171310594c4c0e1610080c0802000c171
1326702040610050c1110020f064d000c0e4c13110c130611170a06104c0f0208064e110c10100602164e51" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1327                  </ul>
1328                </div>
1329              </div>
1330            </div>
1331          </li>
1332          <li class="property-list__item feature">
1333            <a class="property-list__item-link" href="/properties/lake-joe-club" >
1334            <div class="property-list__img">
1335              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/0e9ead28-56c2-4fe0-8b0c-d136a70d99eb" alt="" loading="lazy">
1336            </div>
1337            <span class="property-list__label">
1338                Sold
1339            </span>
1340            <div class="property-list__text">
1341              <h4 class="serif">Lake Joe Club*</h4>
1342              <p>
1343                Lake Joe Club
1344              </p>
1345              <p>
1346                
1347              </p>
1348              <h5 style="text-transform: capitalize">
1349                  $3,895,000
1350              </h5>
1351            </div>
1352            </a>
1353          
1354          
1355            <div class="property-list__hover">
1356              <a href="/properties/lake-joe-club"  class="hover-link"></a>
1357              <div class="property-list__buttons">
1358                <a class="property-list__view" href="/properties/lake-joe-club" >
1359                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1360                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1361                </a>
1362                <div class="property-list__share">
1363                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1364                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1365                  <ul class="socials socials--block-dark">
1366                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joe-club" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1367                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joe-club&text=Lake Joe Club*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1368                    <li><a href="/cdn-cgi/l/email-protection#7a45090f18101f190e47361b111f5a30151f5a39160f18505c18151e0347361b111f5a30151f5a39160f18505a575a120e0e0a09405555170f091115111b19150e0e1b1d1f091c1508091b161f54191517550a08150a1f080e131f0955161b111f5710151f5719160f18" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1369                  </ul>
1370                </div>
1371              </div>
1372            </div>
1373          </li>
1374          <li class="property-list__item feature">
1375            <a class="property-list__item-link" href="/properties/muskadasa-island" >
1376            <div class="property-list__img">
1377              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=1280/https://media-production.lp-cdn.com/media/ebe6465c-2c5a-449f-8285-d0b030e1e703" 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/ebe6465c-2c5a-449f-8285-d0b030e1e703 3456w" alt="" loading="lazy">
1378            </div>
1379            <span class="property-list__label">
1380                Sold
1381            </span>
1382            <div class="property-list__text">
1383              <h4 class="serif">Muskadasa Island*</h4>
1384              <p>
1385                Lake Muskoka
1386              </p>
1387              <p>
1388                
1389              </p>
1390              <h5 style="text-transform: capitalize">
1391                  $3,499,000
1392              </h5>
1393            </div>
1394            </a>
1395          
1396          
1397            <div class="property-list__hover">
1398              <a href="/properties/muskadasa-island"  class="hover-link"></a>
1399              <div class="property-list__buttons">
1400                <a class="property-list__view" href="/properties/muskadasa-island" >
1401                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1402                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1403                </a>
1404                <div class="property-list__share">
1405                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1406                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1407                  <ul class="socials socials--block-dark">
1408                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/muskadasa-island" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1409                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/muskadasa-island&text=Muskadasa Island*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1410                    <li><a href="/cdn-cgi/l/email-protection#300f4345525a5553440d7d45435b51545143511079435c515e541a16525f54490d7d45435b51545143511079435c515e541a101d1058444440430a1f1f5d45435b5f5b51535f444451575543565f4243515c551e535f5d1f40425f405542445955431f5d45435b51545143511d59435c515e54" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1411                  </ul>
1412                </div>
1413              </div>
1414            </div>
1415          </li>
1416          <li class="property-list__item feature">
1417            <a class="property-list__item-link" href="/properties/lake-muskoka-3" >
1418            <div class="property-list__img">
1419              <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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae" 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 3456w" alt="" loading="lazy">
1420            </div>
1421            <span class="property-list__label">
1422                Sold
1423            </span>
1424            <div class="property-list__text">
1425              <h4 class="serif">Bala Bay</h4>
1426              <p>
1427                Lake Muskoka
1428              </p>
1429              <p>
1430                  3 BD |
1431                3 BA
1432                |
1433                 3,098 Sq.Ft.
1434              </p>
1435              <h5 style="text-transform: capitalize">
1436                  $3,495,000
1437              </h5>
1438            </div>
1439            </a>
1440          
1441          
1442            <div class="property-list__hover">
1443              <a href="/properties/lake-muskoka-3"  class="hover-link"></a>
1444              <div class="property-list__buttons">
1445                <a class="property-list__view" href="/properties/lake-muskoka-3" >
1446                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1447                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1448                </a>
1449                <div class="property-list__share">
1450                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1451                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1452                  <ul class="socials socials--block-dark">
1453                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-muskoka-3" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1454                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-muskoka-3&text=Bala Bay" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1455                    <li><a href="/cdn-cgi/l/email-protection#5a65292f38303f392e67183b363b7a183b237c38353e2367183b363b7a183b237a777a322e2e2a29607575372f293135313b39352e2e3b3d3f293c3528293b363f74393537752a28352a3f282e333f2975363b313f77372f293135313b7769" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1456                  </ul>
1457                </div>
1458              </div>
1459            </div>
1460          </li>
1461      </ul>
1462      <div class="empty-result" style="display: none">
1463        <h3>No Results Found. Please Try Another Search.</h3>
1464      </div>
1465        <div class="lp-pagination pagination-container pagination-style-2"></div>
1466    </div>
1467  </div>
1468</div>
1469
1470</section>
1471<section id="section-f0bc03e3-e280-4c80-b233-d55eb7df478e"  class="solid-section is-font-color-dark is-background-color-dark" data-el-id="aeaf061e-5cc8-4b4a-9963-23f50ba3820f">
vendor: 109 bytes, lines 1471-1472
1471
1472<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1472<script type="text/x-handlebars-template" class="gridItem pagination-script"><li class="property-list__item feature">
1473  <a class="property-list__item-link" href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}}>
1474  <div class="property-list__img">
1475    {{{mediaImage media.[0]}}}
1476      {{#if openHouseHours}}
1477        <div class="open-house label-house bf1">Open House: {{openHouseHours}}</div>
1478      {{/if}}
1479  </div>
1480  <span class="property-list__label">
1481      {{formatPropertyStatus status false (hbFormatDate soldDate)}}
1482  </span>
1483  <div class="property-list__text">
1484    <h4 class="serif">{{name}}</h4>
1485    {{#if privateAddress}}
1486    <p>
1487      Call for Address
1488    </p>
1489    {{else}}
1490    {{#if fullAddress}}
1491    <p>
1492      {{fullAddress}}
1493    </p>
1494    {{else}}
1495    <p>
1496      Call For Address
1497    </p>
1498    {{/if}}
1499    {{/if}}
1500    <p>
1501      {{#if bedroomCount}}
1502        {{bedroomCount}} BD |
1503      {{else}}
1504        {{#ifIn "daf8aaa2-8b6f-4f2d-a324-754e0316d2b6" (JSONstringify types)}}
1505        {{#ifEquals bedroomCount 0}}
1506        Studio |
1507        {{/ifEquals}}
1508        {{else}}
1509          {{#ifIn "dea9daeb-4eb9-4bd8-8380-1a5c9384e817" (JSONstringify types)}}
1510          {{#ifEquals bedroomCount 0}}
1511          Studio |
1512          {{/ifEquals}}
1513          {{else}}
1514            {{#ifIn "d6b17d8b-a7a2-4de5-95c0-c2783b26de7a" (JSONstringify types)}}
1515            {{#ifEquals bedroomCount 0}}
1516            Studio |
1517            {{/ifEquals}}
1518            {{else}}
1519              {{#ifIn "9ac67b4b-bf76-4e0d-999e-701908f8f9ab" (JSONstringify types)}}
1520              {{#ifEquals bedroomCount 0}}
1521              Studio |
1522              {{/ifEquals}}
1523              {{else}}
1524                {{#ifIn "9a70fec3-5946-4d04-9acb-74d98781f636" (JSONstringify types)}}
1525                {{#ifEquals bedroomCount 0}}
1526                Studio |
1527                {{/ifEquals}}
1528                {{else}}
1529                  {{#ifIn "c68279bc-2904-4ab8-9e84-42ecf6af008c" (JSONstringify types)}}
1530                  {{#ifEquals bedroomCount 0}}
1531                  Studio |
1532                  {{/ifEquals}}
1533                  {{/ifIn}}
1534                {{/ifIn}}
1535              {{/ifIn}}
1536            {{/ifIn}}
1537          {{/ifIn}}
1538        {{/ifIn}}
1539      {{/if}}
1540      {{#if bathCount}}
1541      {{bathCount}} BA
1542      {{#if livingSpaceSize}}
1543      |
1544      {{/if}}
1545      {{/if}}
1546      {{#ifIn "2c63593e-4869-41f8-bc78-03fa80e24580" (JSONstringify types)}}
1547      {{#if lotAreaSize}} {{lpFormatNumber lotAreaSize}} {{formatAreaUnit lotAreaUnits}}{{/if}}
1548      {{else}}
1549      {{#if livingSpaceSize}} {{lpFormatNumber livingSpaceSize}} {{formatAreaUnit livingSpaceUnits}}{{/if}}
1550      {{/ifIn}}
1551    </p>
1552    <h5 style="text-transform: capitalize">
1553        {{formatPropertyPrice this}}
1554    </h5>
1555  </div>
1556  </a>
1557
1558
1559  <div class="property-list__hover">
1560    <a href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}} class="hover-link"></a>
1561    <div class="property-list__buttons">
1562      <a class="property-list__view" href="{{#if fromMLS}}/home-search/listings/{{id}}{{^}}/properties/{{slug}}{{/if}}" {{#if fromMLS}} data-turbolinks="false" {{/if}}>
1563        <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1564        <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1565      </a>
1566      <div class="property-list__share">
1567        <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1568        <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1569        <ul class="socials socials--block-dark">
1570          <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/{{slug}}" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1571          <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/{{slug}}&text={{name}}" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1572          <li><a href="mailto:?subject={{name}}&body={{name}} - https://muskokacottagesforsale.com/properties/{{slug}}" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1573        </ul>
1574      </div>
1575    </div>
1576  </div>
1577</li>
1578</script>
1578
1579<div class="redesign property-list-section">
1580  <div>
1581    <div class="container">
1582      <ul class="property-list   data-container">
1583          <li class="property-list__item feature">
1584            <a class="property-list__item-link" href="/properties/windrush" >
1585            <div class="property-list__img">
1586              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f22eb155-5e32-4fc4-9d9a-01b97bba1441" 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/f22eb155-5e32-4fc4-9d9a-01b97bba1441 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f22eb155-5e32-4fc4-9d9a-01b97bba1441 1024w" alt="" loading="lazy">
1587            </div>
1588            <span class="property-list__label">
1589                Sold
1590            </span>
1591            <div class="property-list__text">
1592              <h4 class="serif">“Windrush”**</h4>
1593              <p>
1594                Lake Rosseau
1595              </p>
1596              <p>
1597                
1598              </p>
1599              <h5 style="text-transform: capitalize">
1600                  $13,779,000
1601              </h5>
1602            </div>
1603            </a>
1604          
1605          
1606            <div class="property-list__hover">
1607              <a href="/properties/windrush"  class="hover-link"></a>
1608              <div class="property-list__buttons">
1609                <a class="property-list__view" href="/properties/windrush" >
1610                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1611                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1612                </a>
1613                <div class="property-list__share">
1614                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1615                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1616                  <ul class="socials socials--block-dark">
1617                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/windrush" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1618                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/windrush&text=“Windrush”**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1619                    <li><a href="/cdn-cgi/l/email-protection#95aae6e0f7fff0f6e1a8771509c2fcfbf1e7e0e6fd771508bfbfb3f7faf1eca8771509c2fcfbf1e7e0e6fd771508bfbfb5b8b5fde1e1e5e6afbabaf8e0e6fefafef4f6fae1e1f4f2f0e6f3fae7e6f4f9f0bbf6faf8bae5e7fae5f0e7e1fcf0e6bae2fcfbf1e7e0e6fd" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1620                  </ul>
1621                </div>
1622              </div>
1623            </div>
1624          </li>
1625          <li class="property-list__item feature">
1626            <a class="property-list__item-link" href="/properties/north-lake-joseph-1" >
1627            <div class="property-list__img">
1628              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f9b75312-e689-457a-b641-e5f6594da771" alt="" loading="lazy">
1629            </div>
1630            <span class="property-list__label">
1631                Sold
1632            </span>
1633            <div class="property-list__text">
1634              <h4 class="serif">North Lake Joseph*</h4>
1635              <p>
1636                Lake Joseph
1637              </p>
1638              <p>
1639                
1640              </p>
1641              <h5 style="text-transform: capitalize">
1642                  $10,900,000
1643              </h5>
1644            </div>
1645            </a>
1646          
1647          
1648            <div class="property-list__hover">
1649              <a href="/properties/north-lake-joseph-1"  class="hover-link"></a>
1650              <div class="property-list__buttons">
1651                <a class="property-list__view" href="/properties/north-lake-joseph-1" >
1652                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1653                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1654                </a>
1655                <div class="property-list__share">
1656                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1657                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1658                  <ul class="socials socials--block-dark">
1659                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/north-lake-joseph-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1660                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/north-lake-joseph-1&text=North Lake Joseph*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1661                    <li><a href="/cdn-cgi/l/email-protection#ecd39f998e86898f98d1a2839e9884cca08d8789cca6839f899c84c6ca8e838895d1a2839e9884cca08d8789cca6839f899c84c6ccc1cc8498989c9fd6c3c381999f8783878d8f8398988d8b899f8a839e9f8d8089c28f8381c39c9e839c899e9885899fc382839e9884c1808d8789c186839f899c84c1dd" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1662                  </ul>
1663                </div>
1664              </div>
1665            </div>
1666          </li>
1667          <li class="property-list__item feature">
1668            <a class="property-list__item-link" href="/properties/lake-joseph-2" >
1669            <div class="property-list__img">
1670              <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/27c5d4f4-8444-4967-8360-4c5548135b1d" 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 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/27c5d4f4-8444-4967-8360-4c5548135b1d 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/27c5d4f4-8444-4967-8360-4c5548135b1d 3456w" alt="" loading="lazy">
1671            </div>
1672            <span class="property-list__label">
1673                Sold
1674            </span>
1675            <div class="property-list__text">
1676              <h4 class="serif">South Lake Joseph</h4>
1677              <p>
1678                Lake Joseph
1679              </p>
1680              <p>
1681                  8 BD |
1682                7 BA
1683                |
1684                 3,936 Sq.Ft.
1685              </p>
1686              <h5 style="text-transform: capitalize">
1687                  $9,890,000
1688              </h5>
1689            </div>
1690            </a>
1691          
1692          
1693            <div class="property-list__hover">
1694              <a href="/properties/lake-joseph-2"  class="hover-link"></a>
1695              <div class="property-list__buttons">
1696                <a class="property-list__view" href="/properties/lake-joseph-2" >
1697                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1698                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1699                </a>
1700                <div class="property-list__share">
1701                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1702                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1703                  <ul class="socials socials--block-dark">
1704                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joseph-2" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1705                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joseph-2&text=South Lake Joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1706                    <li><a href="/cdn-cgi/l/email-protection#c1feb2b4a3aba4a2b5fc92aeb4b5a9e18da0aaa4e18baeb2a4b1a9e7a3aea5b8fc92aeb4b5a9e18da0aaa4e18baeb2a4b1a9e1ece1a9b5b5b1b2fbeeeeacb4b2aaaeaaa0a2aeb5b5a0a6a4b2a7aeb3b2a0ada4efa2aeaceeb1b3aeb1a4b3b5a8a4b2eeada0aaa4ecabaeb2a4b1a9ecf3" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1707                  </ul>
1708                </div>
1709              </div>
1710            </div>
1711          </li>
1712          <li class="property-list__item feature">
1713            <a class="property-list__item-link" href="/properties/ranwood" >
1714            <div class="property-list__img">
1715              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7" 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/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a99b8585-70b9-4fca-9dc6-f8124b7cc0a7 1024w" alt="" loading="lazy">
1716            </div>
1717            <span class="property-list__label">
1718                Sold
1719            </span>
1720            <div class="property-list__text">
1721              <h4 class="serif">Ranwood</h4>
1722              <p>
1723                Lake Muskoka
1724              </p>
1725              <p>
1726                
1727              </p>
1728              <h5 style="text-transform: capitalize">
1729                  $9,850,000
1730              </h5>
1731            </div>
1732            </a>
1733          
1734          
1735            <div class="property-list__hover">
1736              <a href="/properties/ranwood"  class="hover-link"></a>
1737              <div class="property-list__buttons">
1738                <a class="property-list__view" href="/properties/ranwood" >
1739                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1740                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1741                </a>
1742                <div class="property-list__share">
1743                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1744                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1745                  <ul class="socials socials--block-dark">
1746                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/ranwood" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1747                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/ranwood&text=Ranwood" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1748                    <li><a href="/cdn-cgi/l/email-protection#f4cb8781969e919780c9a6959a839b9b90d2969b908dc9a6959a839b9b90d4d9d49c80808487cedbdb9981879f9b9f95979b808095939187929b8
1748687959891da979b99db84869b849186809d9187db86959a839b9b90" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1749                  </ul>
1750                </div>
1751              </div>
1752            </div>
1753          </li>
1754          <li class="property-list__item feature">
1755            <a class="property-list__item-link" href="/properties/lake-rosseau" >
1756            <div class="property-list__img">
1757              <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/897fd82c-2c97-4af0-838a-b6c1864cdce7" 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 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/897fd82c-2c97-4af0-838a-b6c1864cdce7 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/897fd82c-2c97-4af0-838a-b6c1864cdce7 3456w" alt="" loading="lazy">
1758            </div>
1759            <span class="property-list__label">
1760                Sold
1761            </span>
1762            <div class="property-list__text">
1763              <h4 class="serif">Shamrock Road**</h4>
1764              <p>
1765                Lake Rosseau
1766              </p>
1767              <p>
1768                  5 BD |
1769                6 BA
1770                |
1771                 4,509 Sq.Ft.
1772              </p>
1773              <h5 style="text-transform: capitalize">
1774                  $8,989,000
1775              </h5>
1776            </div>
1777            </a>
1778          
1779          
1780            <div class="property-list__hover">
1781              <a href="/properties/lake-rosseau"  class="hover-link"></a>
1782              <div class="property-list__buttons">
1783                <a class="property-list__view" href="/properties/lake-rosseau" >
1784                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1785                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1786                </a>
1787                <div class="property-list__share">
1788                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1789                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1790                  <ul class="socials socials--block-dark">
1791                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1792                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-rosseau&text=Shamrock Road**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1793                    <li><a href="/cdn-cgi/l/email-protection#516e2224333b3432256c0239303c233e323a71033e30357b7b77333e35286c0239303c233e323a71033e30357b7b717c7139252521226b7e7e3c24223a3e3a30323e252530363422373e2322303d347f323e3c7e21233e213423253834227e3d303a347c233e2222343024" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1794                  </ul>
1795                </div>
1796              </div>
1797            </div>
1798          </li>
1799          <li class="property-list__item feature">
1800            <a class="property-list__item-link" href="/properties/mortimers-point" >
1801            <div class="property-list__img">
1802              <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/b9fa2d84-cf46-4580-b38c-3b7f17195b43" 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 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/b9fa2d84-cf46-4580-b38c-3b7f17195b43 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/b9fa2d84-cf46-4580-b38c-3b7f17195b43 3456w" alt="" loading="lazy">
1803            </div>
1804            <span class="property-list__label">
1805                Sold
1806            </span>
1807            <div class="property-list__text">
1808              <h4 class="serif">Mortimer’s Point**</h4>
1809              <p>
1810                Lake Muskoka
1811              </p>
1812              <p>
1813                
1814              </p>
1815              <h5 style="text-transform: capitalize">
1816                  $8,595,000
1817              </h5>
1818            </div>
1819            </a>
1820          
1821          
1822            <div class="property-list__hover">
1823              <a href="/properties/mortimers-point"  class="hover-link"></a>
1824              <div class="property-list__buttons">
1825                <a class="property-list__view" href="/properties/mortimers-point" >
1826                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1827                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1828                </a>
1829                <div class="property-list__share">
1830                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1831                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1832                  <ul class="socials socials--block-dark">
1833                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/mortimers-point" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1834                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/mortimers-point&text=Mortimer’s Point**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1835                    <li><a href="/cdn-cgi/l/email-protection#c4fbb7b1a6aea1a7b0f989abb6b0ada9a1b626445db7e494abadaab0eeeee2a6aba0bdf989abb6b0ada9a1b626445db7e494abadaab0eeeee4e9e4acb0b0b4b7feebeba9b1b7afabafa5a7abb0b0a5a3a1b7a2abb6b7a5a8a1eaa7aba9ebb4b6abb4a1b6b0ada1b7eba9abb6b0ada9a1b6b7e9b4abadaab0" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1836                  </ul>
1837                </div>
1838              </div>
1839            </div>
1840          </li>
1841          <li class="property-list__item feature">
1842            <a class="property-list__item-link" href="/properties/lake-joseph-1" >
1843            <div class="property-list__img">
1844              <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/c6bfa57e-07a3-4598-b889-83079d5b9b43" 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 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/c6bfa57e-07a3-4598-b889-83079d5b9b43 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/c6bfa57e-07a3-4598-b889-83079d5b9b43 3456w" alt="" loading="lazy">
1845            </div>
1846            <span class="property-list__label">
1847                Sold
1848            </span>
1849            <div class="property-list__text">
1850              <h4 class="serif">Avon Bay</h4>
1851              <p>
1852                Lake Joseph
1853              </p>
1854              <p>
1855                  6 BD |
1856                5 BA
1857                
1858              </p>
1859              <h5 style="text-transform: capitalize">
1860                  $8,539,000
1861              </h5>
1862            </div>
1863            </a>
1864          
1865          
1866            <div class="property-list__hover">
1867              <a href="/properties/lake-joseph-1"  class="hover-link"></a>
1868              <div class="property-list__buttons">
1869                <a class="property-list__view" href="/properties/lake-joseph-1" >
1870                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1871                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1872                </a>
1873                <div class="property-list__share">
1874                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1875                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1876                  <ul class="socials socials--block-dark">
1877                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joseph-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1878                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joseph-1&text=Avon Bay" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1879                    <li><a href="/cdn-cgi/l/email-protection#645b1711060e0107105925120b0a4426051d42060b001d5925120b0a4426051d4449440c101014175e4b4b0911170f0b0f05070b101005030117020b16170508014a070b094b14160b140116100d01174b08050f01490e0b1701140c4955" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1880                  </ul>
1881                </div>
1882              </div>
1883            </div>
1884          </li>
1885          <li class="property-list__item feature">
1886            <a class="property-list__item-link" href="/properties/little-lake-joseph" >
1887            <div class="property-list__img">
1888              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/77c134f5-bea2-4bed-8972-001320a05be0" alt="" loading="lazy">
1889            </div>
1890            <span class="property-list__label">
1891                Sold
1892            </span>
1893            <div class="property-list__text">
1894              <h4 class="serif">Little Lake Joseph*</h4>
1895              <p>
1896                Lake Joseph
1897              </p>
1898              <p>
1899                
1900              </p>
1901              <h5 style="text-transform: capitalize">
1902                  $6,950,000
1903              </h5>
1904            </div>
1905            </a>
1906          
1907          
1908            <div class="property-list__hover">
1909              <a href="/properties/little-lake-joseph"  class="hover-link"></a>
1910              <div class="property-list__buttons">
1911                <a class="property-list__view" href="/properties/little-lake-joseph" >
1912                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1913                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1914                </a>
1915                <div class="property-list__share">
1916                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1917                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1918                  <ul class="socials socials--block-dark">
1919                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/little-lake-joseph" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1920                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/little-lake-joseph&text=Little Lake Joseph*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1921                    <li><a href="/cdn-cgi/l/email-protection#36094543545c5355420b7a5f42425a53167a575d53167c594553465e1c105459524f0b7a5f42425a53167a575d53167c594553465e1c161b165e424246450c19195b43455d595d57555942425751534550594445575a531855595b19464459465344425f5345195a5f42425a531b5a575d531b5c594553465e" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1922                  </ul>
1923                </div>
1924              </div>
1925            </div>
1926          </li>
1927          <li class="property-list__item feature">
1928            <a class="property-list__item-link" href="/properties/heather-lodge" >
1929            <div class="property-list__img">
1930              <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/d23c6568-2d17-49f0-ad2c-0db45e81d145" 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/d23c6568-2d17-49f0-ad2c-0db45e81d145 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/d23c6568-2d17-49f0-ad2c-0db45e81d145 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d23c6568-2d17-49f0-ad2c-0db45e81d145 1621w" alt="" loading="lazy">
1931            </div>
1932            <span class="property-list__label">
1933                Sold
1934            </span>
1935            <div class="property-list__text">
1936              <h4 class="serif">Heather Lodge</h4>
1937              <p>
1938                Lake Muskoka
1939              </p>
1940              <p>
1941                
1942              </p>
1943              <h5 style="text-transform: capitalize">
1944                  $6,495,000
1945              </h5>
1946            </div>
1947            </a>
1948          
1949          
1950            <div class="property-list__hover">
1951              <a href="/properties/heather-lodge"  class="hover-link"></a>
1952              <div class="property-list__buttons">
1953                <a class="property-list__view" href="/properties/heather-lodge" >
1954                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1955                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1956                </a>
1957                <div class="property-list__share">
1958                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
1959                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
1960                  <ul class="socials socials--block-dark">
1961                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/heather-lodge" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
1962                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/heather-lodge&text=Heather Lodge" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
1963                    <li><a href="/cdn-cgi/l/email-protection#fdc28e889f97989e89c0b5989c8995988fddb192999a98db9f929984c0b5989c8995988fddb192999a98ddd0dd9589898d8ec7d2d290888e9692969c9e9289899c9a988e9b928f8e9c9198d39e9290d28d8f928d988f8994988ed295989c8995988fd09192999a98" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
1964                  </ul>
1965                </div>
1966              </div>
1967            </div>
1968          </li>
1969          <li class="property-list__item feature">
1970            <a class="property-list__item-link" href="/properties/pennwood" >
1971            <div class="property-list__img">
1972              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59" 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/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/3511ab60-9b8f-4aa0-9fb4-b816eba5eb59 999w" alt="" loading="lazy">
1973            </div>
1974            <span class="property-list__label">
1975                Sold
1976            </span>
1977            <div class="property-list__text">
1978              <h4 class="serif">Pennwood**</h4>
1979              <p>
1980                Lake Muskoka
1981              </p>
1982              <p>
1983                
1984              </p>
1985              <h5 style="text-transform: capitalize">
1986                  $6,150,000
1987              </h5>
1988            </div>
1989            </a>
1990          
1991          
1992            <div class="property-list__hover">
1993              <a href="/properties/pennwood"  class="hover-link"></a>
1994              <div class="property-list__buttons">
1995                <a class="property-list__view" href="/properties/pennwood" >
1996                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
1997                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
1998                </a>
1999                <div class="property-list__share">
2000                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2001                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2002                  <ul class="socials socials--block-dark">
2003                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/pennwood" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2004                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/pennwood&text=Pennwood**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2005                    <li><a href="/cdn-cgi/l/email-protection#f7c88482959d929483caa792999980989893ddddd19598938ecaa792999980989893ddddd7dad79f83838784cdd8d89a82849c989c96949883839690928491988584969b92d994989ad8878598879285839e9284d88792999980989893" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2006                  </ul>
2007                </div>
2008              </div>
2009            </div>
2010          </li>
2011          <li class="property-list__item feature">
2012            <a class="property-list__item-link" href="/properties/lake-joe-club" >
2013            <div class="property-list__img">
2014              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/0e9ead28-56c2-4fe0-8b0c-d136a70d99eb" alt="" loading="lazy">
2015            </div>
2016            <span class="property-list__label">
2017                Sold
2018            </span>
2019            <div class="property-list__text">
2020              <h4 class="serif">Lake Joe Club*</h4>
2021              <p>
2022                Lake Joe Club
2023              </p>
2024              <p>
2025                
2026              </p>
2027              <h5 style="text-transform: capitalize">
2028                  $3,895,000
2029              </h5>
2030            </div>
2031            </a>
2032          
2033          
2034            <div class="property-list__hover">
2035              <a href="/properties/lake-joe-club"  class="hover-link"></a>
2036              <div class="property-list__buttons">
2037                <a class="property-list__view" href="/properties/lake-joe-club" >
2038                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2039                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2040                </a>
2041                <div class="property-list__share">
2042                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2043                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2044                  <ul class="socials socials--block-dark">
2045                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-joe-club" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2046                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-joe-club&text=Lake Joe Club*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2047                    <li><a href="/cdn-cgi/l/email-protection#a798d4d2c5cdc2c4d39aebc6ccc287edc8c287e4cbd2c58d81c5c8c3de9aebc6ccc287edc8c287e4cbd2c58d878a87cfd3d3d7d49d8888cad2d4ccc8ccc6c4c8d3d3c6c0c2d4c1c8d5d4c6cbc289c4c8ca88d7d5c8d7c2d5d3cec2d488cbc6ccc28acdc8c28ac4cbd2c5" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2048                  </ul>
2049                </div>
2050              </div>
2051            </div>
2052          </li>
2053          <li class="property-list__item feature">
2054            <a class="property-list__item-link" href="/properties/riverdale" >
2055            <div class="property-list__img">
2056              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8234c5de-f2b2-431d-a2e8-46edf70359f5" 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/8234c5de-f2b2-431d-a2e8-46edf70359f5 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/8234c5de-f2b2-431d-a2e8-46edf70359f5 1024w" alt="" loading="lazy">
2057            </div>
2058            <span class="property-list__label">
2059                Sold
2060            </span>
2061            <div class="property-list__text">
2062              <h4 class="serif">Riverdale**</h4>
2063              <p>
2064                Lake Joseph
2065              </p>
2066              <p>
2067                
2068              </p>
2069              <h5 style="text-transform: capitalize">
2070                  $4,999,999
2071              </h5>
2072            </div>
2073            </a>
2074          
2075          
2076            <div class="property-list__hover">
2077              <a href="/properties/riverdale"  class="hover-link"></a>
2078              <div class="property-list__buttons">
2079                <a class="property-list__view" href="/properties/riverdale" >
2080                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2081                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2082                </a>
2083                <div class="property-list__share">
2084                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2085                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2086                  <ul class="socials socials--block-dark">
2087                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/riverdale" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2088                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/riverdale&text=Riverdale**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2089                    <li><a href="/cdn-cgi/l/email-protection#a09fd3d5c2cac5c3d49df2c9d6c5d2c4c1ccc58a8a86c2cfc4d99df2c9d6c5d2c4c1ccc58a8a808d80c8d4d4d0d39a8f8fcdd5d3cbcfcbc1c3cfd4d4c1c7c5d3c6cfd2d3c1ccc58ec3cfcd8fd0d2cfd0c5d2d4c9c5d38fd2c9d6c5d2c4c1ccc5" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2090                  </ul>
2091                </div>
2092              </div>
2093            </div>
2094          </li>
2095          <li class="property-list__item feature">
2096            <a class="property-list__item-link" href="/properties/glencoe-heights" >
2097            <div class="property-list__img">
2098              <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/b4ed9010-b900-46b6-a867-e15b8dacbaec" 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/b4ed9010-b900-46b6-a867-e15b8dacbaec 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/b4ed9010-b900-46b6-a867-e15b8dacbaec 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/b4ed9010-b900-46b6-a867-e15b8dacbaec 1299w" alt="" loading="lazy">
2099            </div>
2100            <span class="property-list__label">
2101                Sold
2102            </span>
2103            <div class="property-list__text">
2104              <h4 class="serif">Glencoe Heights**</h4>
2105              <p>
2106                Lake Joseph
2107              </p>
2108              <p>
2109                
2110              </p>
2111              <h5 style="text-transform: capitalize">
2112                  $4,879,000
2113              </h5>
2114            </div>
2115            </a>
2116          
2117          
2118            <div class="property-list__hover">
2119              <a href="/properties/glencoe-heights"  class="hover-link"></a>
2120              <div class="property-list__buttons">
2121                <a class="property-list__view" href="/properties/glencoe-heights" >
2122                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2123                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2124                </a>
2125                <div class="property-list__share">
2126                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2127                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2128                  <ul class="socials socials--block-dark">
2129                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/glencoe-heights" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2130                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/glencoe-heights&text=Glencoe Heights**" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2131                    <li><a href="/cdn-cgi/l/email-protection#f4cb8781969e919780c9b398919a979b91d4bc919d939c8087deded2969b908dc9b398919a979b91d4bc919d939c8087deded4d9d49c80808487cedbdb9981879f9b9f95979b808095939187929b8
2131687959891da979b99db84869b849186809d9187db9398919a979b91d99c919d939c8087" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2132                  </ul>
2133                </div>
2134              </div>
2135            </div>
2136          </li>
2137          <li class="property-list__item feature">
2138            <a class="property-list__item-link" href="/properties/southern-lake-rosseau" >
2139            <div class="property-list__img">
2140              <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/a3a4354e-649a-43c9-81f9-6dd22a4d6977" 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/a3a4354e-649a-43c9-81f9-6dd22a4d6977 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/a3a4354e-649a-43c9-81f9-6dd22a4d6977 1280w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3a4354e-649a-43c9-81f9-6dd22a4d6977 1376w" alt="" loading="lazy">
2141            </div>
2142            <span class="property-list__label">
2143                Sold
2144            </span>
2145            <div class="property-list__text">
2146              <h4 class="serif">Southern Lake Rosseau*</h4>
2147              <p>
2148                Lake Rosseau
2149              </p>
2150              <p>
2151                
2152              </p>
2153              <h5 style="text-transform: capitalize">
2154                  $4,395,000
2155              </h5>
2156            </div>
2157            </a>
2158          
2159          
2160            <div class="property-list__hover">
2161              <a href="/properties/southern-lake-rosseau"  class="hover-link"></a>
2162              <div class="property-list__buttons">
2163                <a class="property-list__view" href="/properties/southern-lake-rosseau" >
2164                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2165                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2166                </a>
2167                <div class="property-list__share">
2168                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2169                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2170                  <ul class="socials socials--block-dark">
2171                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/southern-lake-rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2172                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/southern-lake-rosseau&text=Southern Lake Rosseau*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2173                    <li><a href="/cdn-cgi/l/email-protection#8fb0fcfaede5eaecfbb2dce0fafbe7eafde1afc3eee4eaafdde0fcfceaeefaa5a9ede0ebf6b2dce0fafbe7eafde1afc3eee4eaafdde0fcfceaeefaa5afa2afe7fbfbfffcb5a0a0e2fafce4e0e4eeece0fbfbeee8eafce9e0fdfceee3eaa1ece0e2a0fffde0ffeafdfbe6eafca0fce0fafbe7eafde1a2e3eee4eaa2fde0fcfceaeefa" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2174                  </ul>
2175                </div>
2176              </div>
2177            </div>
2178          </li>
2179          <li class="property-list__item feature">
2180            <a class="property-list__item-link" href="/properties/hemlock-point-8" >
2181            <div class="property-list__img">
2182              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3fa031f-b28e-4a32-9bbc-87b0f77e681a" 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/a3fa031f-b28e-4a32-9bbc-87b0f77e681a 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/a3fa031f-b28e-4a32-9bbc-87b0f77e681a 1280w" alt="" loading="lazy">
2183            </div>
2184            <span class="property-list__label">
2185                Sold
2186            </span>
2187            <div class="property-list__text">
2188              <h4 class="serif">Hemlock Point</h4>
2189              <p>
2190                Lake Joseph
2191              </p>
2192              <p>
2193                
2194              </p>
2195              <h5 style="text-transform: capitalize">
2196                  $3,995,000
2197              </h5>
2198            </div>
2199            </a>
2200          
2201          
2202            <div class="property-list__hover">
2203              <a href="/properties/hemlock-point-8"  class="hover-link"></a>
2204              <div class="property-list__buttons">
2205                <a class="property-list__view" href="/properties/hemlock-point-8" >
2206                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2207                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2208                </a>
2209                <div class="property-list__share">
2210                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2211                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2212                  <ul class="socials socials--block-dark">
2213                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/hemlock-point-8" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2214                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/hemlock-point-8&text=Hemlock Point" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2215                    <li><a href="/cdn-cgi/l/email-protection#6f501c1a0d050a0c1b52270a0203000c044f3f0006011b490d000b1652270a0203000c044f3f0006011b4f424f071b1b1f1c554040021a1c0400040e0c001b1b0e080a1c09001d1c0e030a410c0002401f1d001f0a1d1b060a1c40070a0203000c04421f0006011b4257" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2216                  </ul>
2217                </div>
2218              </div>
2219            </div>
2220          </li>
2221          <li class="property-list__item feature">
2222            <a class="property-list__item-link" href="/properties/acton-island-3" >
2223            <div class="property-list__img">
2224              <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/19ddc163-1410-4fe1-873c-6bbb2864c1bf" 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/19ddc163-1410-4fe1-873c-6bbb2864c1bf 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/19ddc163-1410-4fe1-873c-6bbb2864c1bf 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/19ddc163-1410-4fe1-873c-6bbb2864c1bf 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/19ddc163-1410-4fe1-873c-6bbb2864c1bf 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/19ddc163-1410-4fe1-873c-6bbb2864c1bf 3024w" class="portrait" alt="" loading="lazy">
2225            </div>
2226            <span class="property-list__label">
2227                Sold
2228            </span>
2229            <div class="property-list__text">
2230              <h4 class="serif">Acton Island*</h4>
2231              <p>
2232                Lake Muskoka
2233              </p>
2234              <p>
2235                
2236              </p>
2237              <h5 style="text-transform: capitalize">
2238                  $2,895,000
2239              </h5>
2240            </div>
2241            </a>
2242          
2243          
2244            <div class="property-list__hover">
2245              <a href="/properties/acton-island-3"  class="hover-link"></a>
2246              <div class="property-list__buttons">
2247                <a class="property-list__view" href="/properties/acton-island-3" >
2248                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2249                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2250                </a>
2251                <div class="property-list__share">
2252                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2253                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2254                  <ul class="socials socials--block-dark">
2255                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/acton-island-3" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2256                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/acton-island-3&text=Acton Island*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2257                    <li><a href="/cdn-cgi/l/email-protection#b48bc7c1d6ded1d7c089f5d7c0dbda94fdc7d8d5dad09e92d6dbd0cd89f5d7c0dbda94fdc7d8d5dad09e949994dcc0c0c4c78e9b9bd9c1c7dfdbdfd5d7dbc0c0d5d3d1c7d2dbc6c7d5d8d19ad7dbd99bc4c6dbc4d1c6c0ddd1c79bd5d7c0dbda99ddc7d8d5dad09987" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2258                  </ul>
2259                </div>
2260              </div>
2261            </div>
2262          </li>
2263          <li class="property-list__item feature">
2264            <a class="property-list__item-link" href="/properties/bannockburn-1" >
2265            <div class="property-list__img">
2266              <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/d3699264-ef19-4924-b36f-6d1c2037640a" 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 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/d3699264-ef19-4924-b36f-6d1c2037640a 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d3699264-ef19-4924-b36f-6d1c2037640a 3024w" class="portrait" alt="" loading="lazy">
2267            </div>
2268            <span class="property-list__label">
2269                Sold
2270            </span>
2271            <div class="property-list__text">
2272              <h4 class="serif">Bannockburn*</h4>
2273              <p>
2274                Lake Muskoka
2275              </p>
2276              <p>
2277                
2278              </p>
2279              <h5 style="text-transform: capitalize">
2280                  $3,995,000
2281              </h5>
2282            </div>
2283            </a>
2284          
2285          
2286            <div class="property-list__hover">
2287              <a href="/properties/bannockburn-1"  class="hover-link"></a>
2288              <div class="property-list__buttons">
2289                <a class="property-list__view" href="/properties/bannockburn-1" >
2290                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2291                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2292                </a>
2293                <div class="property-list__share">
2294                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2295                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2296                  <ul class="socials socials--block-dark">
2297                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/bannockburn-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2298                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/bannockburn-1&text=Bannockburn*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2299                    <li><a href="/cdn-cgi/l/email-protection#ab94d8dec9c1cec8df96e9cac5c5c4c8c0c9ded9c5818dc9c4cfd296e9cac5c5c4c8c0c9ded9c5818b868bc3dfdfdbd8918484c6ded8c0c4c0cac8c4dfdfcaccced8cdc4d9d8cac7ce85c8c4c684dbd9c4dbced9dfc2ced884c9cac5c5c4c8c0c9ded9c5869a" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2300                  </ul>
2301                </div>
2302              </div>
2303            </div>
2304          </li>
2305          <li class="property-list__item feature">
2306            <a class="property-list__item-link" href="/properties/lake-rosseau-2" >
2307            <div class="property-list__img">
2308              <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/02e0553e-9bfd-47a0-874c-b2817cc4e075" 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 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/02e0553e-9bfd-47a0-874c-b2817cc4e075 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/02e0553e-9bfd-47a0-874c-b2817cc4e075 3200w" alt="" loading="lazy">
2309            </div>
2310            <span class="property-list__label">
2311                Sold
2312            </span>
2313            <div class="property-list__text">
2314              <h4 class="serif">Southern Lake Rosseau</h4>
2315              <p>
2316                Lake Rosseau
2317              </p>
2318              <p>
2319                  3 BD |
2320                3 BA
2321                
2322              </p>
2323              <h5 style="text-transform: capitalize">
2324                  $3,989,000
2325              </h5>
2326            </div>
2327            </a>
2328          
2329          
2330            <div class="property-list__hover">
2331              <a href="/properties/lake-rosseau-2"  class="hover-link"></a>
2332              <div class="property-list__buttons">
2333                <a class="property-list__view" href="/properties/lake-rosseau-2" >
2334                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2335                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2336                </a>
2337                <div class="property-list__share">
2338                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2339                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2340                  <ul class="socials socials--block-dark">
2341                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-rosseau-2" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2342                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-rosseau-2&text=Southern Lake Rosseau" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2343                    <li><a href="/cdn-cgi/l/email-protection#241b5751464e41475019774b51504c41564a04
234368454f4104764b575741455102464b405d19774b51504c41564a0468454f4104764b57574145510409044c505054571e0b0b4951574f4b4f45474b505045434157424b56574548410a474b490b54564b544156504d41570b48454f4109564b57574145510916" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2344                  </ul>
2345                </div>
2346              </div>
2347            </div>
2348          </li>
2349          <li class="property-list__item feature">
2350            <a class="property-list__item-link" href="/properties/muskadasa-island" >
2351            <div class="property-list__img">
2352              <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/ebe6465c-2c5a-449f-8285-d0b030e1e703" 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 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/ebe6465c-2c5a-449f-8285-d0b030e1e703 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/ebe6465c-2c5a-449f-8285-d0b030e1e703 3456w" alt="" loading="lazy">
2353            </div>
2354            <span class="property-list__label">
2355                Sold
2356            </span>
2357            <div class="property-list__text">
2358              <h4 class="serif">Muskadasa Island*</h4>
2359              <p>
2360                Lake Muskoka
2361              </p>
2362              <p>
2363                
2364              </p>
2365              <h5 style="text-transform: capitalize">
2366                  $3,499,000
2367              </h5>
2368            </div>
2369            </a>
2370          
2371          
2372            <div class="property-list__hover">
2373              <a href="/properties/muskadasa-island"  class="hover-link"></a>
2374              <div class="property-list__buttons">
2375                <a class="property-list__view" href="/properties/muskadasa-island" >
2376                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2377                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2378                </a>
2379                <div class="property-list__share">
2380                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2381                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2382                  <ul class="socials socials--block-dark">
2383                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/muskadasa-island" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2384                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/muskadasa-island&text=Muskadasa Island*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2385                    <li><a href="/cdn-cgi/l/email-protection#c9f6babcaba3acaabdf484bcbaa2a8ada8baa8e980baa5a8a7ade3efaba6adb0f484bcbaa2a8ada8baa8e980baa5a8a7ade3e9e4e9a1bdbdb9baf3e6e6a4bcbaa2a6a2a8aaa6bdbda8aeacbaafa6bbbaa8a5ace7aaa6a4e6b9bba6b9acbbbda0acbae6a4bcbaa2a8ada8baa8e4a0baa5a8a7ad" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2386                  </ul>
2387                </div>
2388              </div>
2389            </div>
2390          </li>
2391          <li class="property-list__item feature">
2392            <a class="property-list__item-link" href="/properties/lake-muskoka-3" >
2393            <div class="property-list__img">
2394              <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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae" 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 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/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/f472f0e2-1243-43fc-87cc-8c4e0ac28aae 3456w" alt="" loading="lazy">
2395            </div>
2396            <span class="property-list__label">
2397                Sold
2398            </span>
2399            <div class="property-list__text">
2400              <h4 class="serif">Bala Bay</h4>
2401              <p>
2402                Lake Muskoka
2403              </p>
2404              <p>
2405                  3 BD |
2406                3 BA
2407                |
2408                 3,098 Sq.Ft.
2409              </p>
2410              <h5 style="text-transform: capitalize">
2411                  $3,495,000
2412              </h5>
2413            </div>
2414            </a>
2415          
2416          
2417            <div class="property-list__hover">
2418              <a href="/properties/lake-muskoka-3"  class="hover-link"></a>
2419              <div class="property-list__buttons">
2420                <a class="property-list__view" href="/properties/lake-muskoka-3" >
2421                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2422                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2423                </a>
2424                <div class="property-list__share">
2425                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2426                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2427                  <ul class="socials socials--block-dark">
2428                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-muskoka-3" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2429                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-muskoka-3&text=Bala Bay" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2430                    <li><a href="/cdn-cgi/l/email-protection#c2fdb1b7a0a8a7a1b6ff80a3aea3e280a3bbe4a0ada6bbff80a3aea3e280a3bbe2efe2aab6b6b2b1f8ededafb7b1a9ada9a3a1adb6b6a3a5a7b1a4adb0b1a3aea7eca1adafedb2b0adb2a7b0b6aba7b1edaea3a9a7efafb7b1a9ada9a3eff1" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2431                  </ul>
2432                </div>
2433              </div>
2434            </div>
2435          </li>
2436          <li class="property-list__item feature">
2437            <a class="property-list__item-link" href="/properties/lake-muskoka-6" >
2438            <div class="property-list__img">
2439              <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/06bddec8-6c92-45cb-9de4-b5f51f819211" 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/06bddec8-6c92-45cb-9de4-b5f51f819211 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/06bddec8-6c92-45cb-9de4-b5f51f819211 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/06bddec8-6c92-45cb-9de4-b5f51f819211 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/06bddec8-6c92-45cb-9de4-b5f51f819211 2560w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85,fit=scale-down,width=3456/https://media-production.lp-cdn.com/media/06bddec8-6c92-45cb-9de4-b5f51f819211 3456w" alt="" loading="lazy">
2440            </div>
2441            <span class="property-list__label">
2442                Sold
2443            </span>
2444            <div class="property-list__text">
2445              <h4 class="serif">Lake Muskoka</h4>
2446              <p>
2447                Lake Muskoka
2448              </p>
2449              <p>
2450                  3 BD |
2451                3 BA
2452                |
2453                 2,475 Sq.Ft.
2454              </p>
2455              <h5 style="text-transform: capitalize">
2456                  $2,789,000
2457              </h5>
2458            </div>
2459            </a>
2460          
2461          
2462            <div class="property-list__hover">
2463              <a href="/properties/lake-muskoka-6"  class="hover-link"></a>
2464              <div class="property-list__buttons">
2465                <a class="property-list__view" href="/properties/lake-muskoka-6" >
2466                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2467                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2468                </a>
2469                <div class="property-list__share">
2470                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2471                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2472                  <ul class="socials socials--block-dark">
2473                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-muskoka-6" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2474                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-muskoka-6&text=Lake Muskoka" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2475                    <li><a href="/cdn-cgi/l/email-protection#c5fab6b0a7afa0a6b1f889a4aea0e588b0b6aeaaaea4e3a7aaa1bcf889a4aea0e588b0b6aeaaaea4e5e8e5adb1b1b5b6ffeaeaa8b0b6aeaaaea4a6aab1b1a4a2a0b6
2475a3aab7b6a4a9a0eba6aaa8eab5b7aab5a0b7b1aca0b6eaa9a4aea0e8a8b0b6aeaaaea4e8f3" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2476                  </ul>
2477                </div>
2478              </div>
2479            </div>
2480          </li>
2481          <li class="property-list__item feature">
2482            <a class="property-list__item-link" href="/properties/lake-of-bays" >
2483            <div class="property-list__img">
2484              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d0e34f27-a579-40e4-be4e-e0e339798cf7" 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/d0e34f27-a579-40e4-be4e-e0e339798cf7 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/d0e34f27-a579-40e4-be4e-e0e339798cf7 1270w" alt="" loading="lazy">
2485            </div>
2486            <span class="property-list__label">
2487                Sold
2488            </span>
2489            <div class="property-list__text">
2490              <h4 class="serif">Lake of Bays*</h4>
2491              <p>
2492                Lake of Bays
2493              </p>
2494              <p>
2495                
2496              </p>
2497              <h5 style="text-transform: capitalize">
2498                  $2,200,000
2499              </h5>
2500            </div>
2501            </a>
2502          
2503          
2504            <div class="property-list__hover">
2505              <a href="/properties/lake-of-bays"  class="hover-link"></a>
2506              <div class="property-list__buttons">
2507                <a class="property-list__view" href="/properties/lake-of-bays" >
2508                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2509                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2510                </a>
2511                <div class="property-list__share">
2512                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2513                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2514                  <ul class="socials socials--block-dark">
2515                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-of-bays" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2516                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-of-bays&text=Lake of Bays*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2517                    <li><a href="/cdn-cgi/l/email-protection#b788c4c2d5ddd2d4c38afbd6dcd297d8d197f5d6cec49d91d5d8d3ce8afbd6dcd297d8d197f5d6cec49d979a97dfc3c3c7c48d9898dac2c4dcd8dcd6d4d8c3c3d6d0d2c4d1d8c5c4d6dbd299d4d8da98c7c5d8c7d2c5c3ded2c498dbd6dcd29ad8d19ad5d6cec4" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2518                  </ul>
2519                </div>
2520              </div>
2521            </div>
2522          </li>
2523          <li class="property-list__item feature">
2524            <a class="property-list__item-link" href="/properties/silver-lake" >
2525            <div class="property-list__img">
2526              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f4a6afaf-afa9-4099-8dd9-47b031db855e" 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/f4a6afaf-afa9-4099-8dd9-47b031db855e 960w, https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/f4a6afaf-afa9-4099-8dd9-47b031db855e 1266w" alt="" loading="lazy">
2527            </div>
2528            <span class="property-list__label">
2529                Sold
2530            </span>
2531            <div class="property-list__text">
2532              <h4 class="serif">Silver Lake*</h4>
2533              <p>
2534                Port Carling
2535              </p>
2536              <p>
2537                
2538              </p>
2539              <h5 style="text-transform: capitalize">
2540                  $2,195,000
2541              </h5>
2542            </div>
2543            </a>
2544          
2545          
2546            <div class="property-list__hover">
2547              <a href="/properties/silver-lake"  class="hover-link"></a>
2548              <div class="property-list__buttons">
2549                <a class="property-list__view" href="/properties/silver-lake" >
2550                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2551                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2552                </a>
2553                <div class="property-list__share">
2554                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2555                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2556                  <ul class="socials socials--block-dark">
2557                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/silver-lake" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2558                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/silver-lake&text=Silver Lake*" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2559                    <li><a href="/cdn-cgi/l/email-protection#013e7274636b6462753c52686d776473214d606a642b27636e65783c52686d776473214d606a642b212c2169757571723b2e2e6c74726a6e6a60626e757560666472676e7372606d642f626e6c2e71736e716473756864722e72686d7764732c6d606a64" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2560                  </ul>
2561                </div>
2562              </div>
2563            </div>
2564          </li>
2565          <li class="property-list__item feature">
2566            <a class="property-list__item-link" href="/properties/lake-muskoka-1" >
2567            <div class="property-list__img">
2568              <img src="https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/cecc37a2-e353-45ae-a952-76e0700415ce" alt="" loading="lazy">
2569            </div>
2570            <span class="property-list__label">
2571                Sold
2572            </span>
2573            <div class="property-list__text">
2574              <h4 class="serif">Fenn&#x27;s Point</h4>
2575              <p>
2576                Lake Muskoka
2577              </p>
2578              <p>
2579                  5 BD |
2580                
2581              </p>
2582              <h5 style="text-transform: capitalize">
2583                  $1,875,000
2584              </h5>
2585            </div>
2586            </a>
2587          
2588          
2589            <div class="property-list__hover">
2590              <a href="/properties/lake-muskoka-1"  class="hover-link"></a>
2591              <div class="property-list__buttons">
2592                <a class="property-list__view" href="/properties/lake-muskoka-1" >
2593                  <button class="btn btn--primary-dark button-style-5">VIEW PROPERTY</button>
2594                  <button class="btn btn--primary-light button-style-5">VIEW PROPERTY</button>
2595                </a>
2596                <div class="property-list__share">
2597                  <a class="btn btn--primary-dark button-style-5">SHARE PROPERTY</a>
2598                  <a class="btn btn--primary-light button-style-5">SHARE PROPERTY</a>
2599                  <ul class="socials socials--block-dark">
2600                    <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://muskokacottagesforsale.com/properties/lake-muskoka-1" target="_blank" class="socials__link"><i class="lp-i lp-i--facebook"></i></a></li>
2601                    <li><a href="https://twitter.com/intent/tweet?url=https://muskokacottagesforsale.com/properties/lake-muskoka-1&text=Fenn&#x27;s Point" target="_blank" class="socials__link"><i class="lp-i lp-i--twitter"></i></a></li>
2602                    <li><a href="/cdn-cgi/l/email-protection#b689c5c3d4dcd3d5c28bf0d3d8d89095ce84818dc596e6d9dfd8c290d4d9d2cf8bf0d3d8d89095ce84818dc596e6d9dfd8c2969b96dec2c2c6c58c9999dbc3c5ddd9ddd7d5d9c2c2d7d1d3c5d0d9c4c5d7dad398d5d9db99c6c4d9c6d3c4c2dfd3c599dad7ddd39bdbc3c5ddd9ddd79b87" class="socials__link" target="_blank"><i class="lp-i lp-i--envelope"></i></a></li>
2603                  </ul>
2604                </div>
2605              </div>
2606            </div>
2607          </li>
2608      </ul>
2609      <div class="empty-result" style="display: none">
2610        <h3>No Results Found. Please Try Another Search.</h3>
2611      </div>
2612        <div class="lp-pagination pagination-container pagination-style-2"></div>
2613    </div>
2614  </div>
2615</div>
2616
2617</section>
2618<section id="section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655"  class="solid-section is-font-color-light is-background-color-dark" data-el-id="5db65d6a-01e9-4ee3-babf-2748e074a284">
vendor: 111 bytes, lines 2618-2619
2618
2619  <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2619<script type="text/x-handlebars-template" class="jsIGItem">
2620    <a href="{{permalink}}" target="_blank" class="ig-feed-item insta-type-{{mediaType}}">
2621      <div class="ig-feed-item__img" style="background-image: url('{{#ifEquals mediaType 'VIDEO'}}{{thumbnailUrl}}{{^}}{{mediaUrl}}{{/ifEquals}}');"></div>
2622      <div class="ig-feed-item__info"><div class="ig-feed-item__caption">{{caption}}</div></div>
2623      {{#ifEquals mediaType 'VIDEO'}}<div class="video-icon"></div>{{/ifEquals}}
2624    </a> 
2625</script>
2625
2626<div class="ig-feed redesign">
2627  <div class="ig-feed-top lp-container">
2628    <div class="top-wrapper">
2629      <div class="top-left">
2630          <h3 class="lp-h3 title">Follow Us on Instagram</h3>
2631        <a href="#" target="_blank" class="instagram-link jsIGLink"><h4 class="lp-h4 instagram-name jsIGName"></h4></a>
2632      </div>
2633      <div class="top-right">
2634          <a href="#" target="_blank" class="lp-btn lp-btn--dark lp-btn--outline lp-btn--mob-full-width follow-button jsIGLink button-style-6">Follow Us</a>
2635        <a class="nav-button top-nav-prev hidden-control button-style-6">
2636          <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>
2637        </a>
2638        <a class="nav-button top-nav-next hidden-control button-style-6">
2639          <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>
2640        </a>
2641      </div>
2642    </div>
2643  </div>
2644  <div class="lp-container ig-feed-container ">
2645    <div class="ig-feed-feed" data-limit="33">
2646    </div>
2647  </div>
2648  <div class="bottom-controls">
2649    <a class="bottom-nav-button bottom-nav-prev button-style-6">
2650      <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>
2651    </a>
2652    <a class="bottom-nav-button bottom-nav-next button-style-6">
2653      <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>
2654    </a>
2655  </div>
2656</div>
2657
2658</section>
2659
2660        <div id="modals" class="modals"></div>
2661        <footer id="global-footer" class="is-font-color-light is-background-color-dark" data-el-id="bf83e0d0-0a3d-4cf5-a94c-daba8415ab49">
2662            <div class="footer redesign">
2663  <div class="footer__layout container">
2664    <div class="footer__layout__left company">
2665      <div class="company__info__newsletter">
2666        <h2>
2667          Richard Scully &amp; Associates
2668        </h2>
2669        <p class="pre-wrap"></p>
2670      </div>
2671      <div class="company__contacts">
2672        <div>
2673          <p><b>RICHARD SCULLY &amp; ASSOCIATES</b></p>
2674          <div><div>
2675<p class="contact_title"><a class="ft-link" href="/cdn-cgi/l/email-protection#7b0908180e1717023b160e081014101a55181416"><span class="__cf_email__" data-cfemail="32404151475e5e4b725f4741595d59531c515d5f">[email&#160;protected]</span></a><br><a class="ft-link" href="tel:7056449393">(705) 644-9393</a></p>
2676</div>
2677<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></div>
2678        </div>
2679        <div>
2680          <p><b>ADDRESS</b></p>
2681          <div><div>
2682<div>
2683<p class="contact_title">1A Lee Valley Dr<br>Port Carling ON P0B 1J0</p>
2684</div>
2685</div>
2686<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style>
2687<p>&nbsp;</p>
2688<style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></div>
2689        </div>
2690        <div>
2691          <p><b></b></p>
2692            <div><p style="font-size: 12px;">All information is deemed reliable but not guaranteed and should be independently reviewed and verified.</p>
2693<p style="opacity: 1;"><img style="width: 60px; height: auto; filter: invert(1); margin-left: -10px; margin-top: 10px;" src="https://res.cloudinary.com/luxuryp/image/upload/v1675453847/Single_Realtor_Black_hwazek.png"></p></div>
2694        </div>
2695      </div>
2696    </div>
2697
2698      <div class="footer__layout__right">
2699        <div class="newsletter">
2700          <div class="newsletter__info">
2701            <h2>NEWSLETTER</h2>
2702            <p class="pre-wrap">Sign up to be the first to know about our new listings.</p>
2703          </div>
2704          <form class="newsletter__subscribe" data-type="contact-form">
2705            <div class="h-pot">
2706              <label for="-middleName">Middle Name</label>
2707              <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
2708            </div>
2709            <input type="hidden" name="source" value="NEWSLETTER_SIGNUP" />
2710            <input required placeholder="Email Address" name="email" type="email" />
2711            <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
2712  <label class='lp-tcr-content'>
2713    <span class='lp-tcr-checkbox'>
2714      <input
2715        type='checkbox'
2716        id='-termsAccepted'
2717        name='termsAccepted'
2718        oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
2719        oninput="this.setCustomValidity('')"
2720        required
2721      /></span>
2722    <span class='lp-tcr-message'>
2723      
2724        I agree to be contacted by
2725        Richard Scully &amp; Associates
2726        via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
2727        You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
2728        <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
2729    </span>
2730  </label>
2731
2732</div>
2733            <input type="submit" value="SUBSCRIBE" class="btn btn--subscribe button-style-6" />
2734            <p class="success hide">Email Submitted!</p>
2735          </form>
2736          
2737        </div>
2738      </div>
2739
2740
2741  </div>
2742  <div class="container footer__layout footer__middle">
2743    <div class="footer__layout__left">
2744        <ul class="lp-socials social_icons-style-2 footer__socials socials">
2745        
2746                <li>
2747                  <a
2748                    href="https://www.instagram.com/muskokacottagesforsale/"
2749                    class="lp-socials__link socials__item wow fadeInUp"
2750                    data-wow-delay="0s"
2751                    target="_blank"
2752                    aria-label="INSTAGRAM"
2753                  >
2754                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
2755                  </a>
2756                </li>
2757                <li>
2758                  <a
2759                    href="https://www.youtube.com/@muskokacottagesforsale"
2760                    class="lp-socials__link socials__item wow fadeInUp"
2761                    data-wow-delay="0.1s"
2762                    target="_blank"
2763                    aria-label="YOUTUBE"
2764                  >
2765                      <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
2766                  </a>
2767                </li>
2768          </ul>    </div>
2769    <div class="footer__layout__right">
2770      <div class="logos">
2771      </div>
2772    </div>
2773  </div>
2774  <div class="footer__bottom">
2775    <div class="container">
2776      <div class="footer__bottom-copyrights footer__layout">
2777        <div class="footer__layout__left logo-powered">
2778            <div class="img-wrap">
2779              <img src="https://media-production.lp-cdn.com/media/b517d231-d9f5-4e15-870d-852a977c9204" alt="">
2780            </div>
2781          <div>
2782            Real Estate Website Design by <a href="https://www.luxurypresence.com/real-estate-website-design/" target="_blank" class="luxury-link hyperlink-style-2">Luxury Presence</a>
2783          </div>
2784        </div>
2785        <div class="footer__layout__right copyright-box">
2786          Copyright <span class="auto-year-update">2026</span> | <a href="/terms-and-conditions" class="hyperlink-style-2">Privacy Policy</a>
2787        </div>
2788      </div>
2789    </div>
2790  </div>
2791</div>
2792
2793        </footer>
2794
2795        <div id="modal-global-contact-us" class="modal "
2796            data-el-id=""
2797            style="background-color: ;"
2798            >
2799            <div class="modal-content">
2800                <div class="contact-form redesign " style="background-image: url('')">
2801          <div class="container">
2802              <div class="section-details" style="--colorTxt: #ffffff">
2803                  <h2>Contact Details</h2>
2804                  
2805                  <div class="info-zone">
2806        
2807                          <div class="info-zone_contact type_user">
2808                                <h4 class="serif">RICHARD SCULLY &amp; ASSOCIATES</h4>
2809                                <div class="info-zone_contact_cell">
2810                                        <i>
2811                                            <svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
2812                                                <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.48
281215 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"/>
2813                                            </svg>
2814                                        </i>
2815                                    <p class="contact_title">Phone</p>
2816                                    <a href="tel:(705) 644-9393" class="lp-link info-zone_contact_link link hyperlink-style-2">(705) 644-9393</a>
2817                                </div>
2818                                <div class="info-zone_contact_cell">
2819                                        <i>
2820                                            <svg width="30" height="19" viewBox="0 0 30 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2821                                                <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"/>
2822                                            </svg>
2823                                        </i>
2824                                    <p class="contact_title">Email</p>
2825                                    <a href="/cdn-cgi/l/email-protection#f7858494829b9b8eb79a82849c989c96d994989a" class="lp-link info-zone_contact_link link hyperlink-style-2"><span class="__cf_email__" data-cfemail="4b3938283e2727320b263e382024202a65282426">[email&#160;protected]</span></a>
2826                                </div>
2827                          </div>
2828                          <div class="info-zone_contact">
2829                                <div class="info-zone_contact_cell">
2830                                        <i>
2831                                            <svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2832                                                <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"/>
2833                                                <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"/>
2834                                                <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"/>
2835                                            </svg>
2836                                        </i>
2837                                    <p class="info-wrap-contact_title">Address</p>
2838                                    <p class="info-zone_contact_link pre-line">1A Lee Valley Dr
2839        Port Carling ON P0B 1J0</p>
2840                                </div>
2841                          </div>
2842                        <div class="info-zone_contact">
2843                            <div class="info-zone_contact_cell">
2844                                <p class="pre-line"><div></div><style>* { box-sizing: border-box; } body {margin: 0;}ul{list-style:inherit;}</style></p>
2845                            </div>
2846                        </div>
2847                        <ul class="lp-socials social_icons-style-2 socials socials--grey socials_zone footer__c
2847ontact-column">
2848                        
2849                                <li>
2850                                  <a
2851                                    href="https://www.instagram.com/muskokacottagesforsale/"
2852                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
2853                                    data-wow-delay="0s"
2854                                    target="_blank"
2855                                    aria-label="INSTAGRAM"
2856                                  >
2857                                      <span class="lp-i lp-i--instagram" aria-hidden="true"></span>
2858                                  </a>
2859                                </li>
2860                                <li>
2861                                  <a
2862                                    href="https://www.youtube.com/@muskokacottagesforsale"
2863                                    class="lp-socials__link socials__item wow fadeInUp socials__link"
2864                                    data-wow-delay="0.1s"
2865                                    target="_blank"
2866                                    aria-label="YOUTUBE"
2867                                  >
2868                                      <span class="lp-i lp-i--youtube" aria-hidden="true"></span>
2869                                  </a>
2870                                </li>
2871                          </ul>          </div>
2872              </div>
2873              <div class="section-message">
2874                  <form data-type="contact-form">
2875                      <h2>Submit a Message</h2>
2876                       <div class="h-pot">
2877                        <label for="-middleName">Middle Name</label>
2878                        <input id="-middleName" name="middleName" value="" autocomplete="off" tabindex="-1">
2879                      </div>
2880        
2881        
2882                      <div class="lp-input-group">
2883                          <label for="prod-name" class="lp-label">Name</label>
2884                          <input id="prod-name" name="name" value="" required="" class="lp-input lp-input--light">
2885                      </div>
2886                      <div class="lp-input-group">
2887                          <label for="prod-email" class="lp-label">Email</label>
2888                          <input id="prod-email" type="email" name="email" value="" required="" class="lp-input lp-input--light">
2889                      </div>
2890                      <div class="lp-input-group">
2891                          <label for="prod-phone" class="lp-label">Phone</label>
2892                          <input id="prod-phone" type="tel" name="phoneNumber" value="" required="" class="lp-input lp-input--light">
2893                      </div>
2894                      <div class="lp-input-group m16">
2895                          <label for="prod-message" class="lp-label">Message</label>
2896                          <textarea id="prod-message" name="message" value="" required="" class="lp-input"></textarea>
2897                      </div>
2898        
2899                      <div class="lp-disclaimer">  <label style='display: none;' for='-termsAccepted'>Opt In/Disclaimer Consent:</label>
2900          <label class='lp-tcr-content'>
2901            <span class='lp-tcr-checkbox'>
2902              <input
2903                type='checkbox'
2904                id='-termsAccepted'
2905                name='termsAccepted'
2906                oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
2907                oninput="this.setCustomValidity('')"
2908                required
2909              /></span>
2910            <span class='lp-tcr-message'>
2911              
2912                I agree to be contacted by
2913                Richard Scully &amp; Associates
2914                via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance.
2915                You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary.
2916                <a href='/terms-and-conditions' target='_blank'>Privacy Policy</a>.
2917            </span>
2918          </label>
2919        
2920        </div>
2921                      
2922                      <input style="display: none;" type="text" name="source" value="CONTACT_INQUIRY" />
2923                      
2924                      
2925                      <button type="submit" class="submitButton lp-btn button-style-2">
2926                          <span class="label-initial">Submit</span>
2927                          <span class="label-loading">Submitting</span>
2928                          <span class="label-success">Submitted</span>
2929                          <span class="submit-icon lp-i lp-i--circle-notch lp-i--spin"></span>
2930                      </button>
2931                      <p class="success-message success hide">
2932                        Message sent successfully!
2933                      </p>
2934                  </form>
2935                  
2936                  
2937              </div>
2938          </div>
2939        </div>
2940        
2941            </div>
2942            <button class="close lp-close" type="button" aria-label="close modal">
2943                <span class="lp-close-icon" aria-hidden="true"></span>
2944            </button>
2945        </div>
2946        <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;">
2947          <style>
2948            #qualifying-questions-modal .custom-select-toggle {
2949              border: 1px solid #848484;
2950              border-radius: 8px;
2951              padding: 12px 16px;
2952            }
2953        
2954            #qualifying-questions-modal .custom-select-toggle.is-placeholder {
2955              color: #848484;
2956            }
2957        
2958            #qualifying-questions-modal #qualifying-questions-modal-phoneNumber::placeholder {
2959              color: #848484;
2960              opacity: 1;
2961            }
2962        
2963            #qualifying-questions-modal .disclaimer-more {
2964              display: none;
2965            }
2966        
2967            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-more {
2968              display: inline;
2969            }
2970        
2971            #qualifying-questions-modal #qualifying-questions-modal-disclaimer-text:not(.collapsed) .disclaimer-ellipsis {
2972              display: none;
2973            }
2974          </style>
vendor: 119 bytes, lines 2974-2975
2974
2975          <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2975<script>
2976            function toggleDisclaimerQualifyingQuestionsModal() {
2977              const disclaimerText = document.getElementById('qualifying-questions-modal-disclaimer-text');
2978              const toggleButton = document.getElementById('qualifying-questions-modal-toggle-disclaimer');
2979        
2980              if (disclaimerText.classList.contains('collapsed')) {
2981                disclaimerText.classList.remove('collapsed');
2982                toggleButton.textContent = 'Read less';
2983                toggleButton.setAttribute('aria-expanded', 'true');
2984              } else {
2985                disclaimerText.classList.add('collapsed');
2986                toggleButton.textContent = 'Read more';
2987                toggleButton.setAttribute('aria-expanded', 'false');
2988              }
2989            }
2990          </script>
2990
2991          <div style="max-width: 400px; width: 95%; margin: 0 auto;">
2992            <div style="background: #fff; border: none; border-radius: 16px; color: black; box-shadow: none; position: relative;">
2993              <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;">
2994                <span aria-hidden="true">&times;</span>
2995              </button>
2996              <div style="padding: 40px 30px 32px;">
2997                <div style="text-align: left; margin-bottom: 32px;">
2998                  <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;">
2999                    Thanks, please provide more information to help serve you
3000                  </h2>
3001                </div>
3002                <form id="qualifying-questions-modal-form" data-type="contact-form">
3003                  <input type="hidden" name="source" value="PROFILE_UPDATE" />
3004                  <input type="hidden" name="email" value="" id="qualifying-questions-modal-email" />
3005                  <input type="hidden" name="triggerSource" id="qualifying-questions-modal-triggerSource" value="" />
3006                  <label for="qualifying-questions-modal-email" style="display:none;">
3007                    Email
3008                  </label>
3009                  <label for="qualifying-questions-modal-triggerSource" style="display:none;">
3010                    Trigger Source
3011                  </label>
3012        
3013                  <div style="margin-bottom: 20px;">
3014                    <label for="qualifying-questions-modal-phoneNumber" style="display:none;">
3015                      Phone Number
3016                    </label>
3017                    <input
3018                      type="tel"
3019                      id="qualifying-questions-modal-phoneNumber"
3020                      name="phoneNumber"
3021                      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;"
3022                      pattern="^\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$"
3023                      required
3024                      placeholder="Phone"
3025                      aria-label="Phone Number"
3026                      inputmode="tel"
3027                      autocomplete="tel"
3028                      onfocus="this.style.borderColor='black';"
3029                      onblur="this.style.borderColor='#848484';"
3030                    />
3031                  </div>
3032        
3033                  <div style="margin-bottom: 20px;">
3034                    <label for="qualifying-questions-modal-interest" style="display:none;">
3035                      Interest
3036                    </label>
3037                    <select
3038                      id="qualifying-questions-modal-interest"
3039                      name="interest"
3040                      required
3041                      data-label="Interest"
3042                      aria-label="Interest"
3043                      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;"
3044                      onfocus="this.style.borderColor='black'; this.style.color='black';"
3045                      onblur="this.style.borderColor='#848484'; if(this.value === '') this.style.color='#848484'; else this.style.color='black';"
3046                    >
3047                      <option value="" style="background: #fff; color: #848484;" disabled selected>Interested in...</option>
3048                      <option value="Selling & Buying" style="background: #fff; color: black;">Selling & Buying</option>
3049                      <option value="Selling" style="background: #fff; color: black;">Selling</option>
3050                      <option value="Buying" style="background: #fff; color: black;">Buying</option>
3051                      <option value="Renting" style="background: #fff; color: black;">Renting</option>
3052                      <option value="Other" style="background: #fff; color: black;">Other</option>
3053                    </select>
3054                  </div>
3055        
3056                  <div style="margin-bottom: 32px; font-size: 12px; line-height: 1.2;">
3057                    <label style='display: none;' for='qualifying-questions-modal-qualifying-questions-termsAccepted'>Opt In/Disclaimer Consent:</label>
3058                    <label class='lp-tcr-content'>
3059                      <span class='lp-tcr-checkbox'>
3060                        <input
3061                          type='checkbox'
3062                          id='qualifying-questions-modal-qualifying-questions-termsAccepted'
3063                          name='termsAccepted'
3064                          aria-describedby='qualifying-questions-modal-disclaimer-text'
3065                          oninvalid="this.setCustomValidity('Please accept the terms and conditions')"
3066                          oninput="this.setCustomValidity('')"
3067                          required
3068                        /></span>
3069                      <span class='lp-tcr-message'>
3070                        <div id="qualifying-questions-modal-disclaimer-text" class="collapsed" style="color: #848484;">
3071                          
3072                            I agree to be contacted by
3073                            <strong>Richard Scully &amp; Associates</strong>
3074                            via call, email, and text <span class="disclaimer-more">for real estate services. 
3075                            To opt out, you can reply 'stop' at any time or reply 'help' for assistance. 
3076                            You can also click the unsubscribe link in the emails. 
3077                            Message and data rates may apply. Message frequency may vary.</span>
3078                            <span class="disclaimer-ellipsis">...</span>
3079                            <a href='/terms-and-conditions' target='_blank' rel='noopener noreferrer' style='text-decoration: underline;'>Privacy Policy</a>.
3080                        </div>
3081                        <button
3082                          id="qualifying-questions-modal-toggle-disclaimer"
3083                          type="button"
3084                          style="background: none; border: none; color: #848484; font-size: inherit; font-weight: bold; padding: 0; margin-top: 4px; cursor: pointer;"
3085                          aria-expanded="false"
3086                          onclick="toggleDisclaimerQualifyingQuestionsModal()"
3087                        >
3088                          Read more
3089                        </button>
3090                      </span>
3091                    </label>
3092                  </div>
3093        
3094                  <div>
3095                    <button
3096                      type="submit"
3097                      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;"
3098                      onmouseover="this.style.background='transparent'; this.style.color='black';"
3099                      onmouseout="this.style.background='black'; this.style.color='white';"
3100                    >
3101                      Submit
3102                    </button>
3103                  </div>
3104                </form>
3105              </div>
3106            </div>
3107          </div>
3108        </div>
3109
3110    
3110<script>
3111        (function() {
3112        var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
3113
3114        if ("IntersectionObserver" in window && lazyVideos.length > 0) {
3115            var lazyVideoObserver = new IntersectionObserver(function(entries, observer) {
3116            entries.forEach(function(video) {
3117                if (video.isIntersecting) {
3118                for (var source in video.target.children) {
3119                    var videoSource = video.target.children[source];
3120                    if (typeof videoSource.tagName === "string" && videoSource.tagName === "SOURCE") {
3121                    videoSource.src = videoSource.dataset.src;
3122                    }
3123                }
3124
3125                video.target.load();
3126                video.target.classList.remove("lazy");
3127                lazyVideoObserver.unobserve(video.target);
3128                }
3129            });
3130            });
3131
3132            lazyVideos.forEach(function(lazyVideo) {
3133                lazyVideoObserver.observe(lazyVideo);
3134            });
3135        }
3136        })();
3137    </script>
3137
3138
3139        <!-- Global site tag (gtag.js) - Google Analytics -->
3140        
3140<script defer src="https://www.googletagmanager.com/gtag/js"></script>
3140
3141
3142            <!-- Google Tag Manager -->
3143            
3143<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
3144                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
3145                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.async=false;j.src=
3146                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
3147            })(window,document,'script','dataLayer','GTM-T9SFQGHZ');</script>
3147
3148            <!-- End Google Tag Manager -->
3149
3150
3151        <!-- LP Tracker (divolte.js) - LP Divolte -->
3152            
3152<script>window.divolteLp=window.divolteLp||function(){(divolteLp.q=divolteLp.q||[]).push(arguments)}</script>
3152
3153        <!-- LP Tracker (eventBus) - LP EventBus -->
3154            
3154<script>window.eventBusLp=window.eventBusLp||function(){(eventBusLp.q=eventBusLp.q||[]).push(arguments)}</script>
3154
3155
3156    
3156<script>
3157        window.dataLayer = window.dataLayer || [];
3158        document.sendGoogleTagManagerEvent = function() {
3159            /* Honor GPC-enabled browsers and prevent GTM event if GPC is enabled. More details: https://global-privacy-control.glitch.me/ */
3160            if (window.navigator.globalPrivacyControl) {
3161                return;
3162            }
3163
3164            dataLayer.push(arguments);
3165        }
3166
3167        document.sendGoogleTagManagerEvent('js', new Date());
3168            document.sendGoogleTagManagerEvent('config', 'G-RP3QBYL2WD', { page: location.pathname, location: location.href });
3169        document.sendGoogleAnalyticsEvent = function(googleEvent) {
3170            document.sendGoogleTagManagerEvent('event', googleEvent.eventAction || googleEvent.hitType, {
3171                event_category: googleEvent.eventCategory,
3172                event_label: googleEvent.eventLabel,
3173                value: googleEvent.eventValue,
3174                page: googleEvent.page,
3175                location: googleEvent.location
3176            })
3177        };
3178
3179        document.addEventListener("DOMContentLoaded", function() {
3180            (function() {
3181                //If the page has an element with ID of auto-year-update the element will be populated with the current year.
3182                var date = new Date();
3183                var elements = document.getElementsByClassName('auto-year-update');
3184                var i;
3185                for (i = 0; i < elements.length; i++) {
3186                    elements[i].innerText = date.getFullYear();
3187                }
3188            })();
3189            if (window.divolteLp) {
3190                window.divolteLp('sendLpPageView', {});
3191            }
3192            if (window.eventBusLp) {
3193                window.eventBusLp('sendLpPageView', {});
3194            }
3195        });
3196    </script>
3196
3197
3198
3199    
3199<script>
3200    // Function to dynamically load a script
3201    function loadScript(url, callback) {
3202        var script = document.createElement('script');
3203        script.type = 'text/javascript';
3204        script.src = url;
3205        script.defer = true;
3206        script.async = true;
3207        script.onload = callback;
3208        document.head.appendChild(script);
3209    }
3210
3211    // Function to dynamically load CSS file
3212    function loadCSS(url) {
3213        var link = document.createElement("link");
3214        link.rel = "stylesheet";
3215        link.href = url;
3216        document.head.appendChild(link);
3217    }
3218
3219    // Global methods / variables that can be accessed by element js
3220    window.luxuryPresence = {
3221        libs: {
3222            loadJs: loadScript,
3223            loadCss: loadCSS,
3224            jsLibsMap: {
3225                paroller: {
3226                    jsSrc: 'https://d1e1jt2fj4r8r.cloudfront.net/javascript/jquery.paroller.min.js',
3227                    isLoaded: false,
3228                },
3229                ionRangeSlider: {
3230                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js',
3231                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css',
3232                    isLoaded: false,
3233                    requires: ['jquery'],
3234                },
3235                splide: {
3236                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/js/splide.min.js',
3237                    cssSrc: 'https://cdnjs.cloudflare.com/ajax/libs/splidejs/4.1.4/css/splide-core.min.css',
3238                    isLoaded: false,
3239                },
3240                wow: {
3241                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js',
3242                    isLoaded: false,
3243                },
3244                jquery: {
3245                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js',
3246                    isLoaded: false,
3247                },
3248                slick: {
3249                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js',
3250                    isLoaded: false,
3251                    requires: ['jquery'],
3252                },
3253                libphonenumber: {
3254                    jsSrc: 'https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js',
3255                    isLoaded: false,
3256                },
3257            },
3258        },
3259    };
3260    </script>
3260
3261    
3261<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>
3261
3262    
3262<script defer src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js"></script>
3262
3263    
3263<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/handlebars-intl.min.js"></script>
3263
3264    
3264<script defer src="https://cdnjs.cloudflare.com/ajax/libs/superagent/4.1.0/superagent.min.js"></script>
3264
3265    
3265<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>
3265
3266    
3266<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>
3266
3267    
3267<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>
3267
3268
3269    <!-- GOOGLE TRANSLATE SCRIPT -->
3270    
3270<script>
3271        function googleTranslateElementInit() {
3272            // list of languages can be overridden by setting window.customLanguages in the head JS. example `window.customLanguages = 'en,de,fr,ro,sk,pl'`
3273            // Language codes can be taken from here https://cloud.google.com/translate/docs/languages
3274            const DEFAULT_LANGUAGES = 'en,es,zh-CN,zh-TW,tl,vi,ar,ko,ru,de,fr,hi,pt';
3275            document.querySelectorAll('[data-type="TRANSLATE"]').forEach(function(translate){
3276                translate.innerText = '';
3277                new google.translate.TranslateElement({
3278                    pageLanguage: 'en',
3279                    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
3280                    includedLanguages: window.customLanguages || DEFAULT_LANGUAGES,
3281                }, translate);
3282            });
3283        }
3284    </script>
3284
3285    
3285<script defer src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
3285
3286            
3286<script defer src="https://accounts.google.com/gsi/intermediate"></script>
3286
3287
3288    <!-- GOOGLE TRANSLATE SCRIPT END-->
3289    
3289<script>
3290
3291        // UI helpers
3292        (function () {
3293
3294            function getSideMenu () {
3295                return document.querySelector('body > div.sidemenu');
3296            }
3297
3298            function sideMenuHide (instant) {
3299                var sideMenu = getSideMenu();
3300                if (!sideMenu || !sideMenu.classList.contains('visible')) {
3301                  return;
3302                }
3303                sideMenu.classList.remove('visible');
3304                sideMenu.dispatchEvent(new CustomEvent('lpui-hide', { detail: { instant: !!instant } }));
3305                window.dispatchEvent(new CustomEvent('lpui-sidemenu-hide', { detail: {instant: !!instant} }));
3306            }
3307
3308            function sideMenuShow () {
3309                var sideMenu = getSideMenu();
3310                if (!sideMenu || sideMenu.classList.contains('visible')) {
3311                  return;
3312                }
3313                sideMenu.classList.add('visible');
3314                sideMenu.dispatchEvent(new Event('lpui-show'));
3315                window.dispatchEvent(new Event('lpui-sidemenu-show'));
3316            }
3317
3318            function sideMenuToggle () {
3319                var sideMenu = getSideMenu();
3320                if (!sideMenu) {
3321                  return;
3322                }
3323                var isSideMenuVisible = sideMenu.classList.contains('visible');
3324                if (isSideMenuVisible) {
3325                    sideMenuHide();
3326                } else {
3327                    sideMenuShow();
3328                }
3329            }
3330
3331            var scrollLockRequests = {};
3332            window.__debug_scrollLockRequests = scrollLockRequests;
3333            var hideScrollStyles = ''+
3334                    'body {'+
3335                    'overflow: hidden;' +
3336                    '}';
3337            var hideScrollId = 'hide-body-scroll-style';
3338
3339            function scrollLock () {
3340                var style = document.createElement('style');
3341                style.id = hideScrollId;
3342                style.textContent = hideScrollStyles;
3343                document.head.appendChild(style);
3344                window.dispatchEvent(new Event('lpui-scroll-locked'));
3345            }
3346
3347            function scrollUnlock () {
3348                document.getElementById(hideScrollId)?.remove();
3349                window.dispatchEvent(new Event('lpui-scroll-unlocked'));
3350            }
3351
3352            function requestScrollLock (lockId) {
3353                var wasLocked = Object.keys(scrollLockRequests).length > 0;
3354                scrollLockRequests[lockId || '__anonymous_lock'] = true;
3355                if (!wasLocked) {
3356                    scrollLock();
3357                }
3358            }
3359
3360            function releaseScrollLock (lockId) {
3361                if (lockId) {
3362                    delete scrollLockRequests[lockId];
3363                    if (!Object.keys(scrollLockRequests).length) {
3364                        scrollUnlock();
3365                    }
3366                } else {
3367                    scrollLockRequests = {};
3368                    window.__debug_scrollLockRequests = scrollLockRequests;
3369                    scrollUnlock();
3370                }
3371            }
3372
3373            function showModal (modalId, options) {
3374                var modal = document.getElementById(modalId);
3375                if (!modal) {
3376                    return;
3377                }
3378
3379                if (!modal.classList.contains('visible')) {
3380                    modal.classList.add('visible');
3381                    if (options && options.scrollLock) {
3382                        window.lpUI.requestScrollLock(modalId);
3383                    }
3384                    modal.dispatchEvent(new Event('lpui-show'));
3385                    window.dispatchEvent(new CustomEvent('lpui-modal-show', { detail: { id: modalId } }));
3386                }
3387
3388                const visibleModals = document.querySelectorAll('.modal.visible');
3389
3390                if (visibleModals.length > 1) {
3391
3392                    const maxZIndex = Array.from(visibleModals).reduce((maxZIndex, modal) => {
3393                        const zIndex = window.getComputedStyle(modal).zIndex;
3394                        const parsedZIndex = zIndex !== 'auto' ? parseInt(zIndex) : 0;
3395                        return Math.max(maxZIndex, parsedZIndex);
3396                    }, 0);
3397
3398                    modal.style.zIndex = maxZIndex + 1;
3399                }
3400
3401            }
3402
3403            function _hideModal (modalEl) {
3404                if (!modalEl) {
3405                    return;
3406                }
3407                if (!modalEl.classList.contains('visible')) {
3408                    return;
3409                }
3410                modalEl.classList.remove('visible');
3411                modalEl.style.zIndex = '';
3412                modalEl.dispatchEvent(new Event('lpui-hide'));
3413                var modalId = modalEl.getAttribute('id');
3414                if (modalId) {
3415                    window.lpUI.releaseScrollLock(modalId);
3416                    window.dispatchEvent(new CustomEvent('lpui-modal-hide', { detail: { id: modalId } }));
3417                }
3418            }
3419
3420            function hideModal (modalId) {
3421                _hideModal(document.getElementById(modalId));
3422            }
3423
3424            function hideClosestModal (el) {
3425              const modal = el?.closest('.modal');
3426              if (!modal) {
3427                return;
3428              }
3429              if (modal.classList) {
3430                _hideModal(modal);
3431                return;
3432              }
3433              if (modal.length && modal[0].classList) {
3434                _hideModal(modal[0]);
3435              }
3436            }
3437
3438            window.lpUI = {
3439                sideMenuHide: sideMenuHide,
3440                sideMenuShow: sideMenuShow,
3441                sideMenuToggle: sideMenuToggle,
3442                requestScrollLock: requestScrollLock,
3443                releaseScrollLock: releaseScrollLock,
3444                showModal: showModal,
3445                hideModal: hideModal,
3446                hideClosestModal: hideClosestModal
3447            }
3448        })();
3449
3450        var stringifyPrimitive = function(v) {
3451            switch (typeof v) {
3452                case 'string':
3453                    return v;
3454
3455                case 'boolean':
3456                    return v ? 'true' : 'false';
3457
3458                case 'number':
3459                    return isFinite(v) ? v : '';
3460
3461                default:
3462                    return '';
3463            }
3464        };
3465
3466        function objectToQuerystring(obj, sep, eq, name) {
3467            // https://github.com/Gozala/querystring/blob/master/encode.js
3468            sep = sep || '&';
3469            eq = eq || '=';
3470            if (obj === null) {
3471                obj = undefined;
3472            }
3473
3474            if (typeof obj === 'object') {
3475                return Object.keys(obj).map(function(k) {
3476                    var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
3477                    if (Array.isArray(obj[k])) {
3478                        return obj[k].map(function(v) {
3479                            return ks + encodeURIComponent(stringifyPrimitive(v));
3480                        }).join(sep);
3481                    } else {
3482                        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
3483                    }
3484                }).filter(Boolean).join(sep);
3485
3486            }
3487
3488            if (!name) return '';
3489            return encodeURIComponent(stringifyPrimitive(name)) + eq +
3490                    encodeURIComponent(stringifyPrimitive(obj));
3491        }
3492
3493        function getPath(url, options) {
3494            var parser = document.createElement('a');
3495            parser.href = url || '';
3496            var path = parser.pathname || '';
3497            if (path[0] !== '/') {
3498              // IE does not return path starting with a slash
3499              path = '/' + path;
3500            }
3501
3502            if (options && options.queryString) {
3503                path += parser.search;
3504            }
3505
3506            return path;
3507        }
3508
3509        function getMLSAutocomplete(keyword) {
3510            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
3511            var query = {
3512                kind: 'listings',
3513                query: keyword
3514            };
3515
3516            return superagent
3517                .get(searchURL)
3518                .query(query)
3519                .then(function(res) {
3520                    var data = res.body || [];
3521                    // Array of listing_auto_complete documents: id, display_address, city, state,
3522                    // price, sold_price, status, status_modified_at, photo_urls (array of URLs).
3523
3524                    return data;
3525                });
3526        }
3527
3528        function getMLSAutocompleteWithFilters(keyword, filters = {}) {
3529            var searchURL = window.location.protocol + '//' + window.location.hostname + '/home-search/auto_complete';
3530
3531            return superagent
3532                .get(searchURL)
3533                .query({ kind: 'listings', query: keyword, ...filters })
3534                .then(function(res) {
3535                    // Same response shape as getMLSAutocomplete.
3536                    return res.body || [];
3537                });
3538        }
3539
3540        function makeMlsLink(data) {
3541            // Code Dupe from utils/googlePlace
3542            // mapping of google data type to mls data type
3543            var mapping = {
3544                neighborhood: 'neighborhood',
3545                locality: 'place',
3546                administrative_area_level_2: 'county',
3547                administrative_area_level_1: 'state',
3548                postal_code: 'postalcode',
3549            };
3550
3551            function _filterTypes(types) {
3552                return types.filter(function(type) { return type !== 'political' });
3553            }
3554
3555            if (!data || !Object.keys(data).length) {
3556                return '/home-search/listings';
3557            }
3558
3559            var newData = {};
3560            _filterTypes(data.types).forEach(function(type) {
3561                if (mapping[type]) {
3562                    newData.search_type = mapping[type];
3563                }
3564            });
3565            newData.omnibox = data.formatted_address;
3566            data.address_components.forEach(function(component) {
3567                _filterTypes(component.types).forEach(function(type) {
3568                    if (mapping[type]) {
3569                        newData[mapping[type]] = component.long_name;
3570                    }
3571                });
3572            });
3573            var bounds = data.geometry.bounds;
3574            var convertedData = Object.assign(bounds, newData);
3575
3576            return '/home-search/listings?' + objectToQuerystring(convertedData);
3577        }
3578
3579        function debounce(func, wait) {
3580            let timeout;
3581            return function(...args) {
3582                const context = this;
3583                clearTimeout(timeout);
3584                timeout = setTimeout(() => func.apply(context, args), wait)
3585            }
3586        }
3587
3588        // Global methods / variables that can be accessed by element js
3589        window.luxuryPresence = {
3590            ...window.luxuryPresence,
3591            defaults: {
3592                companyId: 'c3076ecb-c2d7-457b-a426-bcf036133f1f',
3593                apiGatewayUrl: '/api-gw',
3594                routerUrl: '/api-nv',
3595                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\
3595n    }\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
3595s: 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"},
3596                propertyPlaceholderImage: {"id":"20c18a72-fa66-4e51-9f6a-0ab3003403c5","alt":null,"bytes":43683,"width":1920,"format":"png","height":1200,"pngUrl":"","shared":true,"curated":false,"duration":null,"largeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/c7438ea9-abb7-47be-b004-8d4abcf471e0","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/c7438ea9-abb7-47be-b004-8d4abcf471e0","authorUrl":null,"createdAt":"2025-04-17T18:38:20.808Z","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/c7438ea9-abb7-47be-b004-8d4abcf471e0","sourceUrl":null,"updatedAt":"2025-04-17T18:38:20.808Z","xLargeUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/c7438ea9-abb7-47be-b004-8d4abcf471e0","__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/c7438ea9-abb7-47be-b004-8d4abcf471e0","de
3596scription":null,"displayName":"property_richard-scully-and-associates","originalUrl":"https://media-production.lp-cdn.com/cdn-cgi/image/format=auto,quality=85/https://media-production.lp-cdn.com/media/c7438ea9-abb7-47be-b004-8d4abcf471e0","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/c7438ea9-abb7-47be-b004-8d4abcf471e0","originalFileName":"Property_Richard Scully & Associates","cloudinaryPublicId":"c7438ea9-abb7-47be-b004-8d4abcf471e0"}
3597            },
3598            objectToQuerystring: objectToQuerystring,
3599            getPath: getPath,
3600            getMLSAutocomplete: getMLSAutocomplete,
3601            getMLSAutocompleteWithFilters: getMLSAutocompleteWithFilters,
3602            makeMlsLink: makeMlsLink,
3603            debounce: debounce,
3604        };
3605
3606        var wowOffset = 100;
3607    </script>
3607
3608    
3608<script>
3609        (()=>{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)];
3609let 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"&#10;";if(/^<\/p\s*>$/.test(s)){n.lastIndex=i;let t=n.exec(e);if(t&&"<"===t[0][0])return"&#10;"}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;
3609i&&(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())),`
3609<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}
3609return 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
3609ontact 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
3609ourceResource,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=([^;
3609]+)/);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=`
3610  query PropertyDisclaimers($input: PropertyDisclaimersInput!) {
3611    propertyDisclaimers(input: $input) {
3612      feedId
3613      listingId
3614      resolvedFromListing
3615      listingCardAttribution
3616      listingDetailCourtesy
3617      listingDetailFooter
3618      logo
3619    }
3620  }
3621`;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 >
3621 .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=)
3621)|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=`
3622      <div id="modal-${i.id}" class="modal visible">
3623        <div class="modal-content">
3624          <div class="lightbox-video">
3625            <div class="video-player">
3626              <div class="embed-container">
3627                ${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>`}
3628              </div>
3629            </div>
3630          </div>
3631        </div>
3632        <button class="close lp-close" type="button" aria-label="close modal"><span class="lp-close-icon" aria-hidden="true"></span></button>
3633      </div>
3634    `;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
3634=>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");
3634let 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
3634URIComponent(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=`
3635      <button class="lp-lightbox__close" aria-label="close modal"></button>
3636      <div class="lp-lightbox__content">
3637        <div class="lp-lightbox__carousel splide" role="group" aria-label="Image Gallery">
3638          <div class="splide__arrows">
3639            <button class="splide__arrow splide__arrow--prev lp-lightbox-arrow lp-lightbox-arrow--prev"></button>
3640            <button class="splide__arrow splide__arrow--next lp-lightbox-arrow lp-lightbox-arrow--next"></button>
3641          </div>
3642          <div class="splide__track">
3643            <ul class="splide__list"></ul>
3644          </div>
3645        </div>
3646      </div>
3647    `,"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
3647h(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=`
3648        <button class="lp-lightbox__close" aria-label="close modal"></button>
3649        <div class="lp-lightbox__content">
3650          <div class="lp-lightbox__carousel"></div>
3651        </div>
3652      `,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"}
3652)),(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"];
3652return 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=`
3653      query {
3654        validSession {
3655          success
3656        }
3657      }
3658    `;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","
3658spaceTypeIds","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})}})();
3659//# sourceMappingURL=lp-sdk.js.map
3660
3661    </script>
3661
3662
3663    
3663<script>
3664        var lpGlobalInitialized = false;
3665
3666        function lpGlobalInit () {
3667          if (lpGlobalInitialized) {
3668            return;
3669          }
3670            lpGlobalInitialized = true;
3671            // Initialize wow animation plugin only according to turbolinks
3672            var wow;
3673            if (window.WOW) {
3674                wow = new WOW({
3675                    animateClass: 'animated',
3676                    offset: wowOffset,
3677                    live: false,
3678                    callback: function(box) {}
3679                });
3680            }
3681            // Initialize handlebar helpers only once
3682            function handlebarsInit() {
3683              if (!window.Handlebars) {
3684                return;
3685              }
3686              HandlebarsIntl.registerWith(Handlebars);
3687              Handlebars.registerHelper(window.luxuryPresence.handlebarsHelpersFactory(Handlebars));
3688            }
3689
3690            handlebarsInit();
3691
3692            /* Initialize Luxury Presence SDK */
3693            try {
3694                window.luxuryPresence.config.setCompany("c3076ecb-c2d7-457b-a426-bcf036133f1f", {});
3695                window.luxuryPresence.config.setWebsite("ff06f655-0c64-45c8-9c55-e8468b4e5303", {
3696                    myhomeDashboardEnabled: false,
3697                    mlsEnabled: false,
3698                    hstValuationRedirectEnabled: true,
3699                    hvStepTwoCaptureEnabled: false
3700                });
3701                const url = new URL(window.location.href);
3702                const shareId = url.searchParams.get('shareId');
3703                window.luxuryPresence.config.setPage("a35725ca-686e-4e21-bdb6-de9a9c92f4b0", {
3704                    sourceResource: "",
3705                    pageElementId: "",
3706                    pageQueryVariables: {},
3707                    shareId: "",
3708                });
3709                window.luxuryPresence.config.setWebsiteApiGatewayUrl("https://wgw.luxurypresence.com", {});
3710                window.luxuryPresence.config.setBuyerSellerServiceUrl("https://bss.luxurypresence.com", {});
3711                    window.luxuryPresence.config.setDivolteServiceUrl("https://t.luxurypresence.com", {});
3712                  window.luxuryPresence.config.setEventBusUrl("https://cdn.luxurypresence.com/scripts/event-bus-js", {});
3713                  window.luxuryPresence.config.setEventBus({
3714                    enabled: true,
3715                    apiKey: "phc_PMYT31xlmXBaTCwpIRx1v6RrpLVZIuP47N3mOT6KLnr",
3716                    url: "https://p.luxurypresence.com",
3717                  });
3718                window.luxuryPresence.config.setTemplateId("0c2b9641-6f2a-40f2-a2e0-dabc022eb278", {});
3719                window.luxuryPresence.config.setLeadIngesterUrl("https://leads.luxurypresence.com", {});
3720                window.luxuryPresence.buttons.initialize({});
3721                    window.luxuryPresence.consent.initialize({ provider: 'lp-consent' });
3722                window.luxuryPresence.contactForms.initialize({});
3723                window.luxuryPresence.validation.initialize({});
3724                window.luxuryPresence.expandSliders.initialize({});
3725                window.luxuryPresence.oauth.initialize({ googleSignOnEnabled: true, iframe: false });
3726                window.luxuryPresence.qualifyingQuestionsModal.initialize({ qualifyingQuestionsModalEnabled: true });
3727            } catch (e) {
3728                console.log(e);
3729            }
3730
3731            /* Inject Section Specific Javascript */
3732                try {
3733(function init(sectionDomId) {
3734  const disclaimerLabel = document.querySelector('#' + sectionDomId + ' .lp-tcr-content');
3735  if (disclaimerLabel) {
3736    const input = disclaimerLabel.querySelector('input');
3737    if (input) {
3738      input.setAttribute('id', `${sectionDomId}-termsAccepted`);
3739      input.value = 'true';
3740      const label = document.createElement('label');
3741      label.setAttribute('for', `${sectionDomId}-termsAccepted`);
3742      label.classList.add('lp-visually-hidden');
3743      label.textContent = 'Opt in/Disclaimer Consent:';
3744      disclaimerLabel.prepend(label);
3745    }
3746  }
3747  function setHttp(link) {
3748    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
3749      link = 'https://' + link;
3750    }
3751    return link;
3752  }
3753  const socialLinks = document.querySelectorAll('#' + sectionDomId + ' .socials__link, #' + sectionDomId + ' .lp-socials__link');
3754  socialLinks.forEach(linkElement => {
3755    const href = linkElement.getAttribute('href');
3756    if (href) {
3757      linkElement.setAttribute('href', setHttp(href));
3758    }
3759  });
3760  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
3761  if (redirectLink.length) {
3762    const rawHref = setHttp(redirectLink.attr('href'));
3763    let formEvent;
3764    if (rawHref) {
3765      formEvent = redirectLink.data('redirect') ? 'formsubmitted' : 'reset';
3766      $('#' + sectionDomId + ' .contact-form').find('form').on(formEvent, function () {
3767        redirectLink.attr('href', rawHref);
3768        redirectLink[0].click();
3769      });
3770    }
3771  }
3772})('modal-global-contact-us');
3773} catch(e) {
3774console.log(e);
3775}
3776                
3777                try {
3778(function init(sectionDomId) {
3779  const $section = $('#' + sectionDomId);
3780  const $hamburger = $section.find('.hamburger-component');
3781  function onSideMenuShow() {
3782    if (!$hamburger.hasClass('active')) {
3783      $hamburger.addClass('active');
3784    }
3785  }
3786  function onSideMenuHide() {
3787    $hamburger.removeClass('active');
3788  }
3789  const $window = $(window);
3790  $window.on('lpui-sidemenu-show.lpui-auto-clean', onSideMenuShow);
3791  $window.on('lpui-sidemenu-hide.lpui-auto-clean', onSideMenuHide);
3792  const $subContainers = $section.find('.navigation__item.sub-nav-container');
3793  $subContainers.hover(function () {
3794    $(this).find('.sub-nav').addClass('visible');
3795  }, function () {
3796    $(this).find('.sub-nav').removeClass('visible');
3797  });
3798  $window.on('click.lpui-auto-clean', function () {
3799    $('.sub-nav-container.visible-dropdown').removeClass('visible-dropdown');
3800  });
3801  let fixedWidth = 0;
3802  const rightPad = 20;
3803  function fixSubsPosition() {
3804    const wWidth = window.innerWidth;
3805    if (innerWidth === fixedWidth) {
3806      return;
3807    }
3808    fixedWidth = wWidth;
3809    $subContainers.each(function () {
3810      const $sub = $(this).find('.sub-nav');
3811      $sub[0].style.right = '';
3812      const sRect = $sub[0].getBoundingClientRect();
3813      const sRight = sRect.left + sRect.width;
3814      if (sRight > wWidth - rightPad) {
3815        const parentRect = $sub[0].offsetParent.getBoundingClientRect();
3816        const parentRight = parentRect.left + parentRect.width;
3817        $sub[0].style.right = `${parentRight - wWidth + rightPad}px`;
3818      }
3819    });
3820  }
3821  var debouncer;
3822  $window.on('resize.lpui-auto-clean', function () {
3823    clearTimeout(debouncer);
3824    debouncer = setTimeout(fixSubsPosition, 500);
3825  });
3826  fixSubsPosition();
3827  if ($('.property-intro').length || $('.property-intro-2').length) {
3828    $('nav').addClass('dark-opening');
3829    $("#global-navbar").css({
3830      "background-color": "rgb(26, 26, 26)",
3831      "color": "rgb(255, 255, 255)"
3832    });
3833  }
3834  function initAutoTruncateMenu() {
3835    const $navbar = $section.find('.navbar');
3836    const $navList = $section.find('.navigation > ul');
3837    if (!$navbar.length || !$navList.length) {
3838      return;
3839    }
3840    const $logo = $section.find('.logo');
3841    const $buttonsWrapper = $section.find('.buttons-wrapper');
3842    const $allItems = $navList.children('.navigation__item');
3843    const $phoneItem = $allItems.filter(function () {
3844      return $(this).find('a[href^="tel:"]').length > 0;
3845    });
3846    const $menuItems = $allItems.not($phoneItem);
3847    if (!$menuItems.length) {
3848      return;
3849    }
3850    const buffer = 8;
3851    function measureFixedWidth() {
3852      let width = buffer;
3853      if ($logo.length) {
3854        width += $logo.outerWidth(true) || 0;
3855      }
3856      if ($buttonsWrapper.length) {
3857        width += $buttonsWrapper.outerWidth(true) || 0;
3858      }
3859      if ($phoneItem.length) {
3860        width += $phoneItem.outerWidth(true) || 0;
3861      }
3862      return width;
3863    }
3864    function truncateMenu() {
3865      if (!$navList.is(':visible')) {
3866        return;
3867      }
3868      $menuItems.css('display', '');
3869      const availableWidth = $navbar[0].getBoundingClientRect().width - measureFixedWidth();
3870      let widthSoFar = 0;
3871      let overflowed = false;
3872      $menuItems.each(function () {
3873        const $item = $(this);
3874        if (overflowed) {
3875          $item.css('display', 'none');
3876          return;
3877        }
3878        widthSoFar += $item.outerWidth(true);
3879        if (widthSoFar > availableWidth) {
3880          $item.css('display', 'none');
3881          overflowed = true;
3882        }
3883      });
3884    }
3885    let truncateFrame;
3886    function scheduleTruncate() {
3887      if (truncateFrame) {
3888        return;
3889      }
3890      truncateFrame = window.requestAnimationFrame(function () {
3891        truncateFrame = null;
3892        truncateMenu();
3893      });
3894    }
3895    scheduleTruncate();
3896    if (window.ResizeObserver) {
3897      const resizeObserver = new ResizeObserver(scheduleTruncate);
3898      resizeObserver.observe($navbar[0]);
3899    } else {
3900      $(window).on('resize.lpui-auto-truncate', scheduleTruncate);
3901    }
3902    $section.find('img').on('load.lpui-auto-truncate', scheduleTruncate);
3903    $(window).on('load.lpui-auto-truncate', scheduleTruncate);
3904    if (document.fonts && document.fonts.ready) {
3905      document.fonts.ready.then(scheduleTruncate);
3906    }
3907  }
3908  initAutoTruncateMenu();
3909})('global-navbar');
3910} catch(e) {
3911console.log(e);
3912}
3913                try {
3914(function init(sectionDomId, options) {
3915  var elementSelector = options.elementSelector || 'nav';
3916  var element = document.querySelector(elementSelector);
3917  var sections = document.querySelectorAll('body > section');
3918  var subNavContainers = element.querySelectorAll('.sub-nav');
3919  var initialBackgroundColor = options.initialBackgroundColor || element.style.backgroundColor;
3920  var backgroundColorScroll = options.backgroundColorScroll || '#191919';
3921  var fontColor = options.fontColor || '#fff';
3922  var fontColorScroll = options.fontColorScroll || '#000';
3923  var didScroll = false;
3924  var lastScrollTop = 0;
3925  var delta = 5;
3926
3927  // eslint-disable-next-line sonarjs/no-collapsible-if
3928  if (wow) {
3929    // Wowjs might not trigger for position fixed elements
3930    if (window.scrollY > 0) {
3931      element.querySelectorAll('.wow').forEach(el => wow.show(el));
3932    }
3933  }
3934  function adjustNavPinState() {
3935    // Remove 'visible' class from all subNavContainers
3936    for (let i = 0; i < subNavContainers.length; i++) {
3937      subNavContainers[i].classList.remove('visible');
3938    }
3939    if (window.scrollY > 0) {
3940      element.style.backgroundColor = backgroundColorScroll;
3941      element.style.color = fontColorScroll;
3942      element.classList.add('scroll');
3943    } else {
3944      element.style.backgroundColor = initialBackgroundColor;
3945      element.style.color = fontColor;
3946      element.classList.remove('scroll');
3947    }
3948  }
3949  adjustNavPinState();
3950  function onScroll() {
3951    didScroll = true;
3952  }
3953  window.addEventListener('scroll', onScroll);
3954
3955  // eslint-disable-next-line
3956  var debounceInterval = setInterval(() => {
3957    if (didScroll) {
3958      // eslint-disable-next-line
3959      hasScrolled();
3960      didScroll = false;
3961    }
3962  }, 250);
3963  function hasScrolled() {
3964    adjustNavPinState();
3965    // eslint-disable-next-line
3966    var navbarHeight = element.offsetHeight;
3967    // eslint-disable-next-line
3968    var st = window.scrollY;
3969
3970    // Make sure they scroll more than delta
3971    if (Math.abs(lastScrollTop - st) <= delta) {
3972      return;
3973    }
3974    if (st > lastScrollTop && st > navbarHeight) {
3975      // Scroll Down
3976      element.style.transform = `translateY(-${navbarHeight}px) scaleY(0)`;
3977      document.documentElement.style.setProperty('--global-header-height', '0px');
3978
3979      // Some sections "follow" the navbar with class sticky (i.e. Producer search)
3980      sections.forEach(section => {
3981        if (section.classList.contains('sticky')) {
3982          section.style.top = '0px';
3983        }
3984      });
3985    } else {
3986      // Scroll Up
3987      // eslint-disable-next-line
3988      if (st + window.innerHeight < document.documentElement.scrollHeight) {
3989        element.style.transform = `translateY(0) scaleY(1)`;
3990        document.documentElement.style.setProperty('--global-header-height', `${navbarHeight}px`);
3991        sections.forEach(section => {
3992          if (section.classList.contains('sticky')) {
3993            section.style.top = `${navbarHeight}px`;
3994          }
3995        });
3996      }
3997    }
3998    lastScrollTop = st;
3999  }
4000})('NAVBAR', JSON.parse("{\"fontColor\":\"#fff\",\"elementSelector\":\"nav\",\"fontColorScroll\":\"#fff\",\"initialFontColor\":\"#fff\",\"backgroundColorScroll\":\"#1a1a1a\",\"initialBackgroundColor\":\"rgba(0,0,0,0)\"}"));
4001} catch(e) {
4002console.log(e);
4003}
4004                try {
4005(function init(sectionDomId) {
4006  var $sidemenu = $('#' + sectionDomId);
4007  var shown = false;
4008  function onShow() {
4009    if (shown) {
4010      return;
4011    }
4012    shown = true;
4013    window.lpUI.requestScrollLock(sectionDomId);
4014  }
4015  function onHide() {
4016    if (!shown) {
4017      return;
4018    }
4019    shown = false;
4020    window.lpUI.releaseScrollLock(sectionDomId);
4021    $('body').removeClass('locked');
4022    $('.hamburger.active').removeClass('active');
4023  }
4024  $sidemenu.on('lpui-show', onShow);
4025  $sidemenu.on('lpui-hide', onHide);
4026  $sidemenu.find('a:not(.sub-nav-heading)').click(function () {
4027    onHide();
4028    window.lpUI.sideMenuHide(true);
4029  });
4030})('global-sidemenu');
4031} catch(e) {
4032console.log(e);
4033}
4034                
4035                try {
4036(function init(sectionDomId) {
4037  function getNums(str) {
4038    return str.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/);
4039  }
4040  function getLightness(rgbaString) {
4041    let r = getNums(rgbaString)[1];
4042    let g = getNums(rgbaString)[2];
4043    let b = getNums(rgbaString)[3];
4044    r /= 255;
4045    g /= 255;
4046    b /= 255;
4047    let cmin = Math.min(r, g, b),
4048      cmax = Math.max(r, g, b),
4049      delta = cmax - cmin,
4050      l = 0;
4051    l = (cmax + cmin) / 2;
4052    l = +(l * 100).toFixed(1);
4053    return l;
4054  }
4055  const $footer = $('.footer');
4056  let footerBackgroundColor = $('footer').css('background-color');
4057  if (getLightness(footerBackgroundColor) >= 50) {
4058    $footer.addClass('light');
4059  } else {
4060    $footer.addClass('dark');
4061  }
4062  var $footerWrap = $('.footer').closest("footer");
4063  if ($footerWrap.length === 0) {
4064    $footerWrap = $('.footer').closest("body");
4065  }
4066  var footerWrapBackgroundColor = $footerWrap.css('background-color');
4067  var footerColor = $footerWrap.css('color');
4068  $footerWrap.css({
4069    "--fontColor": footerColor,
4070    "--bgColor": footerWrapBackgroundColor
4071  });
4072  const form = $("#" + sectionDomId).find("form");
4073  const redirectLink = $('#' + sectionDomId + ' .redirect-link');
4074  form.on("reset", function () {
4075    redirectPage(redirectLink);
4076  });
4077  function redirectPage(link) {
4078    if (link.length) {
4079      const rawHref = link.attr('href');
4080      link.attr('href', setHttp(rawHref));
4081      link[0].click();
4082    }
4083  }
4084  function setHttp(link) {
4085    if (link.search(/^http[s]?\:\/\/|\//) == -1) {
4086      link = 'http://' + link;
4087    }
4088    return link;
4089  }
4090})('global-footer');
4091} catch(e) {
4092console.log(e);
4093}
4094                
4095                try {
4096(function init(sectionDomId) {
4097  var _section = $('#' + sectionDomId);
4098  var _footer = document.getElementById('global-footer');
4099  const redirectLink = _section.find('.js-redirect-link');
4100  function setHttp(link) {
4101    if (link.search(/^(http[s]?\:\/\/|\/)/) == -1) {
4102      link = 'https://' + link;
4103    }
4104    return link;
4105  }
4106  function redirectPage(link) {
4107    if (link.length) {
4108      window.location.href = setHttp(link.attr('href'));
4109    }
4110  }
4111  const emailInput = _section.find('.js-email-input');
4112  const emailRegex = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~\-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+/;
4113  emailInput.on('input', function () {
4114    if (emailRegex.test(this.value)) {
4115      this.setCustomValidity('');
4116    } else {
4117      this.setCustomValidity('Please enter a valid email address.');
4118    }
4119    this.reportValidity();
4120  });
4121  _section.find('input[name="name"]').on("keyup", function () {
4122    if (this.value.replaceAll(/\d/g, "").trim().split(" ").length < 2 || this.value.replaceAll(/\d/g, "").trim() === "") {
4123      this.setCustomValidity("Please input your first name and last name.");
4124    } else {
4125      this.setCustomValidity("");
4126    }
4127  });
4128  _section.find('form').on("reset", function () {
4129    $(this).addClass("show-success");
4130    redirectPage(redirectLink);
4131  });
4132  $(window).scroll(function () {
4133    if ($(this).scrollTop() >= 150) _section.find('.btn-holder').addClass('visible');else _section.find('.btn-holder').removeClass('visible');
4134  });
4135  _section.find('.close-btn, .connect-btn').click(function () {
4136    _section.find('.pop-up').toggle();
4137    _section.find('.btn-holder').toggle();
4138  });
4139  if (!_footer) return;
4140  const observer = new IntersectionObserver(entries => {
4141    entries.forEach(entry => {
4142      if (entry.isIntersecting) _section.hide();else _section.show();
4143    });
4144  }, {
4145    threshold: 0.1
4146  });
4147  observer.observe(_footer);
4148  function selectToDropdown(selectItem) {
4149    let customDropdown = `
4150        <div class="custom-select" role="presentation">
4151        <button class="custom-select-toggle is-placeholder" type="button" aria-haspopup="true" aria-expanded="false"></button>
4152        <div class="custom-select-menu" style="display: none;max-height: none;">
4153        <div class="custom-select-content">
4154        </div>
4155        </div>
4156        </div>`;
4157    $(customDropdown).insertAfter(selectItem);
4158    let $dropdown = $($(selectItem).next());
4159    let $dropdownToggle = $dropdown.find(".custom-select-toggle");
4160    let $dropdownMenu = $dropdown.find(".custom-select-menu");
4161    let $dropdownContent = $dropdown.find(".custom-select-content");
4162    $dropdownToggle.addClass($(selectItem).attr("class")).removeClass("dropdown-select");
4163    $dropdownToggle.attr("id", $(selectItem).attr("id") + "custom");
4164    $dropdownMenu.attr("aria-labelledby", $dropdownToggle.attr("id"));
4165    appendOptionButtons(selectItem, $dropdownContent);
4166    $(selectItem).removeClass().addClass("sr-only");
4167    var toggleText = $(selectItem).find(":selected").first().text() || $(selectItem).children().first().text();
4168    $dropdownToggle.html(toggleText);
4169    $dropdown.on("click", ".custom-select-item", function (e) {
4170      if ($(this).hasClass("is-disabled")) return;
4171      let elementNumber = $(this).index();
4172      let $originalSelect = $(this).closest(".custom-select").siblings("select");
4173      let $linkedOption = $originalSelect.find("option").eq(elementNumber);
4174      if (!$linkedOption.prop("selected")) {
4175        $linkedOption.prop("selected", true);
4176        $originalSelect.change();
4177        $(this).addClass("is-selected").siblings(".custom-select-item").removeClass("is-selected");
4178        $dropdownToggle.html($(this).html());
4179        closeSelectMenu($(this).closest(".custom-select-menu"));
4180      }
4181      $dropdownToggle.removeClass("is-placeholder");
4182    });
4183    function convertOptionToButton(option) {
4184      var optionText = $(option).text();
4185      var optionValue = $(option).attr("value") || $(option).text();
4186      var optionIsDisabled = $(option).prop("disabled");
4187      var outputButton = `<button value="${optionValue}" class="custom-select-item" type="button" ${optionIsDisabled ? "disabled" : ""}>${optionText}</button>`;
4188      return outputButton;
4189    }
4190    function appendOptionButtons(selectItem, appendTarget) {
4191      $(selectItem).find("option").each(function () {
4192        let currentButton = convertOptionToButton(this);
4193        $(appendTarget).append(currentButton);
4194      });
4195    }
4196    function showSelectMenu(selectMenu) {
4197      var customSelect = $(selectMenu).closest(".custom-select")[0];
4198      $(customSelect).addClass("open");
4199      $(selectMenu).slideDown();
4200    }
4201    function closeSelectMenu(selectMenu) {
4202      var customSelect = $(selectMenu).closest(".custom-select")[0];
4203      $(customSelect).removeClass("open");
4204      $(selectMenu).slideUp();
4205    }
4206    $dropdown.on("click", ".custom-select-toggle", function (e) {
4207      var $customSelect = $(this).closest(".custom-select");
4208      var selectMenu = $customSelect.find(".custom-select-menu")[0];
4209      if ($customSelect.hasClass("open")) {
4210        closeSelectMenu(selectMenu);
4211      } else {
4212        showSelectMenu(selectMenu);
4213      }
4214    });
4215    $(document).on("click", function (e) {
4216      if ($(e.target).closest(".custom-select").length < 1 && $(".custom-select").hasClass("open")) {
4217        $(".custom-select.open").each(function () {
4218          var selectMenu = $(this).find(".custom-select-menu")[0];
4219          closeSelectMenu(selectMenu);
4220        });
4221      }
4222    });
4223  }
4224  $(".pop-up select[name='interest']").each(function () {
4225    selectToDropdown(this);
4226  });
4227})('global-mobile-contact');
4228} catch(e) {
4229console.log(e);
4230}
4231                
4232                try {
4233(function init(sectionDomId, options) {
4234  let section = null;
4235  switch (sectionDomId) {
4236    case 'NAVBAR':
4237      section = document.querySelector('body > nav, #global-navbar');
4238      break;
4239    case 'FOOTER':
4240      section = document.querySelector('body > footer, #global-footer');
4241      break;
4242    case 'SIDEMENU':
4243      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
4244      break;
4245    case 'CONTACT':
4246      section = document.querySelector('#modal-global-contact-us');
4247      break;
4248    case 'MOBILE_CONTACT':
4249      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
4250      break;
4251    case 'SUBSCRIBE':
4252      // Subscribe Not Implemented
4253      section = null;
4254      break;
4255    case 'ACCOUNT':
4256      // Account Not Implemented
4257      section = null;
4258      break;
4259    default:
4260      section = document.querySelector('#' + sectionDomId);
4261  }
4262  if (!section) {
4263    return;
4264  }
4265
4266  // Where content / items are rendered
4267  const dataContainer = section.querySelector('.data-container');
4268  if (!dataContainer) {
4269    // no place to render items = no need to query server or do anything else
4270    return;
4271  }
4272  let variables = options.variables || {};
4273
4274  // Some variables in options may not have been injected - remove
4275  Object.keys(variables).forEach(function (variableName) {
4276    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
4277      delete variables[variableName];
4278    }
4279  });
4280
4281  // Merge page query variables
4282  if (options.usePageResource) {
4283    variables = {
4284      ...variables,
4285      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
4286    };
4287  }
4288
4289  // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers
4290  // resolve the flag — fetchData reads the section stamp, aux fetches read
4291  // their own resource's stamp (auxUsesRouter).
4292  function apiUrl(useRouter) {
4293    return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl);
4294  }
4295
4296  // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's
4297  // (options.routerApiAux is stamped per aux resource server-side).
4298  function auxUsesRouter(resource) {
4299    return !!(options.routerApiAux && options.routerApiAux[resource]);
4300  }
4301
4302  // Pagination Executes on a Numbered Pagination Container
4303  //  Or via a load more button
4304  let mode = 'BUTTONLESS_PAGINATION';
4305  const container = section.querySelector('.pagination-container');
4306  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
4307  if (container) {
4308    mode = 'NUMBERED_PAGINATION';
4309  }
4310  if (loadMoreButton) {
4311    mode = 'LOAD_MORE_BUTTON';
4312  }
4313  let searchContainer = section.querySelector('.search-container');
4314  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
4315  const eventPrefix = '__pagination-';
4316  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
4317    param: 'neighborhoodId',
4318    urlKey: 'neighborhood'
4319  }, {
4320    param: 'search',
4321    urlKey: 'search'
4322  }, {
4323    param: 'salesPriceGTE',
4324    urlKey: 'pricemin',
4325    formKey: 'priceMin',
4326    type: 'int'
4327  }, {
4328    param: 'salesPriceLTE',
4329    urlKey: 'pricemax',
4330    formKey: 'priceMax',
4331    type: 'int'
4332  }, {
4333    param: 'livingSpaceSizeGTE',
4334    urlKey: 'areamin',
4335    formKey: 'areaMin',
4336    type: 'int'
4337  }, {
4338    param: 'livingSpaceSizeLTE',
4339    urlKey: 'areamax',
4340    formKey: 'areaMax',
4341    type: 'int'
4342  }] : []);
4343
4344  // Total entries - initialized in first render
4345  let totalNumber = 0;
4346  const DefaultSearchParams = {
4347    page: 1
4348  };
4349  searchFormParams.forEach(function (formParam) {
4350    DefaultSearchParams[formParam.formKey || formParam.param] = null;
4351  });
4352  let searchParams = {
4353    ...DefaultSearchParams
4354  };
4355  const offset = options.variables?.offset || 0;
4356  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
4357  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;
4358
4359  // entries of per page
4360  // when query variables for a given section would't be filled options.pageSize can store
4361  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
4362  let pageSize = parseInt(options.pageSize, 10) || 9;
4363
4364  // Adding mobile pageRange support
4365  var NARROW_BREAKPOINT = 600;
4366  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
4367  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);
4368
4369  // Page range (pages on both sides of the current page)
4370  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
4371  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
4372  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;
4373
4374  // Whether to display the 'Previous' button
4375  var showPrevious = true;
4376
4377  // Whether to display the 'Next' button
4378  var showNext = true;
4379
4380  // Whether to display the page buttons
4381  var showPageNumbers = true;
4382
4383  // 'Previous' text
4384  var prevText = options.prevText || '&laquo;';
4385
4386  // 'Next' text
4387  var nextText = options.nextText || '&raquo;';
4388
4389  // Ellipsis text
4390  var ellipsisText = '&hellip;';
4391  var classPrefix = 'paginationjs';
4392
4393  // Default active class
4394  var activeClassName = 'active';
4395
4396  // Default disable class
4397  var disableClassName = 'disabled';
4398
4399  // Pagination element's position in the container
4400  var position = 'bottom';
4401
4402  // Whether to trigger pagination at initialization
4403  var triggerPagingOnInit = !options.skipInitialLoad;
4404  var showFirstOnEllipsisShow = true;
4405  var showLastOnEllipsisShow = true;
4406
4407  // Instantiated in init()
4408  var el = null;
4409
4410  // Controls scrollTop logic
4411  var firstRender = true;
4412  var renderBySearch = false;
4413  var disabled = false;
4414
4415  // Pagination script class selector
4416  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';
4417
4418  // Property Specific Image Override if No Image
4419  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;
4420
4421  // Construct template
4422  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
4423  var template = Handlebars.compile(templateHTML);
4424
4425  // Initialize
4426  init();
4427  function init() {
4428    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
4429
4430    // Append/prepend pagination element to the pagination container
4431    if (mode === 'NUMBERED_PAGINATION') {
4432      el = document.createElement('div');
4433      el.className = 'paginationjs';
4434      container[position === 'bottom' ? 'append' : 'prepend'](el);
4435    }
4436    if (searchContainer) {
4437      initSearchContainer({
4438        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
4439        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
4440        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
4441        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
4442      }, function () {
4443        syncSearchFormState(searchParams);
4444      });
4445    }
4446
4447    // Bind events
4448    observer();
4449  }
4450  function syncSearchFormState(params) {
4451    searchContainer.dispatchEvent(new CustomEvent('sync', {
4452      detail: params
4453    }));
4454  }
4455  function initSearchContainer(options, done) {
4456    var promises = [];
4457    if (options.fetchNeighborhoods) {
4458      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
4459        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
4460          detail: {
4461            data: neighborhoods.map(function (item) {
4462              return {
4463                value: item.id,
4464                label: item.name
4465              };
4466            })
4467          }
4468        }));
4469      }));
4470    }
4471    if (options.fetchPostCategories) {
4472      promises.push(fetchPostCategories(function (categories) {
4473        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
4474          detail: {
4475            data: categories
4476          }
4477        }));
4478      }));
4479    }
4480    if (options.fetchOffices) {
4481      promises.push(fetchOffices(function (offices) {
4482        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
4483          detail: {
4484            data: offices
4485          }
4486        }));
4487      }));
4488    }
4489    if (options.fetchRentalRates) {
4490      promises.push(fetchAllRentalRates(function (rentalRates) {
4491        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
4492          detail: {
4493            data: rentalRates
4494          }
4495        }));
4496      }));
4497    }
4498    if (promises.length > 0) {
4499      Promise.all(promises).then(function () {
4500        done();
4501      });
4502    } else {
4503      // element's custom code is not executed yet, so we're scheduling callback to after element's code
4504      setTimeout(done);
4505    }
4506  }
4507  function fetchAllNeighborhoods(done) {
4508    var useRouter = auxUsesRouter('neighborhoods');
4509    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same
4510    // args on both APIs (the federated neighborhoods field accepts
4511    // withProperties/withBlogPosts); only the selection set differs.
4512    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') + '}}';
4513    var payload = {};
4514    payload.offset = 0;
4515    payload.limit = 100;
4516    payload.companyId = variables.companyId;
4517    if (options.resource === 'properties') {
4518      payload.withProperties = {
4519        active: true
4520      };
4521      ['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) {
4522        if (variables[field] !== undefined && variables[field] !== null) {
4523          payload.withProperties[field] = variables[field];
4524        }
4525      });
4526    }
4527    if (options.resource === 'posts') {
4528      payload.withBlogPosts = {
4529        active: true
4530      };
4531      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
4532        if (variables[field] !== undefined && variables[field] !== null) {
4533          payload.withBlogPosts[field] = variables[field];
4534        }
4535      });
4536    }
4537
4538    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4539    if (useRouter) {
4540      payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload);
4541    }
4542    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
4543      query: gqlQuery,
4544      variables: payload
4545    }).then(function (res) {
4546      var value = res.body.data && res.body.data.neighborhoods || {};
4547      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4548      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
4549      done(items, items.length);
4550    });
4551  }
4552  function fetchPostCategories(done) {
4553    var featured = options.resource === 'posts' && !!variables.featured;
4554    var useRouter = auxUsesRouter('postCategories');
4555    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
4556    // selection set differs ({ items {...} } on the router).
4557    var selection = 'id, name, publishedCount, featuredPublishedCount';
4558    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) + '}}';
4559    var payload = {};
4560    payload.offset = 0;
4561    payload.limit = 100;
4562    payload.companyId = variables.companyId;
4563    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
4564      query: gqlQuery,
4565      variables: payload
4566    }).then(function (res) {
4567      var value = res.body.data && res.body.data.postCategories || {};
4568      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4569      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
4570      done(items.map(function (item) {
4571        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
4572        return item;
4573      }), items.length);
4574    });
4575  }
4576  function fetchOffices(done) {
4577    var useRouter = auxUsesRouter('offices');
4578    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
4579    // selection set differs ({ items {...} } on the router).
4580    var selection = 'id, name, tags';
4581    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two
4582    // APIs differ in more than the items wrapper: federated offices takes
4583    // companyId: ID! (legacy gateway: String), so each branch builds its whole doc.
4584    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 + '}}';
4585    var payload = {
4586      offset: 0,
4587      limit: 100,
4588      companyId: variables.companyId
4589    };
4590
4591    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4592    if (useRouter) {
4593      payload = window.luxuryPresence.routerApi.transformVariables('office
4593s', payload);
4594    }
4595    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
4596      query: gqlQuery,
4597      variables: payload
4598    }).then(function (res) {
4599      var value = res.body.data && res.body.data.offices || {};
4600      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4601      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
4602      done(items, items.length);
4603    });
4604  }
4605
4606  // ROUTER-CLEANUP: no rentalRates field on the federated router — legacy only.
4607  function fetchAllRentalRates(done) {
4608    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
4609    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
4610    var payload = {
4611      offset: 0,
4612      limit: 100,
4613      companyId: variables.companyId
4614    };
4615    superagent.post(url + '/graphql').withCredentials().send({
4616      query: gqlQuery,
4617      variables: payload
4618    }).then(function (res) {
4619      var items = res.body.data && res.body.data.rentalRates || [];
4620      done(items, items.length);
4621    }).catch(function (err) {
4622      console.error('Error fetching rental rates:', err);
4623      done([], 0);
4624    });
4625  }
4626  function fetchData(params, done) {
4627    var resource = options.resource;
4628    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
4629    var payload = {};
4630    try {
4631      payload = JSON.parse(JSON.stringify(variables));
4632    } catch (e) {
4633      Object.keys(variables).forEach(function (variableName) {
4634        payload[variableName] = variables[variableName];
4635      });
4636    }
4637    payload.offset = (params.page - 1) * pageSize + offset;
4638    payload.limit = pageSize;
4639    payload.companyId = options.companyId;
4640    searchFormParams.forEach(function (formParam) {
4641      var val = params[formParam.formKey || formParam.param];
4642      if (val !== null && val !== undefined) {
4643        objSet(payload, formParam.param, val);
4644      }
4645    });
4646
4647    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4648    if (options.useRouterApi) {
4649      payload = window.luxuryPresence.routerApi.transformVariables(resource, payload);
4650    }
4651
4652    // TODO: Disabled loading due to jarring effect
4653    // dataContainer.html('Loading...');
4654    superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({
4655      query: gqlQuery,
4656      variables: payload
4657    }).then(function (res) {
4658      if (res.body.errors) {
4659        done(res.body.errors);
4660        return;
4661      }
4662      var data = res.body.data || {};
4663      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
4664      var resources;
4665      var resourceCount;
4666      if (options.useRouterApi) {
4667        var page = window.luxuryPresence.routerApi.transformPage(data[resource]);
4668        resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items);
4669        resourceCount = page.count;
4670      } else {
4671        resources = data[resource] || [];
4672        resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
4673      }
4674      const finish = function (items) {
4675        if (resource === 'properties' && propertyPlaceholderImage?.id) {
4676          items = items.map(item => {
4677            if (item.media?.length === 0) {
4678              return Object.assign(item, {
4679                media: [propertyPlaceholderImage]
4680              });
4681            }
4682            return item;
4683          });
4684        }
4685        done(null, items, resourceCount);
4686      };
4687
4688      // ROUTER-CLEANUP: client half of PLAT-4073 — resolve the requested
4689      // disclaimers before rendering; older SDKs skip (keys stay unset).
4690      if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') {
4691        window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish);
4692        return;
4693      }
4694      finish(resources);
4695    });
4696  }
4697  function getTotalPage() {
4698    return Math.ceil(totalNumber / pageSize);
4699  }
4700  function renderPaginationList() {
4701    var totalPages = getTotalPage();
4702    var rangeStart = searchParams.page - pageRange;
4703    var rangeEnd = searchParams.page + pageRange;
4704    if (rangeEnd > totalPages) {
4705      rangeEnd = totalPages;
4706      rangeStart = totalPages - pageRange * 2;
4707      rangeStart = rangeStart < 1 ? 1 : rangeStart;
4708    }
4709    if (rangeStart <= 1) {
4710      rangeStart = 1;
4711      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
4712    }
4713
4714    // Making sure that 1 more page button is shown in edge positions
4715    if (pageRange === 0) {
4716      if (searchParams.page === totalPages) {
4717        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
4718      }
4719      if (searchParams.page === 1) {
4720        rangeEnd = Math.min(2, totalPages);
4721      }
4722    }
4723
4724    // Render pagination list
4725    if (mode === 'NUMBERED_PAGINATION') {
4726      el.innerHTML = generateHTML({
4727        currentPage: searchParams.page,
4728        pageRange: pageRange,
4729        rangeStart: rangeStart,
4730        rangeEnd: rangeEnd
4731      });
4732      if (totalPages < 2 && hidePaginationOnFirstPage) {
4733        container.style.display = 'none';
4734      } else {
4735        container.style.display = '';
4736      }
4737    } else if (mode === 'LOAD_MORE_BUTTON') {
4738      if (searchParams.page >= totalPages) {
4739        loadMoreButton.style.display = 'none';
4740      } else {
4741        loadMoreButton.style.display = '';
4742      }
4743    }
4744  }
4745  function render(data) {
4746    renderPaginationList();
4747
4748    // Render new content with handlebars
4749    var html = '';
4750    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
4751      // If using load more, append search results to existing results
4752      html = dataContainer.innerHTML;
4753    }
4754    for (var i = 0; i < data.length; i++) {
4755      var itemData = recursivelyParse(data[i]);
4756      itemData.sectionIndex = options.sectionIndex;
4757      itemData.renderOptions = options.renderOptions;
4758      html += template(itemData);
4759    }
4760    dataContainer.innerHTML = html;
4761
4762    // Scroll Top
4763    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
4764      // Only animate to the top if we replace dataContainer (numbered pagination)
4765      setTimeout(() => {
4766        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
4767        window.scrollTo({
4768          top: scrollTargetOffsetTop,
4769          behavior: 'smooth'
4770        });
4771      }, 250);
4772    }
4773    return true;
4774  }
4775  function generateHTML(args) {
4776    const totalPages = getTotalPage();
4777    const {
4778      rangeStart,
4779      rangeEnd
4780    } = args;
4781    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
4782      ...searchParams,
4783      page
4784    });
4785    let html = '';
4786    if (showPrevious || showPageNumbers || showNext) {
4787      html += '<div class="paginationjs-pages"><ul>';
4788
4789      // Previous button
4790      if (showPrevious) {
4791        if (searchParams.page <= 1) {
4792          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
4793        } else {
4794          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>`;
4795        }
4796      }
4797
4798      // Pages
4799      if (showPageNumbers) {
4800        if (rangeStart <= 3) {
4801          for (let i = 1; i < rangeStart; i++) {
4802            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>`;
4803          }
4804        } else {
4805          if (showFirstOnEllipsisShow) {
4806            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
4807          }
4808          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
4809        }
4810        for (let i = rangeStart; i <= rangeEnd; i++) {
4811          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>`;
4812        }
4813        if (rangeEnd < totalPages - 2) {
4814          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
4815          if (showLastOnEllipsisShow) {
4816            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
4817          }
4818        } else {
4819          for (let i = rangeEnd + 1; i <= totalPages; i++) {
4820            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
4821          }
4822        }
4823      }
4824
4825      // Next button
4826      if (showNext) {
4827        if (searchParams.page >= totalPages) {
4828          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
4829        } else {
4830          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>`;
4831        }
4832      }
4833      html += '</ul></div>';
4834    }
4835    return html;
4836  }
4837  function go(newSearchParams, callback, restorationVisit) {
4838    if (disabled) return;
4839    var goToPageNumber = newSearchParams.page;
4840
4841    // Page number is out of bounds
4842    if (!goToPageNumber || goToPageNumber < 1) return;
4843    var totalPage = getTotalPage();
4844
4845    // Page number is out of bounds
4846    if (!restorationVisit && totalNumber > 0) {
4847      if (goToPageNumber > totalPage) return;
4848    }
4849    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
4850      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
4851        ...newSearchParams,
4852        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
4853      });
4854      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
4855        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
4856          queryString: true
4857        }));
4858      }
4859    }
4860
4861    // Fetch and update page
4862    fetchData(newSearchParams, renderWithData);
4863    disabled = true;
4864    function renderWithData(err, data, count) {
4865      if (err) {
4866        dataContainer.dispatchEvent(new Event('error'));
4867      } else {
4868        searchParams = {
4869          ...newSearchParams
4870        };
4871        totalNumber = count - offset;
4872        if (data.length === 0) {
4873          dataContainer.dispatchEvent(new Event('no-data'));
4874        } else {
4875          dataContainer.dispatchEvent(new Event('data'));
4876        }
4877        render(data);
4878        firstRender = false;
4879      }
4880      disabled = false;
4881      renderBySearch = false;
4882    }
4883  }
4884  function areQueryParamsEqual(first, second) {
4885    var differ = Object.keys(first).find(function (key) {
4886      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
4887    });
4888    if (differ) {
4889      return false;
4890    }
4891    differ = Object.keys(second).find(function (key) {
4892      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
4893    });
4894    return !differ;
4895  }
4896  function next(callback) {
4897    go({
4898      ...searchParams,
4899      page: searchParams.page + 1
4900    }, callback);
4901  }
4902  function previous(callback) {
4903    go({
4904      ...searchParams,
4905      page: searchParams.page - 1
4906    }, callback);
4907  }
4908  function refresh(callback) {
4909    go(searchParams, callback);
4910  }
4911  function update(params, callback) {
4912    renderBySearch = true;
4913    go(params, callback);
4914  }
4915  function observer() {
4916    if (searchContainer) {
4917      searchContainer.addEventListener('search', function (event, newSearchParams) {
4918        newSearchParams = event.detail || newSearchParams;
4919        update({
4920          ...searchParams,
4921          ...newSearchParams,
4922          page: 1
4923        });
4924      });
4925      searchContainer.addEventListener('clear-search', function () {
4926        const defaultSearchParams = {
4927          ...DefaultSearchParams
4928        };
4929        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
4930          ...defaultSearchParams,
4931          page: null
4932        }, {
4933          ...searchParams,
4934          page: null
4935        });
4936
4937        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
4938        // when search form have default state
4939        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
4940          return;
4941        }
4942
4943        // if someone initially go to some page and click 'Clear' on search from
4944        // we should't navigate to first page. We should preserve page value
4945        if (isCurrentSearchFormStateDefault) {
4946          defaultSearchParams.page = searchParams.page;
4947        }
4948        syncSearchFormState(defaultSearchParams);
4949        update(defaultSearchParams);
4950      });
4951    }
4952    if (mode === 'LOAD_MORE_BUTTON') {
4953      loadMoreButton.addEventListener('click', function (event) {
4954        go({
4955          ...searchParams,
4956          page: searchParams.page + 1
4957        });
4958        return false;
4959      });
4960    }
4961    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
4962      // Do initial render
4963      go(Object.assign({}, searchParams, {
4964        page: 1
4965      }));
4966      return;
4967    }
4968    if (mode === 'NUMBERED_PAGINATION') {
4969      // Go to specified page number
4970      container.addEventListener(eventPrefix + 'go', function (event) {
4971        let {
4972          pageNumber,
4973          done
4974        } = event.detail || {};
4975        pageNumber = parseInt(pageNumber, 10);
4976        if (!pageNumber) {
4977          return;
4978        }
4979        go({
4980          ...searchParams,
4981          page: pageNumber
4982        }, done);
4983      });
4984
4985      // Page number button click
4986      el.addEventListener('click', function (event) {
4987        let clickTarget = event.target;
4988        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
4989        let pageNumber = current?.getAttribute('data-num');
4990        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
4991          return;
4992        } else {
4993          go({
4994            ...searchParams,
4995            page: parseInt(pageNumber, 10)
4996          });
4997        }
4998        event.preventDefault();
4999      });
5000
5001      // Whether to load the default page
5002      var defaultPageNumber = searchParams.page;
5003      if (triggerPagingOnInit) {
5004        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
5005          detail: {
5006            pageNumber: defaultPageNumber
5007          }
5008        }));
5009      }
5010    }
5011    window.addEventListener('popstate', function (event) {
5012      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
5013      if (!areQueryParamsEqual(newParams, searchParams)) {
5014        go(newParams, null, true);
5015        if (searchContainer) {
5016          syncSearchFormState(newParams);
5017        }
5018      }
5019    });
5020  }
5021  function replaceVariables(template, variables) {
5022    var formattedString;
5023    for (var key in variables) {
5024      var value = variables[key];
5025      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
5026      formattedString = (formattedString || template).replace(regexp, value);
5027    }
5028    return formattedString;
5029  }
5030  function isTextEditorValue(obj) {
5031    return 'raw' in obj || 'gjs' in obj;
5032  }
5033  function getTextEditorValue(obj) {
5034    if (!obj.html) {
5035      return '';
5036    }
5037    var data = obj.html;
5038    var css = (obj.raw || obj.gjs || {}).css;
5039    if (css) {
5040      data = data + '<style>' + css + '</style>';
5041    }
5042    return data;
5043  }
5044
5045  /**
5046   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
5047   * strips out raw proprties and returns only HTML if it exists.
5048   * @param {Object} resources a collection retrieved from the database
5049   * @return {Object} the newly modified object.
5050   */
5051  function recursivelyParse(resources) {
5052    forEach(resources, function (value, key) {
5053      if (!value) {
5054        return;
5055      }
5056      if (value instanceof Object) {
5057        if (isTextEditorValue(value)) {
5058          resources[key] = getTextEditorValue(value);
5059          return;
5060        } else {
5061          return recursivelyParse(value);
5062        }
5063      }
5064      try {
5065        var parsedData = JSON.parse(value);
5066        if (isTextEditorValue(parsedData)) {
5067          resources[key] = getTextEditorValue(parsedData);
5068        }
5069      } catch (e) {
5070        // do nothing if we failed to parse value as JSON
5071      }
5072    });
5073    return resources;
5074  }
5075  function forEach(collection, iteratee) {
5076    var func = Array.isArray(collection) ? arrayEach : baseFor;
5077    return func(collection, iteratee);
5078  }
5079  function baseFor(object, iteratee) {
5080    if (!object) {
5081      return;
5082    }
5083    var iterable = Object(object);
5084    var props = Object.keys(object);
5085    var length = props.length;
5086    var index = -1;
5087    while (length--) {
5088      var key = props[++index];
5089      if (iteratee(iterable[key], key, iterable) === false) {
5090        break;
5091      }
5092    }
5093    return object;
5094  }
5095  function objSet(obj, path, value) {
5096    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
5097    pathArray.reduce((acc, key, i) => {
5098      if (acc[key] === undefined) acc[key] = {};
5099      if (i === pathArray.length - 1) acc[key] = value;
5100      return acc[key];
5101    }, obj);
5102  }
5103  function arrayEach(array, iteratee) {
5104    var index = -1;
5105    var length = array.length;
5106    while (++index < length) {
5107      if (iteratee(array[index], index, array) === false) {
5108        break;
5109      }
5110    }
5111    return array;
5112  }
5113  function selectPageRangeMode(e) {
5114    pageRange = e.matches ? mobilePageRange : desktopPageRange;
5115    renderPaginationList();
5116  }
5117  paginationMql.addEventListener('change', selectPageRangeMode);
5118})('section-f49c80d5-1090-4356-bdb7-81766af37cfc', JSON.parse("{\"pageSize\":\"24\",\"resource\":\"properties\",\"pageRange\":0,\"variables\":{\"limit\":24,\"order\":\"salesPrice\",\"offset\":0,\"sortDir\":\"DESC\",\"statusId\":\"{{variables.statusId}}\",\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"categoryId\":\"{{pageElement.categoryId}}\",\"sort\":\"salesPrice\",\"statusIds\":[\"b0e88b38-7437-438d-a6fd-b13f135e1683\"],\"propertyIds\":[\"8bf71a0c-3ff9-404c-8842-268a1367d602\",\"0ace1ac7-0e53-440a-9e14-787c340f4915\",\"1146c6fc-5fc5-403a-ad09-716d08b9ccc5\",\"896f5b99-b0ee-451a-9a6f-407130dffe00\",\"a8212a3f-ded0-47a0-9b25-d36a5e305d8d\",\"07a8ebcc-23b0-4afd-9313-ae7f558093f3\",\"033065ee-863c-4d14-a0af-4b6336ddc5ef\",\"9cce0ba6-b894-462a-9ba6-8d1a43cea0e9\",\"a76bd4f6-3566-4cba-9a35-47f3fd98b64f\",\"a3a02081-1edf-4b0f-8b84-b4281292fb0a\",\"b35f9aac-10f8-4cb7-b3d2-77bda2807b9b\",\"4e4ff6f1-1291-4dc6-be15-c948e28125c1\",\"6780ca69-9e27-4af0-a94b-147ccf256efe\",\"35be51e2-62c3-423b-abf2-944a08966c59\",\"fcc02dc6-6cc1-47b5-860b-b
511818396d08af4\",\"9902cd68-bfd0-44f4-9f0e-00ee1b8f291a\",\"04692883-7857-4a7a-90a4-038ad1ed5e45\",\"f8c6457e-b7fc-4bd5-8177-714bcdca3aaa\",\"9edcb6b4-84dd-4a7e-a858-38d5bc9c8789\",\"f2ea3c84-332e-4a33-8081-bfb3cf089e67\",\"4a24724e-e98a-40dd-bf0d-819b6d4e0fb1\",\"fde207f0-67de-496f-9f9a-78a962417d69\",\"52332c59-2e51-4c07-ac7e-10082828fc76\",\"922a566c-0a1a-4e46-a533-51fea05da75b\",\"56c18fe1-9ac6-4cda-80bf-47a8ff1d6ee5\",\"571f9497-240d-4f45-8b74-fbb8737ca632\",\"e6ba757c-a3d0-4a61-9b13-13927f7bf380\",\"3ec26aba-8f88-401f-a48e-f2cdc3c7af35\",\"47a6395a-4f09-4cbc-99a0-27c7423f4c02\",\"19c7dfc1-a4c3-478d-8e9f-169bd0c1ddd8\",\"76191530-8ccb-4ff9-9c09-5fbfde3b098a\",\"cd36507a-46c6-4d08-ae5d-5acaf0988cc7\",\"a91f1984-f6d3-4946-8ef5-53a986bce631\",\"c45e6905-4d85-423c-a931-9fa40b6e82e4\",\"70b9795b-8238-4bb4-89a8-67f8404f653a\",\"6420fcf0-8552-4883-800f-f3c0f0d434e2\",\"00cb54ee-6c00-47a4-bfd2-a24d29575c8d\",\"c0f72676-6138-4179-8a1b-60748a717e71\",\"d50e081d-d27d-470b-8729-91d0f66b0522\",\"3337bcf5-1fc1-4a73-9ba5-c490d7c49d40\",\"8f33c8fa-e237-4851-9488-86b75775eda5\",\"12ee30ff-e1fd-4f1b-97d9-0846c3a8e734\",\"c276706b-74b8-4175-8b6e-bc6f627f18fd\",\"d4613c10-9166-47dc-88e9-85db3005bcca\"],\"advancedFilters\":{\"query\":{\"statusIds\":{\"in\":[\"b0e88b38-7437-438d-a6fd-b13f135e1683\"]}}},\"websiteId\":\"ff06f655-0c64-45c8-9c55-e8468b4e5303\"},\"searchFormParams\":[{\"param\":\"neighborhoodId\",\"urlKey\":\"neighborhood\"},{\"param\":\"search\",\"urlKey\":\"search\"},{\"type\":\"int\",\"param\":\"salesPriceGTE\",\"urlKey\":\"pricemin\",\"formKey\":\"priceMin\"},{\"type\":\"int\",\"param\":\"salesPriceLTE\",\"urlKey\":\"pricemax\",\"formKey\":\"priceMax\"},{\"type\":\"int\",\"param\":\"leasePriceGTE\",\"urlKey\":\"lpricemin\",\"formKey\":\"lpriceMin\"},{\"type\":\"int\",\"param\":\"leasePriceLTE\",\"urlKey\":\"lpricemax\",\"formKey\":\"lpriceMax\"},{\"type\":\"int\",\"param\":\"livingSpaceSizeGTE\",\"urlKey\":\"areamin\",\"formKey\":\"areaMin\"},{\"type\":\"int\",\"param\":\"livingSpaceSizeLTE\",\"urlKey\":\"areamax\",\"formKey\":\"areaMax\"}],\"resourceQueryOption\":\"query\",\"hidePaginationOnFirstPage\":true,\"query\":\"query Properties($agentIds: [ID!], $teamIds: [ID!], $neighborhoodIds: [ID!], $officeIds: [ID!], $propertyId: ID, $companyId: String, $networkId: String, $network: Boolean, $statusId: String, $propertyIds: [ID!], $prioritizeIds: Boolean, $statusIds: [String!], $excludeStatusId: [String!], $neighborhoodId: String, $addressState: [String!], $addressCity: [String!], $relatedNeighborhoodPropertyId: String, $developmentId: String, $featuredListing: Boolean, $leaseProperty: Boolean, $search: String, $searchTermMode: SearchTermModeEnum, $globalProperty: Boolean, $archived: Boolean, $salesPriceGTE: Float, $salesPriceLTE: Float, $leasePriceGTE: Float, $leasePriceLTE: Float, $livingSpaceSizeGTE: Float, $livingSpaceSizeLTE: Float, $bathCountGTE: Float, $bathCountLTE: Float, $bedroomCountGTE: Float, $bedroomCountLTE: Float, $architectureStyle: String, $lifestyle: String, $propertyTypeId: String, $propertyTypeIds: [String!], $spaceTypeIds: [ID!], $tag: String, $backfillMLSResults: Boolean, $displayMLSListings: String, $hostname: String, $websiteId: ID, $backfillProviders: [String!], $backfillMLSListingIds: [String!], $backfillMLSAgentIds: [String!], $backfillMLSOfficeIds: [String!], $backfillBoundary: JSON, $openHouse: Boolean, $withGeo: Boolean, $advancedFilters: JSON, $seasonalPriceId: ID, $offset: Int, $limit: Int, $sort: String, $sortDir: SortDirectionEnum) {\\n  properties(\\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    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    slug\\n    name\\n    status\\n    priceUponRequest\\n    currency\\n    salesPrice\\n    reducedPrice\\n    isPasswordProtected\\n    leaseProperty\\n    leasePrice\\n    leasePeriod\\n    privateAddress\\n    fromMLS\\n    mlsId\\n    mlsLogo\\n    mlsAttribution\\n    openHouseHours\\n    fullAddress\\n    lotAreaSize\\n    lotAreaUnits\\n    media {\\n      smallUrl\\n      mediumUrl\\n      largeUrl\\n      xLargeUrl\\n      xxLargeUrl\\n      width\\n      height\\n      altTagText\\n    }\\n    bedroomCount\\n    bathCount\\n    soldDate\\n    livingSpaceSize\\n    livingSpaceUnits\\n    types {\\n      id\\n      name\\n    }\\n  }\\n  propertiesCount(\\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    count\\n  }\\n}\",\"routerPropertyDisclaimers\":[\"mlsAttribution\",\"mlsLogo\"],\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"usePageResource\":false,\"sectionIndex\":2,\"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}}"));
5119} catch(e) {
5120console.log(e);
5121}
5122                try {
5123(function init(sectionDomId) {
5124  $(document).on("click", '#' + sectionDomId + ' .property-list__share .btn', function () {
5125    if ($(this).parent().hasClass('property-list__share--opened')) {
5126      $(this).parent().removeClass('property-list__share--opened');
5127    } else {
5128      $('#' + sectionDomId + ' .property-list__share').removeClass('property-list__share--opened');
5129      $(this).parent().addClass('property-list__share--opened');
5130    }
5131  });
5132  const emptyResultElement = $('#' + sectionDomId + ' .empty-result');
5133  const searchContainer = $('#' + sectionDomId + ' .search-container');
5134  const dataContainer = $('#' + sectionDomId + ' .data-container');
5135  const paginationContainer = $(`#${sectionDomId} .pagination-container`);
5136  const priceSlider = searchContainer.find('input[name="price-slider"]');
5137  const areaSlider = searchContainer.find('input[name="area-slider"]');
5138  const neighborhoodSelect = searchContainer.find('select[name="neighborhood-select"]');
5139  const searchInput = searchContainer.find('input[name="search-input"]');
5140  const clearBtn = searchContainer.find('.clear');
5141  const priceMin = parseInt(priceSlider.attr('data-min'));
5142  const priceMax = parseInt(priceSlider.attr('data-max'));
5143  const areaMin = parseInt(areaSlider.attr('data-min'));
5144  const areaMax = parseInt(areaSlider.attr('data-max'));
5145  const rangeSliderInitialized = $(`#${sectionDomId} .search-item .irs`).length >= 1;
5146  const filterLease = searchContainer.data('filter-lease');
5147  function onSearch() {
5148    const params = window.luxuryPresence.getSearchFormValues({
5149      queryElement: searchInput[0],
5150      priceSliderElement: priceSlider[0],
5151      areaSliderElement: areaSlider[0],
5152      neighborhoodSelect: neighborhoodSelect[0]
5153    });
5154    if (filterLease) {
5155      params.lpriceMin = params.priceMin;
5156      params.lpriceMax = params.priceMax;
5157      delete params.priceMin;
5158      delete params.priceMax;
5159    }
5160    if (!areaSlider.attr('data-min')) params.areaMin = null;
5161    if (!areaSlider.attr('data-max')) params.areaMax = null;
5162    searchContainer[0]?.dispatchEvent(new CustomEvent('search', {
5163      detail: params
5164    }));
5165  }
5166  searchContainer.on('neighborhoods-data', function (ev, neighborhoods) {
5167    neighborhoods = ev.detail || neighborhoods;
5168    neighborhoodSelect.append(neighborhoods.data.map(item => `<option value="${item.value}">${item.label}</option>`).join('\n'));
5169  });
5170  searchContainer.on('sync', function (ev, params) {
5171    params = ev.detail || params;
5172    searchInput.val(params.search);
5173    neighborhoodSelect.val(params.neighborhoodId);
5174    priceSlider.data('ionRangeSlider').update({
5175      from: filterLease ? params.lpriceMin : params.priceMin,
5176      to: filterLease ? params.lpriceMax : params.priceMax
5177    });
5178    areaSlider.data('ionRangeSlider').update({
5179      from: params.areaMin,
5180      to: params.areaMax
5181    });
5182  });
5183  dataContainer.on('no-data', function () {
5184    emptyResultElement.show();
5185  });
5186  dataContainer.on('data', function () {
5187    emptyResultElement.hide();
5188  });
5189  clearBtn.click(function () {
5190    searchContainer[0]?.dispatchEvent(new Event('clear-search'));
5191  });
5192  searchInput.on('input', window.luxuryPresence.debounce(onSearch, 1000));
5193  neighborhoodSelect.change(onSearch);
5194  if (rangeSliderInitialized) {
5195    if (!priceSlider.destroy) {
5196      $(`#${sectionDomId} .search-item.price >.irs`).remove();
5197      initPriceSlider();
5198    }
5199    if (!areaSlider.destroy) {
5200      $(`#${sectionDomId} .search-item.area >.irs`).remove();
5201      initAreaSlider();
5202    }
5203  } else {
5204    initPriceSlider();
5205    initAreaSlider();
5206  }
5207  function initPriceSlider() {
5208    priceSlider.ionRangeSlider({
5209      type: "double",
5210      skin: 'round',
5211      grid: false,
5212      force_edges: false,
5213      hide_min_max: false,
5214      hide_from_to: false,
5215      block: false,
5216      prettify: function (val) {
5217        return window.luxuryPresence.formatSliderPriceRange(val, {
5218          min: priceMin,
5219          max: priceMax
5220        }, "$", {
5221          lowPrefix: "<",
5222          highSuffix: "+"
5223        });
5224      },
5225      onFinish: onSearch
5226    });
5227  }
5228  function initAreaSlider() {
5229    areaSlider.ionRangeSlider({
5230      type: "double",
5231      skin: 'round',
5232      grid: false,
5233      force_edges: false,
5234      hide_min_max: false,
5235      hide_from_to: false,
5236      block: false,
5237      prettify: function (val) {
5238        return window.luxuryPresence.formatSliderAreaRange(val, {
5239          min: areaMin,
5240          max: areaMax
5241        }, "sqft", {
5242          lowPrefix: "<",
5243          highSuffix: "+"
5244        });
5245      },
5246      onFinish: onSearch
5247    });
5248  }
5249})('section-f49c80d5-1090-4356-bdb7-81766af37cfc', JSON.parse("{\"resource\":\"properties\",\"useRouterApi\":false,\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"usePageResource\":false,\"sectionIndex\":2,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
5250} catch(e) {
5251console.log(e);
5252}
5253                try {
5254(function init(sectionDomId, options) {
5255  let section = null;
5256  switch (sectionDomId) {
5257    case 'NAVBAR':
5258      section = document.querySelector('body > nav, #global-navbar');
5259      break;
5260    case 'FOOTER':
5261      section = document.querySelector('body > footer, #global-footer');
5262      break;
5263    case 'SIDEMENU':
5264      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
5265      break;
5266    case 'CONTACT':
5267      section = document.querySelector('#modal-global-contact-us');
5268      break;
5269    case 'MOBILE_CONTACT':
5270      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
5271      break;
5272    case 'SUBSCRIBE':
5273      // Subscribe Not Implemented
5274      section = null;
5275      break;
5276    case 'ACCOUNT':
5277      // Account Not Implemented
5278      section = null;
5279      break;
5280    default:
5281      section = document.querySelector('#' + sectionDomId);
5282  }
5283  if (!section) {
5284    return;
5285  }
5286
5287  // Where content / items are rendered
5288  const dataContainer = section.querySelector('.data-container');
5289  if (!dataContainer) {
5290    // no place to render items = no need to query server or do anything else
5291    return;
5292  }
5293  let variables = options.variables || {};
5294
5295  // Some variables in options may not have been injected - remove
5296  Object.keys(variables).forEach(function (variableName) {
5297    if (typeof variables[variableName] === 'string' && variables[variableName].match(/^{{.*}}$/)) {
5298      delete variables[variableName];
5299    }
5300  });
5301
5302  // Merge page query variables
5303  if (options.usePageResource) {
5304    variables = {
5305      ...variables,
5306      ...window.luxuryPresence.config.pageMeta.pageQueryVariables[options.resource]
5307    };
5308  }
5309
5310  // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Callers
5311  // resolve the flag — fetchData reads the section stamp, aux fetches read
5312  // their own resource's stamp (auxUsesRouter).
5313  function apiUrl(useRouter) {
5314    return options.url || (useRouter ? window.luxuryPresence.defaults.routerUrl : window.luxuryPresence.defaults.apiGatewayUrl);
5315  }
5316
5317  // ROUTER-CLEANUP: aux resources roll out on their own flag, not the section's
5318  // (options.routerApiAux is stamped per aux resource server-side).
5319  function auxUsesRouter(resource) {
5320    return !!(options.routerApiAux && options.routerApiAux[resource]);
5321  }
5322
5323  // Pagination Executes on a Numbered Pagination Container
5324  //  Or via a load more button
5325  let mode = 'BUTTONLESS_PAGINATION';
5326  const container = section.querySelector('.pagination-container');
5327  const loadMoreButton = section.querySelector(options?.loadMoreSelector);
5328  if (container) {
5329    mode = 'NUMBERED_PAGINATION';
5330  }
5331  if (loadMoreButton) {
5332    mode = 'LOAD_MORE_BUTTON';
5333  }
5334  let searchContainer = section.querySelector('.search-container');
5335  const hidePaginationOnFirstPage = options.hidePaginationOnFirstPage || false;
5336  const eventPrefix = '__pagination-';
5337  const searchFormParams = options.searchFormParams || (options.resource === 'properties' ? [{
5338    param: 'neighborhoodId',
5339    urlKey: 'neighborhood'
5340  }, {
5341    param: 'search',
5342    urlKey: 'search'
5343  }, {
5344    param: 'salesPriceGTE',
5345    urlKey: 'pricemin',
5346    formKey: 'priceMin',
5347    type: 'int'
5348  }, {
5349    param: 'salesPriceLTE',
5350    urlKey: 'pricemax',
5351    formKey: 'priceMax',
5352    type: 'int'
5353  }, {
5354    param: 'livingSpaceSizeGTE',
5355    urlKey: 'areamin',
5356    formKey: 'areaMin',
5357    type: 'int'
5358  }, {
5359    param: 'livingSpaceSizeLTE',
5360    urlKey: 'areamax',
5361    formKey: 'areaMax',
5362    type: 'int'
5363  }] : []);
5364
5365  // Total entries - initialized in first render
5366  let totalNumber = 0;
5367  const DefaultSearchParams = {
5368    page: 1
5369  };
5370  searchFormParams.forEach(function (formParam) {
5371    DefaultSearchParams[formParam.formKey || formParam.param] = null;
5372  });
5373  let searchParams = {
5374    ...DefaultSearchParams
5375  };
5376  const offset = options.variables?.offset || 0;
5377  let scrollTarget = options.scrollTargetSelector ? section.querySelector(options.scrollTargetSelector) || section : section;
5378  let scrollOffset = (parseInt(options.scrollOffset, 10) || 0) ?? 100;
5379
5380  // entries of per page
5381  // when query variables for a given section would't be filled options.pageSize can store
5382  // template string, ex: "{{variables.limit}}", below code handles that case and set 9 as a default value
5383  let pageSize = parseInt(options.pageSize, 10) || 9;
5384
5385  // Adding mobile pageRange support
5386  var NARROW_BREAKPOINT = 600;
5387  var mobileBreakpoint = options.mobileBreakpoint > 0 ? options.mobileBreakpoint : NARROW_BREAKPOINT;
5388  var paginationMql = window.matchMedia(`(max-width: ${mobileBreakpoint}px)`);
5389
5390  // Page range (pages on both sides of the current page)
5391  var mobilePageRange = options.mobilePageRange > 0 ? options.mobilePageRange : 0;
5392  var desktopPageRange = options.pageRange >= 0 ? options.pageRange : 2;
5393  var pageRange = paginationMql.matches ? mobilePageRange : desktopPageRange;
5394
5395  // Whether to display the 'Previous' button
5396  var showPrevious = true;
5397
5398  // Whether to display the 'Next' button
5399  var showNext = true;
5400
5401  // Whether to display the page buttons
5402  var showPageNumbers = true;
5403
5404  // 'Previous' text
5405  var prevText = options.prevText || '&laquo;';
5406
5407  // 'Next' text
5408  var nextText = options.nextText || '&raquo;';
5409
5410  // Ellipsis text
5411  var ellipsisText = '&hellip;';
5412  var classPrefix = 'paginationjs';
5413
5414  // Default active class
5415  var activeClassName = 'active';
5416
5417  // Default disable class
5418  var disableClassName = 'disabled';
5419
5420  // Pagination element's position in the container
5421  var position = 'bottom';
5422
5423  // Whether to trigger pagination at initialization
5424  var triggerPagingOnInit = !options.skipInitialLoad;
5425  var showFirstOnEllipsisShow = true;
5426  var showLastOnEllipsisShow = true;
5427
5428  // Instantiated in init()
5429  var el = null;
5430
5431  // Controls scrollTop logic
5432  var firstRender = true;
5433  var renderBySearch = false;
5434  var disabled = false;
5435
5436  // Pagination script class selector
5437  var paginationScriptSelector = options.paginationPartialName ? `.${options.paginationPartialName}` : '.pagination-script';
5438
5439  // Property Specific Image Override if No Image
5440  var propertyPlaceholderImage = window.luxuryPresence.defaults.propertyPlaceholderImage;
5441
5442  // Construct template
5443  var templateHTML = section.querySelector(`script${paginationScriptSelector}`)?.innerHTML || '';
5444  var template = Handlebars.compile(templateHTML);
5445
5446  // Initialize
5447  init();
5448  function init() {
5449    Object.assign(searchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
5450
5451    // Append/prepend pagination element to the pagination container
5452    if (mode === 'NUMBERED_PAGINATION') {
5453      el = document.createElement('div');
5454      el.className = 'paginationjs';
5455      container[position === 'bottom' ? 'append' : 'prepend'](el);
5456    }
5457    if (searchContainer) {
5458      initSearchContainer({
5459        fetchNeighborhoods: searchContainer.dataset.fetchNeighborhoods === 'true',
5460        fetchPostCategories: searchContainer.dataset.fetchPostCategories === 'true',
5461        fetchOffices: searchContainer.dataset.fetchOffices === 'true',
5462        fetchRentalRates: searchContainer.dataset.fetchRentalRates === 'true'
5463      }, function () {
5464        syncSearchFormState(searchParams);
5465      });
5466    }
5467
5468    // Bind events
5469    observer();
5470  }
5471  function syncSearchFormState(params) {
5472    searchContainer.dispatchEvent(new CustomEvent('sync', {
5473      detail: params
5474    }));
5475  }
5476  function initSearchContainer(options, done) {
5477    var promises = [];
5478    if (options.fetchNeighborhoods) {
5479      promises.push(fetchAllNeighborhoods(function (neighborhoods) {
5480        searchContainer.dispatchEvent(new CustomEvent('neighborhoods-data', {
5481          detail: {
5482            data: neighborhoods.map(function (item) {
5483              return {
5484                value: item.id,
5485                label: item.name
5486              };
5487            })
5488          }
5489        }));
5490      }));
5491    }
5492    if (options.fetchPostCategories) {
5493      promises.push(fetchPostCategories(function (categories) {
5494        searchContainer.dispatchEvent(new CustomEvent('post-categories-data', {
5495          detail: {
5496            data: categories
5497          }
5498        }));
5499      }));
5500    }
5501    if (options.fetchOffices) {
5502      promises.push(fetchOffices(function (offices) {
5503        searchContainer.dispatchEvent(new CustomEvent('offices-data', {
5504          detail: {
5505            data: offices
5506          }
5507        }));
5508      }));
5509    }
5510    if (options.fetchRentalRates) {
5511      promises.push(fetchAllRentalRates(function (rentalRates) {
5512        searchContainer.dispatchEvent(new CustomEvent('rental-rates-data', {
5513          detail: {
5514            data: rentalRates
5515          }
5516        }));
5517      }));
5518    }
5519    if (promises.length > 0) {
5520      Promise.all(promises).then(function () {
5521        done();
5522      });
5523    } else {
5524      // element's custom code is not executed yet, so we're scheduling callback to after element's code
5525      setTimeout(done);
5526    }
5527  }
5528  function fetchAllNeighborhoods(done) {
5529    var useRouter = auxUsesRouter('neighborhoods');
5530    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Same
5531    // args on both APIs (the federated neighborhoods field accepts
5532    // withProperties/withBlogPosts); only the selection set differs.
5533    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') + '}}';
5534    var payload = {};
5535    payload.offset = 0;
5536    payload.limit = 100;
5537    payload.companyId = variables.companyId;
5538    if (options.resource === 'properties') {
5539      payload.withProperties = {
5540        active: true
5541      };
5542      ['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) {
5543        if (variables[field] !== undefined && variables[field] !== null) {
5544          payload.withProperties[field] = variables[field];
5545        }
5546      });
5547    }
5548    if (options.resource === 'posts') {
5549      payload.withBlogPosts = {
5550        active: true
5551      };
5552      ['search', 'postStatusId', 'featured', 'categoryId', 'categoryIds', 'neighborhoodId', 'slug'].forEach(function (field) {
5553        if (variables[field] !== undefined && variables[field] !== null) {
5554          payload.withBlogPosts[field] = variables[field];
5555        }
5556      });
5557    }
5558
5559    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5560    if (useRouter) {
5561      payload = window.luxuryPresence.routerApi.transformVariables('neighborhoods', payload);
5562    }
5563    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
5564      query: gqlQuery,
5565      variables: payload
5566    }).then(function (res) {
5567      var value = res.body.data && res.body.data.neighborhoods || {};
5568      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5569      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
5570      done(items, items.length);
5571    });
5572  }
5573  function fetchPostCategories(done) {
5574    var featured = options.resource === 'posts' && !!variables.featured;
5575    var useRouter = auxUsesRouter('postCategories');
5576    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
5577    // selection set differs ({ items {...} } on the router).
5578    var selection = 'id, name, publishedCount, featuredPublishedCount';
5579    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) + '}}';
5580    var payload = {};
5581    payload.offset = 0;
5582    payload.limit = 100;
5583    payload.companyId = variables.companyId;
5584    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
5585      query: gqlQuery,
5586      variables: payload
5587    }).then(function (res) {
5588      var value = res.body.data && res.body.data.postCategories || {};
5589      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5590      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
5591      done(items.map(function (item) {
5592        item.count = featured ? item.featuredPublishedCount : item.publishedCount;
5593        return item;
5594      }), items.length);
5595    });
5596  }
5597  function fetchOffices(done) {
5598    var useRouter = auxUsesRouter('offices');
5599    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. Only the
5600    // selection set differs ({ items {...} } on the router).
5601    var selection = 'id, name, tags';
5602    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired. The two
5603    // APIs differ in more than the items wrapper: federated offices takes
5604    // companyId: ID! (legacy gateway: String), so each branch builds its whole doc.
5605    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 + '}}';
5606    var payload = {
5607      offset: 0,
5608      limit: 100,
5609      companyId: variables.companyId
5610    };
5611
5612    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5613    if (useRouter) {
5614      payload = window.luxuryPresence.routerApi.transformVariables('office
5614s', payload);
5615    }
5616    superagent.post(apiUrl(useRouter) + '/graphql').withCredentials().send({
5617      query: gqlQuery,
5618      variables: payload
5619    }).then(function (res) {
5620      var value = res.body.data && res.body.data.offices || {};
5621      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5622      var items = useRouter ? window.luxuryPresence.routerApi.transformPage(value).items : value || [];
5623      done(items, items.length);
5624    });
5625  }
5626
5627  // ROUTER-CLEANUP: no rentalRates field on the federated router — legacy only.
5628  function fetchAllRentalRates(done) {
5629    var url = options.url || window.luxuryPresence.defaults.apiGatewayUrl;
5630    var gqlQuery = 'query ($companyId: String, $offset: Int, $limit: Int) {' + 'rentalRates (companyId: $companyId, offset: $offset, limit: $limit) {rentalRateId, label}}';
5631    var payload = {
5632      offset: 0,
5633      limit: 100,
5634      companyId: variables.companyId
5635    };
5636    superagent.post(url + '/graphql').withCredentials().send({
5637      query: gqlQuery,
5638      variables: payload
5639    }).then(function (res) {
5640      var items = res.body.data && res.body.data.rentalRates || [];
5641      done(items, items.length);
5642    }).catch(function (err) {
5643      console.error('Error fetching rental rates:', err);
5644      done([], 0);
5645    });
5646  }
5647  function fetchData(params, done) {
5648    var resource = options.resource;
5649    var gqlQuery = options.query || window.luxuryPresence.defaults.gql[resource];
5650    var payload = {};
5651    try {
5652      payload = JSON.parse(JSON.stringify(variables));
5653    } catch (e) {
5654      Object.keys(variables).forEach(function (variableName) {
5655        payload[variableName] = variables[variableName];
5656      });
5657    }
5658    payload.offset = (params.page - 1) * pageSize + offset;
5659    payload.limit = pageSize;
5660    payload.companyId = options.companyId;
5661    searchFormParams.forEach(function (formParam) {
5662      var val = params[formParam.formKey || formParam.param];
5663      if (val !== null && val !== undefined) {
5664        objSet(payload, formParam.param, val);
5665      }
5666    });
5667
5668    // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5669    if (options.useRouterApi) {
5670      payload = window.luxuryPresence.routerApi.transformVariables(resource, payload);
5671    }
5672
5673    // TODO: Disabled loading due to jarring effect
5674    // dataContainer.html('Loading...');
5675    superagent.post(apiUrl(options.useRouterApi) + '/graphql').withCredentials().send({
5676      query: gqlQuery,
5677      variables: payload
5678    }).then(function (res) {
5679      if (res.body.errors) {
5680        done(res.body.errors);
5681        return;
5682      }
5683      var data = res.body.data || {};
5684      // ROUTER-CLEANUP: keep router branch, drop legacy when API retired
5685      var resources;
5686      var resourceCount;
5687      if (options.useRouterApi) {
5688        var page = window.luxuryPresence.routerApi.transformPage(data[resource]);
5689        resources = window.luxuryPresence.routerApi.transformResponse(resource, page.items);
5690        resourceCount = page.count;
5691      } else {
5692        resources = data[resource] || [];
5693        resourceCount = data[resource + 'Count'] && data[resource + 'Count'].count ? data[resource + 'Count'].count : 0;
5694      }
5695      const finish = function (items) {
5696        if (resource === 'properties' && propertyPlaceholderImage?.id) {
5697          items = items.map(item => {
5698            if (item.media?.length === 0) {
5699              return Object.assign(item, {
5700                media: [propertyPlaceholderImage]
5701              });
5702            }
5703            return item;
5704          });
5705        }
5706        done(null, items, resourceCount);
5707      };
5708
5709      // ROUTER-CLEANUP: client half of PLAT-4073 — resolve the requested
5710      // disclaimers before rendering; older SDKs skip (keys stay unset).
5711      if (options.useRouterApi && resource === 'properties' && options.routerPropertyDisclaimers && options.routerPropertyDisclaimers.length && window.luxuryPresence.routerApi && typeof window.luxuryPresence.routerApi.applyPropertyDisclaimers === 'function') {
5712        window.luxuryPresence.routerApi.applyPropertyDisclaimers(resources, options.routerPropertyDisclaimers).then(finish);
5713        return;
5714      }
5715      finish(resources);
5716    });
5717  }
5718  function getTotalPage() {
5719    return Math.ceil(totalNumber / pageSize);
5720  }
5721  function renderPaginationList() {
5722    var totalPages = getTotalPage();
5723    var rangeStart = searchParams.page - pageRange;
5724    var rangeEnd = searchParams.page + pageRange;
5725    if (rangeEnd > totalPages) {
5726      rangeEnd = totalPages;
5727      rangeStart = totalPages - pageRange * 2;
5728      rangeStart = rangeStart < 1 ? 1 : rangeStart;
5729    }
5730    if (rangeStart <= 1) {
5731      rangeStart = 1;
5732      rangeEnd = Math.min(pageRange * 2 + 1, totalPages);
5733    }
5734
5735    // Making sure that 1 more page button is shown in edge positions
5736    if (pageRange === 0) {
5737      if (searchParams.page === totalPages) {
5738        rangeStart = totalPages <= 1 ? 1 : totalPages - 1;
5739      }
5740      if (searchParams.page === 1) {
5741        rangeEnd = Math.min(2, totalPages);
5742      }
5743    }
5744
5745    // Render pagination list
5746    if (mode === 'NUMBERED_PAGINATION') {
5747      el.innerHTML = generateHTML({
5748        currentPage: searchParams.page,
5749        pageRange: pageRange,
5750        rangeStart: rangeStart,
5751        rangeEnd: rangeEnd
5752      });
5753      if (totalPages < 2 && hidePaginationOnFirstPage) {
5754        container.style.display = 'none';
5755      } else {
5756        container.style.display = '';
5757      }
5758    } else if (mode === 'LOAD_MORE_BUTTON') {
5759      if (searchParams.page >= totalPages) {
5760        loadMoreButton.style.display = 'none';
5761      } else {
5762        loadMoreButton.style.display = '';
5763      }
5764    }
5765  }
5766  function render(data) {
5767    renderPaginationList();
5768
5769    // Render new content with handlebars
5770    var html = '';
5771    if (mode === 'LOAD_MORE_BUTTON' && searchParams.page > 1) {
5772      // If using load more, append search results to existing results
5773      html = dataContainer.innerHTML;
5774    }
5775    for (var i = 0; i < data.length; i++) {
5776      var itemData = recursivelyParse(data[i]);
5777      itemData.sectionIndex = options.sectionIndex;
5778      itemData.renderOptions = options.renderOptions;
5779      html += template(itemData);
5780    }
5781    dataContainer.innerHTML = html;
5782
5783    // Scroll Top
5784    if (!firstRender && mode === 'NUMBERED_PAGINATION' && (!renderBySearch || !options.skipScrollOnSearch)) {
5785      // Only animate to the top if we replace dataContainer (numbered pagination)
5786      setTimeout(() => {
5787        const scrollTargetOffsetTop = scrollTarget.getBoundingClientRect().top + window.scrollY - scrollOffset;
5788        window.scrollTo({
5789          top: scrollTargetOffsetTop,
5790          behavior: 'smooth'
5791        });
5792      }, 250);
5793    }
5794    return true;
5795  }
5796  function generateHTML(args) {
5797    const totalPages = getTotalPage();
5798    const {
5799      rangeStart,
5800      rangeEnd
5801    } = args;
5802    const makeLnk = page => window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
5803      ...searchParams,
5804      page
5805    });
5806    let html = '';
5807    if (showPrevious || showPageNumbers || showNext) {
5808      html += '<div class="paginationjs-pages"><ul>';
5809
5810      // Previous button
5811      if (showPrevious) {
5812        if (searchParams.page <= 1) {
5813          html += `<li class="${classPrefix}-prev ${disableClassName}"><a>${prevText}</a></li>`;
5814        } else {
5815          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>`;
5816        }
5817      }
5818
5819      // Pages
5820      if (showPageNumbers) {
5821        if (rangeStart <= 3) {
5822          for (let i = 1; i < rangeStart; i++) {
5823            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>`;
5824          }
5825        } else {
5826          if (showFirstOnEllipsisShow) {
5827            html += `<li class="${classPrefix}-page ${classPrefix}-first J-paginationjs-page" data-num="1"><a href="${makeLnk(1)}">1</a></li>`;
5828          }
5829          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
5830        }
5831        for (let i = rangeStart; i <= rangeEnd; i++) {
5832          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>`;
5833        }
5834        if (rangeEnd < totalPages - 2) {
5835          html += `<li class="${classPrefix}-ellipsis ${disableClassName}"><a>${ellipsisText}</a></li>`;
5836          if (showLastOnEllipsisShow) {
5837            html += `<li class="${classPrefix}-page ${classPrefix}-last J-paginationjs-page" data-num="${totalPages}"><a href="${makeLnk(totalPages)}">${totalPages}</a></li>`;
5838          }
5839        } else {
5840          for (let i = rangeEnd + 1; i <= totalPages; i++) {
5841            html += `<li class="${classPrefix}-page J-paginationjs-page" data-num="${i}"><a href="${makeLnk(i)}">${i}</a></li>`;
5842          }
5843        }
5844      }
5845
5846      // Next button
5847      if (showNext) {
5848        if (searchParams.page >= totalPages) {
5849          html += `<li class="${classPrefix}-next ${disableClassName}"><a>${nextText}</a></li>`;
5850        } else {
5851          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>`;
5852        }
5853      }
5854      html += '</ul></div>';
5855    }
5856    return html;
5857  }
5858  function go(newSearchParams, callback, restorationVisit) {
5859    if (disabled) return;
5860    var goToPageNumber = newSearchParams.page;
5861
5862    // Page number is out of bounds
5863    if (!goToPageNumber || goToPageNumber < 1) return;
5864    var totalPage = getTotalPage();
5865
5866    // Page number is out of bounds
5867    if (!restorationVisit && totalNumber > 0) {
5868      if (goToPageNumber > totalPage) return;
5869    }
5870    if (!options.skipSerialization && (mode === 'NUMBERED_PAGINATION' || searchContainer)) {
5871      var newURL = window.luxuryPresence.pagination.serializeParams(searchFormParams, sectionDomId, {
5872        ...newSearchParams,
5873        page: goToPageNumber !== 1 && mode === 'NUMBERED_PAGINATION' ? newSearchParams.page : null
5874      });
5875      if (!areQueryParamsEqual(newSearchParams, searchParams) && !restorationVisit) {
5876        window.history.pushState({}, '', window.luxuryPresence.getPath(newURL, {
5877          queryString: true
5878        }));
5879      }
5880    }
5881
5882    // Fetch and update page
5883    fetchData(newSearchParams, renderWithData);
5884    disabled = true;
5885    function renderWithData(err, data, count) {
5886      if (err) {
5887        dataContainer.dispatchEvent(new Event('error'));
5888      } else {
5889        searchParams = {
5890          ...newSearchParams
5891        };
5892        totalNumber = count - offset;
5893        if (data.length === 0) {
5894          dataContainer.dispatchEvent(new Event('no-data'));
5895        } else {
5896          dataContainer.dispatchEvent(new Event('data'));
5897        }
5898        render(data);
5899        firstRender = false;
5900      }
5901      disabled = false;
5902      renderBySearch = false;
5903    }
5904  }
5905  function areQueryParamsEqual(first, second) {
5906    var differ = Object.keys(first).find(function (key) {
5907      return first[key] !== undefined && first[key] !== null && first[key] !== second[key];
5908    });
5909    if (differ) {
5910      return false;
5911    }
5912    differ = Object.keys(second).find(function (key) {
5913      return second[key] !== undefined && second[key] !== null && second[key] !== first[key];
5914    });
5915    return !differ;
5916  }
5917  function next(callback) {
5918    go({
5919      ...searchParams,
5920      page: searchParams.page + 1
5921    }, callback);
5922  }
5923  function previous(callback) {
5924    go({
5925      ...searchParams,
5926      page: searchParams.page - 1
5927    }, callback);
5928  }
5929  function refresh(callback) {
5930    go(searchParams, callback);
5931  }
5932  function update(params, callback) {
5933    renderBySearch = true;
5934    go(params, callback);
5935  }
5936  function observer() {
5937    if (searchContainer) {
5938      searchContainer.addEventListener('search', function (event, newSearchParams) {
5939        newSearchParams = event.detail || newSearchParams;
5940        update({
5941          ...searchParams,
5942          ...newSearchParams,
5943          page: 1
5944        });
5945      });
5946      searchContainer.addEventListener('clear-search', function () {
5947        const defaultSearchParams = {
5948          ...DefaultSearchParams
5949        };
5950        const isCurrentSearchFormStateDefault = areQueryParamsEqual({
5951          ...defaultSearchParams,
5952          page: null
5953        }, {
5954          ...searchParams,
5955          page: null
5956        });
5957
5958        // if mode is LOAD_MORE_BUTTON we should't make anything on clear
5959        // when search form have default state
5960        if (isCurrentSearchFormStateDefault && mode !== 'NUMBERED_PAGINATION') {
5961          return;
5962        }
5963
5964        // if someone initially go to some page and click 'Clear' on search from
5965        // we should't navigate to first page. We should preserve page value
5966        if (isCurrentSearchFormStateDefault) {
5967          defaultSearchParams.page = searchParams.page;
5968        }
5969        syncSearchFormState(defaultSearchParams);
5970        update(defaultSearchParams);
5971      });
5972    }
5973    if (mode === 'LOAD_MORE_BUTTON') {
5974      loadMoreButton.addEventListener('click', function (event) {
5975        go({
5976          ...searchParams,
5977          page: searchParams.page + 1
5978        });
5979        return false;
5980      });
5981    }
5982    if (mode === 'LOAD_MORE_BUTTON' || mode === 'BUTTONLESS_PAGINATION') {
5983      // Do initial render
5984      go(Object.assign({}, searchParams, {
5985        page: 1
5986      }));
5987      return;
5988    }
5989    if (mode === 'NUMBERED_PAGINATION') {
5990      // Go to specified page number
5991      container.addEventListener(eventPrefix + 'go', function (event) {
5992        let {
5993          pageNumber,
5994          done
5995        } = event.detail || {};
5996        pageNumber = parseInt(pageNumber, 10);
5997        if (!pageNumber) {
5998          return;
5999        }
6000        go({
6001          ...searchParams,
6002          page: pageNumber
6003        }, done);
6004      });
6005
6006      // Page number button click
6007      el.addEventListener('click', function (event) {
6008        let clickTarget = event.target;
6009        let current = clickTarget.closest('.J-paginationjs-page, .J-paginationjs-previous, .J-paginationjs-next');
6010        let pageNumber = current?.getAttribute('data-num');
6011        if (!pageNumber || current.classList.contains(disableClassName) || current.classList.contains(activeClassName)) {
6012          return;
6013        } else {
6014          go({
6015            ...searchParams,
6016            page: parseInt(pageNumber, 10)
6017          });
6018        }
6019        event.preventDefault();
6020      });
6021
6022      // Whether to load the default page
6023      var defaultPageNumber = searchParams.page;
6024      if (triggerPagingOnInit) {
6025        container.dispatchEvent(new CustomEvent(eventPrefix + 'go', {
6026          detail: {
6027            pageNumber: defaultPageNumber
6028          }
6029        }));
6030      }
6031    }
6032    window.addEventListener('popstate', function (event) {
6033      var newParams = Object.assign({}, DefaultSearchParams, window.luxuryPresence.pagination.deserializeParams(searchFormParams, sectionDomId));
6034      if (!areQueryParamsEqual(newParams, searchParams)) {
6035        go(newParams, null, true);
6036        if (searchContainer) {
6037          syncSearchFormState(newParams);
6038        }
6039      }
6040    });
6041  }
6042  function replaceVariables(template, variables) {
6043    var formattedString;
6044    for (var key in variables) {
6045      var value = variables[key];
6046      var regexp = new RegExp('<%=\\s*' + key + '\\s*%>', 'img');
6047      formattedString = (formattedString || template).replace(regexp, value);
6048    }
6049    return formattedString;
6050  }
6051  function isTextEditorValue(obj) {
6052    return 'raw' in obj || 'gjs' in obj;
6053  }
6054  function getTextEditorValue(obj) {
6055    if (!obj.html) {
6056      return '';
6057    }
6058    var data = obj.html;
6059    var css = (obj.raw || obj.gjs || {}).css;
6060    if (css) {
6061      data = data + '<style>' + css + '</style>';
6062    }
6063    return data;
6064  }
6065
6066  /**
6067   * check rendered resources for html and raw properties that could indicate if resource is from an advanced text editor.
6068   * strips out raw proprties and returns only HTML if it exists.
6069   * @param {Object} resources a collection retrieved from the database
6070   * @return {Object} the newly modified object.
6071   */
6072  function recursivelyParse(resources) {
6073    forEach(resources, function (value, key) {
6074      if (!value) {
6075        return;
6076      }
6077      if (value instanceof Object) {
6078        if (isTextEditorValue(value)) {
6079          resources[key] = getTextEditorValue(value);
6080          return;
6081        } else {
6082          return recursivelyParse(value);
6083        }
6084      }
6085      try {
6086        var parsedData = JSON.parse(value);
6087        if (isTextEditorValue(parsedData)) {
6088          resources[key] = getTextEditorValue(parsedData);
6089        }
6090      } catch (e) {
6091        // do nothing if we failed to parse value as JSON
6092      }
6093    });
6094    return resources;
6095  }
6096  function forEach(collection, iteratee) {
6097    var func = Array.isArray(collection) ? arrayEach : baseFor;
6098    return func(collection, iteratee);
6099  }
6100  function baseFor(object, iteratee) {
6101    if (!object) {
6102      return;
6103    }
6104    var iterable = Object(object);
6105    var props = Object.keys(object);
6106    var length = props.length;
6107    var index = -1;
6108    while (length--) {
6109      var key = props[++index];
6110      if (iteratee(iterable[key], key, iterable) === false) {
6111        break;
6112      }
6113    }
6114    return object;
6115  }
6116  function objSet(obj, path, value) {
6117    const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
6118    pathArray.reduce((acc, key, i) => {
6119      if (acc[key] === undefined) acc[key] = {};
6120      if (i === pathArray.length - 1) acc[key] = value;
6121      return acc[key];
6122    }, obj);
6123  }
6124  function arrayEach(array, iteratee) {
6125    var index = -1;
6126    var length = array.length;
6127    while (++index < length) {
6128      if (iteratee(array[index], index, array) === false) {
6129        break;
6130      }
6131    }
6132    return array;
6133  }
6134  function selectPageRangeMode(e) {
6135    pageRange = e.matches ? mobilePageRange : desktopPageRange;
6136    renderPaginationList();
6137  }
6138  paginationMql.addEventListener('change', selectPageRangeMode);
6139})('section-f0bc03e3-e280-4c80-b233-d55eb7df478e', JSON.parse("{\"pageSize\":\"24\",\"resource\":\"properties\",\"pageRange\":0,\"variables\":{\"limit\":24,\"order\":\"salesPrice\",\"offset\":0,\"sortDir\":\"DESC\",\"statusId\":\"{{variables.statusId}}\",\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"categoryId\":\"{{pageElement.categoryId}}\",\"sort\":\"salesPrice\",\"statusIds\":[\"b0e88b38-7437-438d-a6fd-b13f135e1683\"],\"propertyIds\":[\"8bf71a0c-3ff9-404c-8842-268a1367d602\",\"0ace1ac7-0e53-440a-9e14-787c340f4915\",\"1146c6fc-5fc5-403a-ad09-716d08b9ccc5\",\"896f5b99-b0ee-451a-9a6f-407130dffe00\",\"a8212a3f-ded0-47a0-9b25-d36a5e305d8d\",\"033065ee-863c-4d14-a0af-4b6336ddc5ef\",\"9cce0ba6-b894-462a-9ba6-8d1a43cea0e9\",\"a3a02081-1edf-4b0f-8b84-b4281292fb0a\",\"b35f9aac-10f8-4cb7-b3d2-77bda2807b9b\",\"4e4ff6f1-1291-4dc6-be15-c948e28125c1\",\"fde207f
61390-67de-496f-9f9a-78a962417d69\",\"fcc02dc6-6cc1-47b5-860b-b18396d08af4\",\"04692883-7857-4a7a-90a4-038ad1ed5e45\",\"f8c6457e-b7fc-4bd5-8177-714bcdca3aaa\",\"9edcb6b4-84dd-4a7e-a858-38d5bc9c8789\",\"571f9497-240d-4f45-8b74-fbb8737ca632\",\"f2ea3c84-332e-4a33-8081-bfb3cf089e67\",\"4a24724e-e98a-40dd-bf0d-819b6d4e0fb1\",\"52332c59-2e51-4c07-ac7e-10082828fc76\",\"922a566c-0a1a-4e46-a533-51fea05da75b\",\"56c18fe1-9ac6-4cda-80bf-47a8ff1d6ee5\",\"e6ba757c-a3d0-4a61-9b13-13927f7bf380\",\"3ec26aba-8f88-401f-a48e-f2cdc3c7af35\",\"47a6395a-4f09-4cbc-99a0-27c7423f4c02\",\"19c7dfc1-a4c3-478d-8e9f-169bd0c1ddd8\",\"cd36507a-46c6-4d08-ae5d-5acaf0988cc7\",\"a91f1984-f6d3-4946-8ef5-53a986bce631\",\"c45e6905-4d85-423c-a931-9fa40b6e82e4\",\"79c8e74d-9cce-4774-8294-a4c13721340d\",\"07a8ebcc-23b0-4afd-9313-ae7f558093f3\",\"00cb54ee-6c00-47a4-bfd2-a24d29575c8d\",\"c0f72676-6138-4179-8a1b-60748a717e71\",\"d50e081d-d27d-470b-8729-91d0f66b0522\",\"3337bcf5-1fc1-4a73-9ba5-c490d7c49d40\",\"12ee30ff-e1fd-4f1b-97d9-0846c3a8e734\",\"a76bd4f6-3566-4cba-9a35-47f3fd98b64f\",\"6780ca69-9e27-4af0-a94b-147ccf256efe\",\"76191530-8ccb-4ff9-9c09-5fbfde3b098a\",\"8f33c8fa-e237-4851-9488-86b75775eda5\",\"c276706b-74b8-4175-8b6e-bc6f627f18fd\"],\"advancedFilters\":{\"query\":{\"statusIds\":{\"in\":[\"b0e88b38-7437-438d-a6fd-b13f135e1683\"]}}},\"websiteId\":\"ff06f655-0c64-45c8-9c55-e8468b4e5303\"},\"searchFormParams\":[{\"param\":\"neighborhoodId\",\"urlKey\":\"neighborhood\"},{\"param\":\"search\",\"urlKey\":\"search\"},{\"type\":\"int\",\"param\":\"salesPriceGTE\",\"urlKey\":\"pricemin\",\"formKey\":\"priceMin\"},{\"type\":\"int\",\"param\":\"salesPriceLTE\",\"urlKey\":\"pricemax\",\"formKey\":\"priceMax\"},{\"type\":\"int\",\"param\":\"leasePriceGTE\",\"urlKey\":\"lpricemin\",\"formKey\":\"lpriceMin\"},{\"type\":\"int\",\"param\":\"leasePriceLTE\",\"urlKey\":\"lpricemax\",\"formKey\":\"lpriceMax\"},{\"type\":\"int\",\"param\":\"livingSpaceSizeGTE\",\"urlKey\":\"areamin\",\"formKey\":\"areaMin\"},{\"type\":\"int\",\"param\":\"livingSpaceSizeLTE\",\"urlKey\":\"areamax\",\"formKey\":\"areaMax\"}],\"resourceQueryOption\":\"query\",\"hidePaginationOnFirstPage\":true,\"query\":\"query Properties($agentIds: [ID!], $teamIds: [ID!], $neighborhoodIds: [ID!], $officeIds: [ID!], $propertyId: ID, $companyId: String, $networkId: String, $network: Boolean, $statusId: String, $propertyIds: [ID!], $prioritizeIds: Boolean, $statusIds: [String!], $excludeStatusId: [String!], $neighborhoodId: String, $addressState: [String!], $addressCity: [String!], $relatedNeighborhoodPropertyId: String, $developmentId: String, $featuredListing: Boolean, $leaseProperty: Boolean, $search: String, $searchTermMode: SearchTermModeEnum, $globalProperty: Boolean, $archived: Boolean, $salesPriceGTE: Float, $salesPriceLTE: Float, $leasePriceGTE: Float, $leasePriceLTE: Float, $livingSpaceSizeGTE: Float, $livingSpaceSizeLTE: Float, $bathCountGTE: Float, $bathCountLTE: Float, $bedroomCountGTE: Float, $bedroomCountLTE: Float, $architectureStyle: String, $lifestyle: String, $propertyTypeId: String, $propertyTypeIds: [String!], $spaceTypeIds: [ID!], $tag: String, $backfillMLSResults: Boolean, $displayMLSListings: String, $hostname: String, $websiteId: ID, $backfillProviders: [String!], $backfillMLSListingIds: [String!], $backfillMLSAgentIds: [String!], $backfillMLSOfficeIds: [String!], $backfillBoundary: JSON, $openHouse: Boolean, $withGeo: Boolean, $advancedFilters: JSON, $seasonalPriceId: ID, $offset: Int, $limit: Int, $sort: String, $sortDir: SortDirectionEnum) {\\n  properties(\\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    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    slug\\n    name\\n    status\\n    priceUponRequest\\n    currency\\n    salesPrice\\n    reducedPrice\\n    isPasswordProtected\\n    leaseProperty\\n    leasePrice\\n    leasePeriod\\n    privateAddress\\n    fromMLS\\n    mlsId\\n    mlsLogo\\n    mlsAttribution\\n    openHouseHours\\n    fullAddress\\n    lotAreaSize\\n    lotAreaUnits\\n    media {\\n      smallUrl\\n      mediumUrl\\n      largeUrl\\n      xLargeUrl\\n      xxLargeUrl\\n      width\\n      height\\n      altTagText\\n    }\\n    bedroomCount\\n    bathCount\\n    soldDate\\n    livingSpaceSize\\n    livingSpaceUnits\\n    types {\\n      id\\n      name\\n    }\\n  }\\n  propertiesCount(\\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    count\\n  }\\n}\",\"routerPropertyDisclaimers\":[\"mlsAttribution\",\"mlsLogo\"],\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"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}}"));
6140} catch(e) {
6141console.log(e);
6142}
6143                try {
6144(function init(sectionDomId) {
6145  $(document).on("click", '#' + sectionDomId + ' .property-list__share .btn', function () {
6146    if ($(this).parent().hasClass('property-list__share--opened')) {
6147      $(this).parent().removeClass('property-list__share--opened');
6148    } else {
6149      $('#' + sectionDomId + ' .property-list__share').removeClass('property-list__share--opened');
6150      $(this).parent().addClass('property-list__share--opened');
6151    }
6152  });
6153  const emptyResultElement = $('#' + sectionDomId + ' .empty-result');
6154  const searchContainer = $('#' + sectionDomId + ' .search-container');
6155  const dataContainer = $('#' + sectionDomId + ' .data-container');
6156  const paginationContainer = $(`#${sectionDomId} .pagination-container`);
6157  const priceSlider = searchContainer.find('input[name="price-slider"]');
6158  const areaSlider = searchContainer.find('input[name="area-slider"]');
6159  const neighborhoodSelect = searchContainer.find('select[name="neighborhood-select"]');
6160  const searchInput = searchContainer.find('input[name="search-input"]');
6161  const clearBtn = searchContainer.find('.clear');
6162  const priceMin = parseInt(priceSlider.attr('data-min'));
6163  const priceMax = parseInt(priceSlider.attr('data-max'));
6164  const areaMin = parseInt(areaSlider.attr('data-min'));
6165  const areaMax = parseInt(areaSlider.attr('data-max'));
6166  const rangeSliderInitialized = $(`#${sectionDomId} .search-item .irs`).length >= 1;
6167  const filterLease = searchContainer.data('filter-lease');
6168  function onSearch() {
6169    const params = window.luxuryPresence.getSearchFormValues({
6170      queryElement: searchInput[0],
6171      priceSliderElement: priceSlider[0],
6172      areaSliderElement: areaSlider[0],
6173      neighborhoodSelect: neighborhoodSelect[0]
6174    });
6175    if (filterLease) {
6176      params.lpriceMin = params.priceMin;
6177      params.lpriceMax = params.priceMax;
6178      delete params.priceMin;
6179      delete params.priceMax;
6180    }
6181    if (!areaSlider.attr('data-min')) params.areaMin = null;
6182    if (!areaSlider.attr('data-max')) params.areaMax = null;
6183    searchContainer[0]?.dispatchEvent(new CustomEvent('search', {
6184      detail: params
6185    }));
6186  }
6187  searchContainer.on('neighborhoods-data', function (ev, neighborhoods) {
6188    neighborhoods = ev.detail || neighborhoods;
6189    neighborhoodSelect.append(neighborhoods.data.map(item => `<option value="${item.value}">${item.label}</option>`).join('\n'));
6190  });
6191  searchContainer.on('sync', function (ev, params) {
6192    params = ev.detail || params;
6193    searchInput.val(params.search);
6194    neighborhoodSelect.val(params.neighborhoodId);
6195    priceSlider.data('ionRangeSlider').update({
6196      from: filterLease ? params.lpriceMin : params.priceMin,
6197      to: filterLease ? params.lpriceMax : params.priceMax
6198    });
6199    areaSlider.data('ionRangeSlider').update({
6200      from: params.areaMin,
6201      to: params.areaMax
6202    });
6203  });
6204  dataContainer.on('no-data', function () {
6205    emptyResultElement.show();
6206  });
6207  dataContainer.on('data', function () {
6208    emptyResultElement.hide();
6209  });
6210  clearBtn.click(function () {
6211    searchContainer[0]?.dispatchEvent(new Event('clear-search'));
6212  });
6213  searchInput.on('input', window.luxuryPresence.debounce(onSearch, 1000));
6214  neighborhoodSelect.change(onSearch);
6215  if (rangeSliderInitialized) {
6216    if (!priceSlider.destroy) {
6217      $(`#${sectionDomId} .search-item.price >.irs`).remove();
6218      initPriceSlider();
6219    }
6220    if (!areaSlider.destroy) {
6221      $(`#${sectionDomId} .search-item.area >.irs`).remove();
6222      initAreaSlider();
6223    }
6224  } else {
6225    initPriceSlider();
6226    initAreaSlider();
6227  }
6228  function initPriceSlider() {
6229    priceSlider.ionRangeSlider({
6230      type: "double",
6231      skin: 'round',
6232      grid: false,
6233      force_edges: false,
6234      hide_min_max: false,
6235      hide_from_to: false,
6236      block: false,
6237      prettify: function (val) {
6238        return window.luxuryPresence.formatSliderPriceRange(val, {
6239          min: priceMin,
6240          max: priceMax
6241        }, "$", {
6242          lowPrefix: "<",
6243          highSuffix: "+"
6244        });
6245      },
6246      onFinish: onSearch
6247    });
6248  }
6249  function initAreaSlider() {
6250    areaSlider.ionRangeSlider({
6251      type: "double",
6252      skin: 'round',
6253      grid: false,
6254      force_edges: false,
6255      hide_min_max: false,
6256      hide_from_to: false,
6257      block: false,
6258      prettify: function (val) {
6259        return window.luxuryPresence.formatSliderAreaRange(val, {
6260          min: areaMin,
6261          max: areaMax
6262        }, "sqft", {
6263          lowPrefix: "<",
6264          highSuffix: "+"
6265        });
6266      },
6267      onFinish: onSearch
6268    });
6269  }
6270})('section-f0bc03e3-e280-4c80-b233-d55eb7df478e', JSON.parse("{\"resource\":\"properties\",\"useRouterApi\":false,\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"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}}"));
6271} catch(e) {
6272console.log(e);
6273}
6274                try {
6275(function init(sectionDomId, options) {
6276  let section = null;
6277  switch (sectionDomId) {
6278    case 'NAVBAR':
6279      section = document.querySelector('body > nav, #global-navbar');
6280      break;
6281    case 'FOOTER':
6282      section = document.querySelector('body > footer, #global-footer');
6283      break;
6284    case 'SIDEMENU':
6285      section = document.querySelector('body > div.sidemenu, #global-sidemenu');
6286      break;
6287    case 'CONTACT':
6288      section = document.querySelector('#modal-global-contact-us');
6289      break;
6290    case 'MOBILE_CONTACT':
6291      section = document.querySelector('body > div.mobile-contact-wrapper, #global-mobile-contact');
6292      break;
6293    case 'SUBSCRIBE':
6294      // Subscribe Not Implemented
6295      section = null;
6296      break;
6297    case 'ACCOUNT':
6298      // Account Not Implemented
6299      section = null;
6300      break;
6301    default:
6302      section = document.querySelector('#' + sectionDomId);
6303  }
6304  if (!section) {
6305    return;
6306  }
6307  var url = window.luxuryPresence.defaults.routerUrl;
6308  var companyId = window.luxuryPresence.defaults.companyId;
6309  var limit = options.limit || 8;
6310  if (typeof limit === 'string') {
6311    limit = parseInt(limit, 10) || 8; // this NaN protection also filters out 0 - this is expected
6312  }
6313  var templateSelector = options.templateSelector || '.jsIGTemplate';
6314  var containerSelector = options.containerSelector || '.jsIGContainer';
6315  var hasDataClass = options.hasDataClass || 'has-data';
6316  var hideActivateMessage = options.hasDataClass || false;
6317  var payload = {
6318    companyId: companyId,
6319    limit: limit
6320  };
6321  if (options.resourceId && typeof options.resourceId === 'string' && !options.resourceId.match(/^{{.*}}$/)) {
6322    payload.resourceId = options.resourceId;
6323    // Federated enum values are uppercase (AGENT/TEAM); element configs carry lowercase
6324    payload.resource = String(options.resource || 'agent').toUpperCase();
6325    payload.fallbackToNoResource = options.fallbackToNoResource === 'true' || options.fallbackToNoResource === true;
6326  }
6327  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';
6328  var templateHTML = section.querySelector(templateSelector)?.innerHTML || '';
6329  var template = Handlebars.compile(templateHTML);
6330  var container = section.querySelector(containerSelector);
6331  if (options.variables) {
6332    Object.keys(options.variables).forEach(function (key) {
6333      if (options.variables.hasOwnProperty(key) && (typeof options.variables[key] !== 'string' || !options.variables[key].match(/^{{.*}}$/))) {
6334        payload[key] = options.variables[key];
6335      }
6336    });
6337  }
6338  function getData() {
6339    var feed = {
6340      error: true
6341    };
6342    if (payload.companyId == null || payload.companyId === '') {
6343      // instagramContentFeed requires companyId (ID!) — nothing to fetch without it.
6344      // Checked after the options.variables merge, which may override the default.
6345      // Deferred so element listeners (attached after this template runs) still receive it.
6346      setTimeout(function () {
6347        section.dispatchEvent(new CustomEvent('ig-data', {
6348          detail: feed
6349        }));
6350      }, 0);
6351      return;
6352    }
6353    superagent.post(url + '/graphql').send({
6354      query: query,
6355      variables: payload
6356    }).then(res => {
6357      try {
6358        if (!res.body.errors) {
6359          feed = res.body.data.instagramContentFeed;
6360          if (!feed.active) {
6361            if (!hideActivateMessage && sectionDomId === 'section-temp' && container) {
6362              if (payload.resourceId) {
6363                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>';
6364              } else {
6365                container.innerHTML = '<div style="text-align: center">Instagram account is not connected.<br /> Connect it on <a href="/profile">Profile page</a></div>';
6366              }
6367            }
6368          } else {
6369            if (feed.items.length) {
6370              if (hasDataClass) {
6371                section.classList.add(hasDataClass);
6372              }
6373              const feedName = feed.username;
6374              section.querySelectorAll('.jsIGLink').forEach(link => link.setAttribute('href', feed.feedUrl));
6375              section.querySelectorAll('.jsIGName').forEach(name => {
6376                name.textContent = '@' + feedName;
6377                name.setAttribute('title', '@' + feedName);
6378              });
6379              if (container && template) {
6380                container.innerHTML = template(feed);
6381              }
6382            }
6383          }
6384        }
6385      } catch (e) {}
6386      section.dispatchEvent(new CustomEvent('ig-data', {
6387        detail: feed
6388      }));
6389    }).catch(e => {
6390      console.log('err', e);
6391      section.dispatchEvent(new CustomEvent('ig-data', {
6392        detail: feed
6393      }));
6394    });
6395  }
6396  getData();
6397})('section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655', JSON.parse("{\"limit\":33,\"resource\":\"agent\",\"resourceId\":\"\",\"fallbackToNoResource\":\"true\",\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"usePageResource\":false,\"sectionIndex\":4,\"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}}"));
6398} catch(e) {
6399console.log(e);
6400}
6401                try {
6402(function init(sectionDomId) {
6403  const $section = $('#' + sectionDomId);
6404  var templateHTML = $section.find('.jsIGItem').html();
6405  var itemTemplate = templateHTML && Handlebars.compile(templateHTML);
6406  const $container = $section.find('.ig-feed-feed');
6407  const $topPrev = $section.find('.top-nav-prev');
6408  const $topNext = $section.find('.top-nav-next');
6409  const $bottomPrev = $section.find('.bottom-nav-prev');
6410  const $bottomNext = $section.find('.bottom-nav-next');
6411  let limit = 33;
6412  try {
6413    limit = parseInt($container[0].dataset['limit']);
6414  } catch (e) {}
6415  if (!limit) {
6416    limit = 33;
6417  }
6418  let igFeed = {};
6419  let usedWidth = 0;
6420  let slider = null;
6421  $section.on('ig-data', function (ev, feed) {
6422    feed = ev.detail || feed;
6423    igFeed = feed;
6424    if (feed.active && feed.items.length) {
6425      buildSlider();
6426    }
6427  });
6428  $(window).on('resize.lpui-auto-clean', onResize);
6429  let timer = null;
6430  function onResize() {
6431    clearTimeout(timer);
6432    timer = window.setTimeout(buildSlider, 50);
6433  }
6434  function getLayout(w, n) {
6435    if (w > 1100) {
6436      if (n > 7) {
6437        return {
6438          type: 'type1',
6439          single: 1,
6440          multi: n,
6441          slides: 3,
6442          slider: n > 9
6443        };
6444      }
6445      if (n > 5) {
6446        return {
6447          type: 'type1',
6448          single: 2,
6449          multi: n,
6450          slides: 3,
6451          slider: false
6452        };
6453      }
6454      return {
6455        type: 'type1',
6456        single: n,
6457        multi: n,
6458        slides: 3,
6459        slider: n > 3
6460      };
6461    } else if (w > 880) {
6462      if (n > 4) {
6463        return {
6464          type: 'type2',
6465          single: 1,
6466          multi: n,
6467          slides: 2.5,
6468          slider: n > 7
6469        };
6470      }
6471      return {
6472        type: 'type1',
6473        single: n,
6474        multi: n,
6475        slides: 3,
6476        slider: n > 3
6477      };
6478    } else if (w > 767) {
6479      if (n > 4) {
6480        return {
6481          type: 'type3',
6482          single: 1,
6483          multi: n,
6484          slides: 2,
6485          slider: n > 5
6486        };
6487      }
6488      return {
6489        type: 'type4',
6490        single: n,
6491        multi: n,
6492        slides: 2,
6493        slider: n > 2
6494      };
6495    } else if (w > 460) {
6496      return {
6497        type: 'type4',
6498        single: n,
6499        multi: n,
6500        slides: 2,
6501        slider: n > 2
6502      };
6503    }
6504    return {
6505      type: 'type5',
6506      single: n,
6507      multi: n,
6508      slides: 1,
6509      slider: n > 1
6510    };
6511  }
6512  function ensureClass($el, className) {
6513    if ($el.hasClass(className)) {
6514      return;
6515    }
6516    $el.addClass(className);
6517  }
6518  function makeSquare($el) {
6519    const el = $el[0];
6520    el.style.width = '';
6521    el.style.height = '';
6522    const rect = el.getBoundingClientRect();
6523    if (rect.width !== rect.height) {
6524      el.style.width = rect.height + 'px';
6525    }
6526  }
6527  function buildSlider() {
6528    const cWidth = $container[0].getBoundingClientRect().width;
6529    if (cWidth === usedWidth) {
6530      return;
6531    }
6532    $container.empty();
6533    slider = $('<div class="ig-feed-slider"></div>');
6534    const items = igFeed.items.slice(0, limit);
6535    const layout = getLayout(cWidth, items.length);
6536    let i = 0;
6537    let slide = null;
6538    while (i < layout.single) {
6539      slide = $(`<div class="slide-single ${layout.type}"></div>`).append(itemTemplate(items[i])).appendTo(slider);
6540      i++;
6541    }
6542    while (i < layout.multi) {
6543      slide = $(`<div class="slide-multi ${layout.type}"></div>`).appendTo(slider);
6544      let slideContent = $('<div class="slide-multi-content"></div>').appendTo(slide);
6545      const lim = i + 4;
6546      while (i < lim && i < layout.multi) {
6547        slideContent.append(itemTemplate(items[i]));
6548        i++;
6549      }
6550    }
6551    $container.append(slider);
6552    if (layout.slider) {
6553      $topPrev.removeClass('hidden-control');
6554      $topNext.removeClass('hidden-control');
6555      $bottomPrev.removeClass('hidden-control');
6556      $bottomNext.removeClass('hidden-control');
6557      let prev, next;
6558      if ($bottomPrev.parent()[0].getBoundingClientRect().width) {
6559        prev = $bottomPrev;
6560        next = $bottomNext;
6561      } else {
6562        prev = $topPrev;
6563        next = $topNext;
6564        makeSquare($topPrev);
6565        makeSquare($topNext);
6566      }
6567      slider.children().each(function () {
6568        this.style.width = this.getBoundingClientRect().width + 'px';
6569      });
6570      slider.slick({
6571        dots: false,
6572        prevArrow: prev,
6573        nextArrow: next,
6574        slidesToScroll: 1,
6575        infinite: false,
6576        slidesToShow: layout.slides
6577      });
6578    } else {
6579      ensureClass($topPrev, 'hidden-control');
6580      ensureClass($topNext, 'hidden-control');
6581      ensureClass($bottomPrev, 'hidden-control');
6582      ensureClass($bottomNext, 'hidden-control');
6583    }
6584  }
6585})('section-de8a42b3-5dab-4f33-a867-4c6c2a7e0655', JSON.parse("{\"resource\":\"agent\",\"useRouterApi\":false,\"companyId\":\"c3076ecb-c2d7-457b-a426-bcf036133f1f\",\"usePageResource\":false,\"sectionIndex\":4,\"routerApiAux\":{\"testimonials\":true,\"agents\":false,\"neighborhoods\":false,\"developments\":false,\"properties\":false,\"posts\":true,\"pressReleases\":true,\"offices\":true,\"teams\":true,\"pois\":true,\"postCategories\":true}}"));
6586} catch(e) {
6587console.log(e);
6588}
6589
6590            var { body } = document;
6591            var globalNav = body.querySelector(':scope > nav');
6592            var globalSideMenu = body.querySelector(':scope > div.sidemenu');
6593
6594            document.querySelectorAll('body > .modal .close').forEach(modalCloseBtn => {
6595                modalCloseBtn.addEventListener('click', function() {
6596                window.lpUI.hideClosestModal(modalCloseBtn);
6597              });
6598            });
6599
6600            window.addEventListener('click', function() {
6601                document.querySelectorAll('.share-popup').forEach(sharedPopup => {
6602                    sharedPopup.style.display = 'none' ;
6603                });
6604            });
6605
6606            /* Misc Partials / Addons */
6607            function initWOW() {
6608                if (wow) {
6609                    wow.init();
6610                    wow.scrollHandler();
6611                    setTimeout(function () {
6612                        const wowHideStyle = document.getElementById('wow-hide-elements');
6613                        if(wowHideStyle) {
6614                            wowHideStyle.disabled = true;
6615                        }
6616                    }, 1);
6617                }
6618            }
6619
6620            const wowHideElements =  document.getElementById('wow-hide-elements');
6621            if (wowHideElements) {
6622               wowHideElements.disabled = false;
6623            }
6624
6625                var globalLoader = document.getElementById('global-loader');
6626                if (globalLoader) {
6627                    setTimeout(function() {
6628                        globalLoader.style.height = "0px";
6629                        window.sessionStorage.setItem('global_loading_displayed', 'yes');
6630
6631                        // Remove global-loader to prevent caching issues with turbolinks
6632                        globalLoader.addEventListener('transitionend',
6633                                function(e) {
6634                                    globalLoader.remove();
6635                                    initWOW();
6636                                });
6637                    }, 1000);
6638                } else {
6639                    initWOW();
6640                }
6641
6642            /* Generic Navbar Handling */
6643            globalNav?.querySelectorAll('.hamburger-component').forEach(hamburgerComponent => {
6644                hamburgerComponent.addEventListener('click', function() {
6645                window.lpUI.sideMenuToggle();
6646              });
6647            });
6648            globalSideMenu?.querySelectorAll('.toggle').forEach(toggleEl => {
6649                toggleEl.addEventListener('click', function() {
6650                window.lpUI.sideMenuToggle();
6651              });
6652            });
6653
6654            document.querySelectorAll('body > nav .sub-nav-container > a, body > div.sidemenu .sub-nav-container > a').forEach(linkEl => {
6655                linkEl.addEventListener('click', function(e) {
6656                  e.preventDefault();
6657                  e.stopPropagation();
6658                  var subNav = linkEl.parentElement.querySelector(':scope > .sub-nav');
6659                  if (subNav && subNav.classList.contains('visible')){
6660                    subNav.classList.remove('visible');
6661                  } else {
6662                    globalNav?.querySelectorAll('.sub-nav-container .sub-nav').forEach(globalSubNav => {
6663                      globalSubNav.classList.remove('visible');
6664                    });
6665                    globalSideMenu?.querySelectorAll('.sub-nav').forEach(sideMenuSubNav => {
6666                        sideMenuSubNav.classList.remove('visible');
6667                    });
6668                    subNav?.classList.add('visible');
6669                  }
6670                });
6671            });
6672            window.addEventListener('click', function() {
6673                document.querySelectorAll('nav .sub-nav.visible, .sidemenu .sub-nav.visible').forEach(subNavEl => {
6674                    subNavEl.classList.remove('visible');
6675                });
6676            });
6677
6678        }
6679
6680        document.addEventListener('DOMContentLoaded', lpGlobalInit);
6681
6682    </script>
6682
6683
6684    
6684<script type="module">
6685    function selectorExists(selector) {
6686        return document.querySelector(selector) !== null;
6687    }
6688
6689    // Function to initialize the third-party library
6690    function initParoller(selector = '.my-paroller') {
6691        var $parollerElements = $(selector);
6692        if ($parollerElements.length > 0 && typeof $parollerElements.paroller === 'function') {
6693            $parollerElements.paroller();
6694        }
6695    }
6696
6697    const parollerSelector = '.my-paroller';
6698
6699    if (selectorExists(parollerSelector)) {
6700        window.luxuryPresence.libs.loadJs(window.luxuryPresence.libs.jsLibsMap.paroller.jsSrc, function() {
6701            initParoller(parollerSelector);
6702            window.luxuryPresence.libs.jsLibsMap.paroller.isLoaded = true;
6703        });
6704    }
6705    </script>
6705
6706
6707            <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 6707-6708
6707
6708            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
6708GTM-T9SFQGHZ
vendor: 107 bytes, lines 6708-6710
6708"
6709            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
6710            
6710<!-- End Google Tag Manager -->
6711        
6712            
6712<script
6713                src="https://cdn.luxurypresence.com/scripts/a11y-widget/latest/widget.js"
6714                data-website-id="ff06f655-0c64-45c8-9c55-e8468b4e5303"
6715                
6716                defer></script>
vendor: 1 bytes, line 6716
6716
6717<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:'a45fb3c5ba83e417',t:'MTc5MTIzNzY1OA=='};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>
6717<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>
6717
6718</body>
6719</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.