.luther-map { position: relative; overflow: hidden; background: #eee; font: 12px/1.4 Arial, sans-serif; }
.luther-map .mapboxgl-ctrl-bottom-left, .luther-map .mapboxgl-ctrl-bottom-right { bottom: 0; }
.luther-map .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl, .luther-map .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl { margin: 0 5px 5px; }
.luther-map .mapboxgl-ctrl-logo { display: block; margin: 0; width: 66px; height: 20px; background-size: contain; background-position: left bottom; }
.luther-map .mapboxgl-ctrl-attrib, .luther-map .mapboxgl-ctrl-attrib-button { background-color: #d0d0d0; }
.luther-map .mapboxgl-ctrl-attrib-button:hover { background-color: #bdbdbd; }
.luther-map .mapboxgl-ctrl button { min-width: 0; padding: 0; }
.luther-map .map-route-pin { width: 25px; height: 41px; max-width: none; }
.luther-map button.map-find-marker { display: block; padding: 0; border: 0; background: transparent; cursor: pointer; box-shadow: none; }
.luther-map .map-find-marker img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.luther-map .map-find-marker.photo img { border: 2px solid white; box-shadow: 0 1px 5px #333; box-sizing: border-box; }
.luther-map .map-find-marker:hover, .luther-map .map-find-marker:focus-visible { z-index: 2; outline: 2px solid #f00; }
.luther-map .mapboxgl-popup { z-index: 5; }
.luther-map .mapboxgl-popup-content { padding: 25px 16px 16px; max-height: 65vh; overflow: auto; font: 15px/1.5 Arial, sans-serif; color: #222; }
.luther-map .mapboxgl-popup-close-button { font-size: 24px; padding: 0 8px; color: #777; background: transparent; }
.luther-map .mapboxgl-popup-close-button:hover, .luther-map .mapboxgl-popup-close-button:focus-visible { color: #000; background: transparent; }
.map-find-popup img { display: block; max-width: 100%; max-height: 42vh; width: auto; height: auto; margin: 0 auto; }
.map-find-popup iframe { width: 100%; height: 280px; border: 0; }
.map-find-popup .description { margin-top: 10px; font: 1rem/1.2 'Arimo', sans-serif; color: #f00; }
.luther-map #mapfind-control { z-index: 3; max-height: calc(100% - 75px); overflow: auto; }
.luther-map #mapfind-control button { font: inherit; text-align: left; color: inherit; background: transparent; border: 0; padding: 0; cursor: pointer; }
.luther-map #mapfind-control button.active { text-decoration: underline; font-weight: bold; }
.luther-map #mapfind-control button.active::before { content: '✓ '; }
.map-route-error { position: absolute; left: 5px; top: 45px; padding: 5px; background: white; color: #900; z-index: 2; }
