@charset "UTF-8";html{box-sizing:border-box;font-size:100%;overflow-x:hidden;scroll-behavior:smooth}*,:after,:before{box-sizing:inherit;margin:0;padding:0}body{background:var(--background);color:var(--text-color);font-family:var(--font-epilogue);margin:0;min-height:100vh;padding:0}body,main{overflow-x:hidden;width:100%}main{max-width:100vw}section{box-sizing:border-box;max-width:100%;padding-left:1.25rem;padding-right:1.25rem;width:100%}.visually-hidden{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.btn,a{transition:all .3s ease-in-out}:root{--background:#fff;--background-shade:grey;--background-secondary:#303440;--background-nav:#232323;--primary:#dd2727;--secondary:#82dd27;--tertiary:#27dddd;--quaternary:#8227dd;--text:#15141a;--text-nav:#fff;--text-muted:#5b5b66;--category-1:#dd2727;--category-2:#82dd27;--category-3:#27dddd;--category-4:#8227dd;--category-5:#dd8427;--category-6:#2769dd;--font-epilogue:"Open Sans",sans-serif}h1,h2,h3{color:var(--text);line-height:1.1;margin-top:0}h1{font-size:1.5rem;margin-bottom:.1875rem;text-align:center}@media only screen and (min-width:1080px){h1{font-size:1.75rem}}h2{font-size:1.5rem;margin-bottom:1.5rem}a,a:active,a:visited{text-decoration:none}.section__text{align-self:center;font-size:1.125rem;text-align:center}@media only screen and (min-width:768px){.section__text{font-size:1.5rem}}@media only screen and (min-width:1080px){.section__text{font-size:1.75rem}}@media only screen and (min-width:1440px){.section__text{font-size:2rem}}.section__text p{font-weight:600}.section__text__p1{color:var(--text-muted);font-size:1.125rem;text-align:center}@media only screen and (min-width:768px){.section__text__p1{font-size:1.5rem}}@media only screen and (min-width:1080px){.section__text__p1{font-size:1.75rem}}@media only screen and (min-width:1440px){.section__text__p1{font-size:2rem}}.section__text__p2{color:var(--text-muted);font-size:1.125rem;margin-bottom:1rem}@media only screen and (min-width:768px){.section__text__p2{font-size:1.5rem}}@media only screen and (min-width:1080px){.section__text__p2{font-size:1.75rem}}@media only screen and (min-width:1440px){.section__text__p2{font-size:2rem}}.title{font-size:2.25rem;text-align:center}@media only screen and (min-width:768px){.title{font-size:3rem}}@media only screen and (min-width:1080px){.title{font-size:3.5rem}}@media only screen and (min-width:1440px){.title{font-size:4rem}}#map{border-radius:4px;height:100%;min-height:300px;width:100%}#map .leaflet-control-attribution{background:hsla(0,0%,100%,.8);border-radius:3px;font-size:.75rem;padding:.25rem .5rem;z-index:1000}#map .leaflet-control-attribution a{text-decoration:none}#map .leaflet-control-attribution a:hover{text-decoration:underline}@media only screen and (min-width:768px){#map .leaflet-control-attribution{font-size:.85rem;top:-.625rem}}.grid-container{display:grid;gap:1rem;grid-template-columns:1fr;grid-template-rows:auto 40vh auto;padding:1rem;position:relative;width:100%}@media only screen and (min-width:768px){.grid-container{grid-template-columns:2fr 1fr;grid-template-rows:1fr;height:70vh}}.grid-container #map{position:relative;z-index:500}@media (max-width:768px){.grid-container #map{grid-row:2;min-height:40vh}.grid-container .sidebar{display:contents}.grid-container .sidebar__filter{grid-row:1}.grid-container .sidebar__content{grid-row:3;height:auto;max-height:40vh}}.sidebar{background:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:grid;gap:1rem;grid-template-rows:auto minmax(0,1fr);height:70vh;padding:1.5rem}.sidebar__filter{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.1rem}.sidebar__filter select{background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.sidebar__filter select:hover{border-color:#bbb}.sidebar__filter select:focus{border-color:#666;outline:none}.sidebar__filter .town-filter{margin-bottom:.1rem}.sidebar__content{height:100%;overflow-y:auto}.sidebar__content h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.sidebar__content p{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.sidebar__content hr{border:none;border-top:1px solid #e0e0e0;margin:1.25rem 0}.sidebar__content::-webkit-scrollbar{width:8px}.sidebar__content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.sidebar__content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.sidebar__content::-webkit-scrollbar-thumb:hover{background:#999}.sale-item{cursor:pointer;transition:background-color .2s ease}.sale-item:hover{background-color:rgba(0,0,0,.03)}.category-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}.category-pill{border-radius:1rem;color:#fff;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.town-pills{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:.1rem;gap:.5rem;margin:.2rem 0;margin:1rem 0;padding:.1rem;padding:.5rem}.town-pill{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 2px 4px rgba(0,0,0,.05);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.town-pill:hover{background:#f1f3f5;transform:translateY(-1px)}.town-pill.active{background:#333;border-color:#333;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff}.filter-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.filter-list .filter-item{background:#f0f0f0;border-radius:20px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.filter-list .filter-item:hover{background:#e0e0e0}.filter-list .filter-item.active{background:var(--primary);color:#fff}.filter-list .filter-item[data-filter="1"].active{background:var(--category-1)}.filter-list .filter-item[data-filter="2"].active{background:var(--category-2)}.filter-list .filter-item[data-filter="3"].active{background:var(--category-3)}.filter-list .filter-item[data-filter="4"].active{background:var(--category-4)}.filter-list .filter-item[data-filter="5"].active{background:var(--category-5)}.filter-list .filter-item[data-filter="6"].active{background:var(--secondary)}.filter-list .filter-item[data-filter="6"][data-filter="7"].active{background:var(--category-6)}.button-group{display:flex;gap:1.5rem;margin:1rem 0}.directions-btn{border:2px solid var(--primary);border-radius:4px;color:var(--primary);cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.directions-btn:hover{background:var(--primary);color:#fff}.select-btn{background:none;border:2px solid var(--secondary);border-radius:4px;color:var(--secondary);cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.select-btn:hover{background:var(--secondary);color:#fff}.leaflet-popup-content .directions-btn{color:var(--primary)}.leaflet-popup-content .directions-btn:hover{color:#fff}.navigation{align-items:center;background:var(--background-nav);border-bottom:.2rem solid var(--primary);border-top:.4rem solid var(--primary);display:flex;font-size:1.125rem;height:5.375rem;justify-content:center;padding:1rem;position:relative;z-index:6}@media only screen and (min-width:768px){.navigation{font-size:1.625rem}}@media only screen and (min-width:){.navigation{font-size:2.25rem}}.nav-container{align-items:center;display:flex;justify-content:space-between;padding:1rem;width:100%}.brand{letter-spacing:.02em;line-height:5.375rem;text-transform:uppercase}.brand:hover{color:var(--primary)}.brand a,.brand a:visited{color:var(--text-nav);text-decoration:none;white-space:nowrap}nav ul{display:flex;list-style:none;margin:0;padding:0;z-index:0}nav ul li,nav ul li a{position:relative}nav ul li a{background:var(--background-nav);color:var(--text-nav);display:block;line-height:3.125rem;padding:.625rem 1.25rem;text-decoration:none}nav ul li a:before{background-color:var(--primary);bottom:0;content:"";height:.3125rem;position:absolute;transition:.3s;width:0}nav ul li a:hover:before{width:70%}nav ul li a:not(:only-child):after{content:" ▾";padding-left:.25rem}nav ul li ul{box-shadow:0 3px 12px rgba(0,0,0,.15);display:none;position:absolute;z-index:101}nav ul li ul li{min-width:11.875rem}nav ul li ul li a{line-height:1.25rem;padding:.9375rem}nav ul li:hover ul{display:block}.nav-list{display:flex;list-style:none;margin:0;padding:0;z-index:0}.nav-list li,.nav-list li a{position:relative}.nav-list li a{background:var(--background-nav);color:var(--text-nav);display:block;line-height:3.125rem;padding:.625rem 1.25rem;text-decoration:none}.nav-list li a:hover:before{background:var(--primary);border-left-color:#fff;color:#fff}.nav-list li a:not(:only-child):after{content:" ▾";padding-left:.25rem}.nav-list li .sub-menu{background:var(--background-nav);box-shadow:0 2px 5px rgba(0,0,0,.2);display:none;left:0;min-width:200px;position:absolute;top:100%;z-index:7}.nav-list li .sub-menu li{width:100%}.nav-list li .sub-menu li a{color:var(--text-nav);display:block;padding:.75rem 1rem;transition:background .3s}.nav-list li .sub-menu li a:hover{background:var(--primary);color:#fff}.nav-list li:hover>.sub-menu{display:block}@media only screen and (max-width:49.9375rem){.nav-list{background:var(--background-nav);box-shadow:2px 0 5px rgba(0,0,0,.1);display:flex;flex-direction:column;height:calc(100vh - 5.375rem);max-width:350px;overflow-y:auto;position:absolute;right:0;top:100%;transform:translateX(100%);transition:transform .3s ease-in-out;width:80vw;z-index:8}.nav-list.active{transform:translateX(0)}.nav-list li{position:relative;width:100%}.nav-list li a{align-items:center;cursor:pointer;display:flex;justify-content:space-between;line-height:1.5rem;padding:1rem 1.5rem;transition:background .2s;width:100%}.nav-list li>a.has-submenu:after{content:"▸";font-size:1rem;margin-left:.5rem;transition:transform .3s}.nav-list li.submenu-open>a.has-submenu:after{transform:rotate(90deg)}.nav-list li .sub-menu{background:var(--background-nav);box-shadow:none;display:block;left:0;margin:0;max-height:0;opacity:0;overflow:hidden;position:static;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;width:100%}.nav-list li .sub-menu li{width:100%}.nav-list li .sub-menu li a{background:rgba(0,0,0,.05);border-left:3px solid transparent;padding:.75rem 3rem;transition:all .2s}.nav-list li .sub-menu li a:hover{background:var(--primary);border-left-color:#fff;color:#fff}.nav-list li.submenu-open>.sub-menu{border-top:1px solid rgba(0,0,0,.1);max-height:300px;opacity:1}}.nav-mobile{display:none;height:5.375rem;position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);width:5.375rem;z-index:9}@media only screen and (max-width:49.9375rem){.nav-mobile{display:block}.brand{letter-spacing:.01em}nav{padding:5.375rem 0 .9375rem;width:100%}nav ul{display:none}nav ul.active{display:flex}.nav-dropdown{position:static;width:100%}}#nav-toggle{cursor:pointer;display:block;padding:.625rem;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);z-index:10}#nav-toggle span,#nav-toggle span:after,#nav-toggle span:before{background:var(--primary);border-radius:1px;content:"";cursor:pointer;display:block;height:.3125rem;position:absolute;transition:all .3s ease-in-out;width:2.1875rem}#nav-toggle span:before{top:-.625rem}#nav-toggle span:after{bottom:-.625rem}#nav-toggle.active span{background-color:transparent}#nav-toggle.active span:after,#nav-toggle.active span:before{top:0}#nav-toggle.active span:before{transform:rotate(45deg)}#nav-toggle.active span:after{transform:rotate(-45deg)}@media only screen and (min-width:768px){.nav-list{background:transparent!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;height:auto!important;overflow:visible!important;position:static!important;transform:none!important;width:auto!important}.nav-mobile{display:none!important}}.header-image-wrap{align-items:center;background:#fff;border-bottom:1px solid #eaeaea;display:flex;justify-content:center;overflow:hidden;position:relative;text-align:center;width:100%;z-index:2}.header-image-wrap .header-image{display:block;height:150px;margin:0 auto;max-width:100%;-o-object-fit:contain;object-fit:contain;padding:.5rem 0}@media only screen and (min-width:120px){.header-image-wrap .header-image{height:180px}}@media only screen and (min-width:480px){.header-image-wrap .header-image{height:220px}}@media only screen and (min-width:768px){.header-image-wrap .header-image{height:300px}}@media only screen and (min-width:1080px){.header-image-wrap .header-image{height:380px}}@media only screen and (min-width:1440px){.header-image-wrap .header-image{height:434px}}main{position:relative;z-index:1}@media only screen and (max-width:49.9375rem){.header-image-wrap{position:relative;z-index:2}}.footer-widgets-wrapper{background:var(--background-secondary);color:#fff;padding:3rem 0}.footer-widgets-wrapper .inner-wrap{margin:0 auto;max-width:1200px;padding:0 1rem}.footer-widgets-wrapper .footer-widgets-area{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.footer-widgets-wrapper .footer-widgets-area .widget{margin-bottom:1.5rem}.footer-widgets-wrapper .footer-widgets-area .widget:last-child{margin-bottom:0}.footer-widgets-wrapper .footer-widgets-area .widget .menu{list-style:none;margin:0;padding:0}.footer-widgets-wrapper .footer-widgets-area .widget .menu li{margin-bottom:.5rem}.footer-widgets-wrapper .footer-widgets-area .widget .menu li a{color:#fff;text-decoration:none;transition:all .2s}.footer-widgets-wrapper .footer-widgets-area .widget .menu li a:hover{opacity:.8;padding-left:5px}#help-button{pointer-events:none;position:absolute;top:1.5rem;z-index:200000}@media (min-width:769px){#help-button{right:calc(33.333% + 1.5rem)}}@media (max-width:768px){#help-button{right:20px;top:11rem}}#help-button .help-icon{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;display:flex;height:40px;justify-content:center;pointer-events:auto;transition:all .2s ease;width:40px}#help-button .help-icon:hover{border-color:#007cba;box-shadow:0 4px 12px rgba(0,0,0,.25);transform:scale(1.05)}#help-button .help-icon:focus{outline:2px solid #007cba;outline-offset:2px}#help-button .help-icon i{color:#666;font-size:18px}.instructions{background:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:2rem auto;max-width:800px;padding:1.5rem}.instructions h2{color:var(--secondary);margin-bottom:1.5rem}.instructions .instruction-list li{line-height:1.5;margin-bottom:1rem}.instructions .instruction-list li ul{margin-left:1.5rem;margin-top:.5rem}.instructions .instruction-list li ul li{margin-bottom:.5rem}.modal{backdrop-filter:blur(2px);background:rgba(0,0,0,.7);color:var(--primary);display:none;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999}.modal.show{align-items:flex-start;animation:fadeIn .3s ease;display:flex;justify-content:center;padding-top:0}.modal .modal-content{animation:modalSlideIn .3s ease forwards;background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.4);isolation:isolate;margin:auto;max-height:85vh;max-width:600px;overflow-y:auto;padding:2rem;position:relative;width:90%;z-index:10000}.modal .modal-content .close-button{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:36px;z-index:10001}.modal .modal-content .close-button:hover{background:#e0e0e0;color:#333;transform:scale(1.05)}.modal .modal-content .close-button:focus{outline:2px solid #007cba;outline-offset:2px}.modal .modal-content h2{color:var(--primary);font-size:1.5rem;margin-bottom:1.5rem;margin-top:0;padding-right:3rem;position:relative;z-index:1}.modal .modal-content .instruction-list{margin:0;padding-left:1.2rem;position:relative;z-index:1}.modal .modal-content .instruction-list li{color:#555;line-height:1.6;margin-bottom:1rem}.modal .modal-content .instruction-list li:last-child{margin-bottom:0}.modal .modal-content .instruction-list li ul{margin-left:1.5rem;margin-top:.5rem}.modal .modal-content .instruction-list li ul li{color:#666;margin-bottom:.5rem}.modal .modal-content .instruction-list li ul li:last-child{margin-bottom:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:768px){.modal{padding:1rem}.modal.show{padding-top:0}.modal .modal-content{max-height:90vh;padding:1.5rem;width:95%}.modal .modal-content h2{font-size:1.3rem;padding-right:2.5rem}.modal .modal-content .close-button{font-size:18px;height:32px;right:.75rem;top:.75rem;width:32px}}/*# sourceMappingURL=style.css.map */
