/* SiteFound map locator and source-aware layers, original UI. */
.sf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-locator-dock{position:absolute;z-index:575;top:16px;left:192px;right:215px;max-width:660px;min-width:230px;pointer-events:none}
.sf-locator-dock>*{pointer-events:auto}
.sf-locator-form{display:flex;align-items:stretch;min-height:46px;background:#fff;border:1px solid #d2e0e4;border-radius:13px;padding:4px;box-shadow:0 6px 26px #12334232;gap:3px}
.sf-locator-form select{width:40%;max-width:180px;min-width:100px;border:0;border-right:1px solid #e2ebed;background:#f7faf9;color:#234858;border-radius:9px 0 0 9px;font-size:12px;font-weight:750;padding:8px 10px;text-overflow:ellipsis;cursor:pointer}
.sf-locator-form input{min-width:0;flex:1 1 auto;border:0;box-shadow:none;outline:0;padding:8px 7px;color:#213d4d;font-size:13px;background:#fff}
.sf-locator-form input::placeholder{color:#778996}
.sf-locator-form button{min-width:65px;border:0;background:#087f7c;color:#fff;padding:6px 12px;border-radius:9px;font-weight:820;font-size:13px;display:flex;align-items:center;justify-content:center;gap:4px}
.sf-locator-form button:hover:not(:disabled){background:#096c6c}
.sf-locator-form button:disabled{opacity:.45;cursor:not-allowed}
.sf-locator-form :is(input,select,button):focus-visible{outline:3px solid #53c8bb;outline-offset:1px;position:relative;z-index:1}
.sf-locator-helper{font-size:10px;line-height:1.35;background:#ffffffed;padding:5px 9px;border-radius:8px;color:#486575;box-shadow:0 1px 7px #1738491b;margin:5px 0 0;max-width:100%;overflow-wrap:anywhere}
.sf-locator-helper[data-active=false]{background:#fff3dd;color:#815920;border:1px solid #efd8af;font-weight:700;line-height:1.5}
.sf-locator-status{color:#315869;font-size:11px;line-height:1.4;background:#fff;border:1px solid #dce8e9;box-shadow:0 5px 16px #0c29301b;padding:9px 11px;border-radius:9px;margin:6px 0 0}
.sf-locator-status:empty{display:none}
.sf-locator-status[data-tone=good]{color:#076c5f;border-color:#b1dfd3}
.sf-locator-status[data-tone=error]{color:#ac3c42;border-color:#efc9cf}
.sf-locator-status[data-tone=notice]{color:#77531e;border-color:#ebd8af}
.sf-locator-popover{margin-top:6px;background:#fff;border:1px solid #d6e5e7;box-shadow:0 12px 36px #11364836;border-radius:13px;max-height:min(47dvh,450px);overflow-y:auto;padding:7px}
.sf-locator-heading{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#637c86;padding:10px 10px 9px}
.sf-locator-choice{display:grid;gap:4px;background:#fff;border:1px solid transparent;width:100%;padding:11px;text-align:left;border-radius:9px;color:#2a4a57}
.sf-locator-choice:hover,.sf-locator-choice:focus-visible{background:#f0faf8;border-color:#c5e6e0}
.sf-locator-choice strong{font-size:13px;line-height:1.35}
.sf-locator-choice small{font-size:11px;line-height:1.4;color:#647d87}
.sf-locator-close{border:1px solid #d0e0e2;color:#345a66;background:#fff;border-radius:8px;padding:7px 13px;margin:7px 0 0;font-size:11px;font-weight:800;box-shadow:0 2px 10px #12334217}
.sf-locator-attribution{font-size:10px;color:#5d7480;background:#ffffffdf;padding:7px 9px;margin:5px 0;border-radius:8px;line-height:1.4;max-width:100%}
.sf-locator-attribution a{color:#0c7674;font-weight:650}
.sf-layer-group-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#4b6d77;margin:12px 0 4px}
.sf-layer-unavailable{display:flex;flex-wrap:wrap;gap:2px;justify-content:space-between;font-size:11px;border-bottom:1px solid #e7eff0;padding:10px 0;color:#44616e;line-height:1.35}
.sf-layer-unavailable span{flex:1 1 100%;font-weight:720}
.sf-layer-unavailable small{font-size:10px;color:#906f47}
@media(max-width:1150px){
 .sf-locator-dock{top:68px;left:15px;right:15px;max-width:600px}
}
@media(max-width:800px){
 .sf-locator-dock{top:60px;left:10px;right:10px;max-width:none;min-width:0}
 .sf-locator-form{min-height:46px;border-radius:11px;box-shadow:0 6px 19px #1e3d4435}
 .sf-locator-form select{font-size:11px;min-width:111px;max-width:36%;width:36%;padding:6px}
 .sf-locator-form input{font-size:13px;padding:6px}
 .sf-locator-form button{font-size:17px;min-width:45px;width:45px;padding:4px}
 .sf-locator-form button span{display:none}
 .sf-locator-helper{margin-top:3px;font-size:10px;max-height:37px;overflow:hidden;padding:5px 8px}
 .sf-locator-status{padding:8px;font-size:11px;margin-top:4px}
 .sf-locator-popover{max-height:40dvh;box-shadow:0 9px 25px #1237443d}
 .sf-locator-attribution{font-size:9px}
 .sf-map-welcome{display:none!important}
 .sf-layer-panel{width:min(340px,calc(100vw - 16px))}
}
@media(max-width:400px){
 .sf-locator-form select{min-width:105px;width:40%;max-width:40%}
 .sf-locator-form button{min-width:42px;width:42px}
}

/* Geocoded house-number results and transparent approximate fallbacks */
.sf-address-result-precise{color:#07695c!important;font-weight:750;border-left:3px solid #1cafa0;padding:4px 7px;background:#edf9f6;border-radius:3px}
.sf-address-result-approx{color:#885c1b!important;font-weight:750;border-left:3px solid #e2a448;padding:4px 7px;background:#fff8e8;border-radius:3px}

/* Predictive address listbox: keyboard selection and narrow-screen readability. */
.sf-locator-popover .sf-locator-heading{position:sticky;top:0;background:#fff;z-index:1;border-bottom:1px solid #edf2f3}
.sf-locator-choice[aria-selected="true"]{background:#e5f7f4;border-color:#59b8b2;outline:2px solid #90d4ce;outline-offset:-2px}
.sf-locator-choice:focus-visible{outline:3px solid #20a6a0;outline-offset:-2px}
.sf-locator-choice .sf-address-result-precise,.sf-locator-choice .sf-address-result-approx{font-size:10.5px;display:block}
@media(max-width:800px){
 .sf-locator-choice{min-height:53px;padding:12px 10px}
 .sf-locator-popover{overscroll-behavior:contain;max-height:min(38dvh,350px)}
}
@media(max-height:550px){.sf-locator-popover{max-height:27dvh}}
