.lwy-city-finder{box-sizing:border-box;position:relative;isolation:isolate;width:calc(100% - 48px);max-width:900px;margin:16px auto 20px;padding:0;background:#fff;color:#153d6f;font-family:inherit;letter-spacing:normal;text-align:left}
.lwy-city-finder *{box-sizing:border-box}
html.lwy-compact-active :is(.lwy-main-page-piano-lessons,.lwy-main-page-singing-lessons,.lwy-main-page-drum-lessons,.lwy-main-page-violin-lessons,.lwy-main-page-viola-lessons,.lwy-main-page-cello-lessons,.lwy-main-page-saxophone-lessons,.lwy-main-page-clarinet-lessons,.lwy-main-page-flute-lessons,.lwy-main-page-oboe-lessons,.lwy-main-page-trumpet-lessons,.lwy-main-page-trombone-lessons,.lwy-main-page-french-horn-lessons,.lwy-main-page-guitar-lessons,.lwy-main-page-bass-guitar-lessons,.lwy-main-page-ukulele-lessons):not(:has(.lwy-main-faq)) .lwy-city-finder[data-mode=lessons]{visibility:hidden}
.lwy-city-finder .lwy-city-finder__title{margin:0 0 11px;color:#153d6f;font-family:"DM Sans",system-ui,sans-serif;font-size:20px;font-weight:600;line-height:1.24;letter-spacing:normal;text-transform:none;text-align:left}
.lwy-city-finder .lwy-city-finder__description{margin:0 0 14px;color:#3d4145;font-family:inherit;font-size:17px;font-weight:400;line-height:1.45;text-align:left}
.lwy-city-finder__field{position:relative;z-index:2}
.lwy-city-finder__field::before{content:"";position:absolute;z-index:1;top:14px;left:20px;width:15px;height:15px;border:1.8px solid #6c7480;border-radius:50%;pointer-events:none}
.lwy-city-finder__field::after{content:"";position:absolute;z-index:1;top:29px;left:33px;width:7px;height:1.8px;background:#6c7480;transform:rotate(45deg);transform-origin:left center;pointer-events:none}
.lwy-city-finder input[data-city-input]{display:block;width:100%;height:48px;min-height:48px;margin:0;padding:0 18px 0 52px;border:1px solid #d6d6d6;border-radius:8px;outline:none;background:#f3f3f3;box-shadow:none;color:#153d6f;font-family:inherit;font-size:17px;font-weight:400;line-height:1.4;letter-spacing:normal;text-align:left;appearance:none;-webkit-appearance:none}
.lwy-city-finder input[data-city-input]::placeholder{color:#737a85;opacity:1}
.lwy-city-finder input[data-city-input]:focus{border-color:#153d6f;box-shadow:0 0 0 3px rgba(12,49,96,.09)}
.lwy-city-finder [data-city-results]{position:absolute;z-index:5;top:calc(100% + 8px);left:0;right:0;margin:0;padding:6px;border:1px solid #e6e8ec;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(12,49,96,.12);list-style:none;text-align:left}
.lwy-city-finder [data-city-results][hidden]{display:none!important}
.lwy-city-finder [data-city-results] li{margin:0;padding:0;list-style:none}
.lwy-city-finder [data-city-results] a{display:block;min-height:48px;padding:13px 14px;border-radius:7px;background:#fff;color:#153d6f;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;text-decoration:none}
.lwy-city-finder [data-city-results] a:hover,.lwy-city-finder [data-city-results] a[aria-selected=true]{background:#f0f3f7;color:#153d6f}
.lwy-city-finder [data-city-status]{min-height:20px;margin:0;color:#646b75;font-size:13px;line-height:20px}
.lwy-city-finder__featured{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:flex-start}
.lwy-city-finder__featured>span[aria-hidden=true]{color:#3d4145}
.lwy-city-finder .lwy-city-finder__featured a{display:inline-block;padding:4px 0;color:#ed7d3a;font-family:inherit;font-size:17px;font-weight:500;line-height:1.45;text-decoration:none;text-underline-offset:3px}
.lwy-city-finder .lwy-city-finder__featured a:hover{text-decoration:underline}
.lwy-city-finder a:focus-visible{outline:2px solid #0c3160;outline-offset:4px}
@media(max-width:620px){.lwy-city-finder{width:calc(100% - 40px);margin:16px auto 20px}.lwy-city-finder .lwy-city-finder__title{font-size:20px;letter-spacing:normal}.lwy-city-finder .lwy-city-finder__description{font-size:17px}.lwy-city-finder__featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.lwy-city-finder__featured>span[aria-hidden=true]{display:none}}

.lwy-city-finder__field{max-width:560px}
.lwy-main-related-section>.lwy-city-finder{width:100%;max-width:none;margin:16px 0 12px}
.lwy-main-related-section:has(>.lwy-city-finder){contain:layout style!important;overflow:visible}
.lwy-main-related-section:has(>.lwy-city-finder) .lwy-bloomington-related-styles{padding-bottom:8px}
.lwy-city-finder[data-mode=cost]{max-width:1000px}
@media(min-width:621px) and (max-width:880px){.lwy-city-finder .lwy-city-finder__title{font-size:22px;line-height:1.2}.lwy-city-finder .lwy-city-finder__description{font-size:15px;line-height:1.42}}
