/* Park’n GO OpenLayers Canvas map. Load after ol.css and the main site CSS. */
#venue-map.png-openlayers-map { background: #eeeae7; font-family: "Instrument Sans",Arial, sans-serif; }
#venue-map .ol-viewport { min-height: inherit; }
#venue-map:focus-visible { outline: 3px solid #701c32; outline-offset: -3px; }
#venue-map .png-map-marker { width: 40px; height: 40px; padding: 0; display: block; cursor: pointer; background: #701c32; color: #fff; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 3px 10px #2d112b44; }
#venue-map .png-map-marker[hidden], #venue-map .png-map-popup[hidden] { display: none; }
#venue-map .png-map-marker span { display: grid; place-items: center; width: 100%; height: 100%; font:14px "Instrument Sans", sans-serif; pointer-events: none; }
#venue-map .png-map-marker:hover, #venue-map .png-map-marker.is-selected { background: #27121c; box-shadow: 0 0 0 3px #701c3240, 0 4px 12px #2d112b55; }
#venue-map .png-map-marker:focus-visible { outline: 3px solid #27121c; outline-offset: 4px; }
#venue-map .ol-zoom { top: 18px; left: 18px; background: #fff; padding: 0; border-radius: 3px; border: 1px solid #d8c8cc; box-shadow: 0 2px 12px #20101618; }
#venue-map .ol-zoom button { width: 44px; height: 44px; margin: 0; border: 0; border-radius: 0; background: #fff; color: #701c32; font:24px/1 "Instrument Sans",Arial, sans-serif; cursor: pointer; }
#venue-map .ol-zoom button + button { border-top: 1px solid #e1d7da; }
#venue-map .ol-control button:focus-visible { outline: 3px solid #701c32; outline-offset: -3px; }
#venue-map .ol-control button:hover { background: #f5edf0; }
#venue-map .ol-attribution { right: 0; bottom: 0; max-width: 100%; background: #fffffff2; border-radius: 0; color: #3c3436; }
#venue-map .ol-attribution ul { font:14px/1.5 "Instrument Sans",Arial, sans-serif; white-space: normal; padding: 4px 7px; text-shadow: none; }
#venue-map .ol-attribution a { color: #3c3436; text-decoration: underline; }
#venue-map .png-map-popup { position: relative; width: 270px; max-width: calc(100vw - 70px); background: #fff; padding: 23px 20px 18px; border-radius: 3px; box-shadow: 0 4px 20px #26131d36; }
#venue-map .png-map-popup::after { content: ''; position: absolute; left: calc(50% - 9px); bottom: -9px; width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 9px solid #fff; }
#venue-map .png-map-popup-close { position: absolute; color: #701c32; background: none; border: 0; width: 44px; height: 44px; right: 0; top: 0; font:22px/1 "Instrument Sans",Arial, sans-serif; cursor: pointer; }
#venue-map .png-map-popup-close:focus-visible { outline: 2px solid #701c32; outline-offset: -3px; }
#venue-map .venue-popup { min-width: 0; }
#venue-map .venue-popup strong { padding-right: 24px; }
#venue-map .venue-popup a { text-decoration: underline; text-underline-offset: 3px; }
#venue-map.map-unavailable { background: #f0eaec; }
#venue-map .map-fallback { top: 35%; max-width: 430px; margin-inline: auto; }
#venue-map .map-fallback p { margin-bottom: 10px; color: #701c32; }
@media (max-width: 600px) {
  #venue-map .ol-zoom { top: 12px; left: 12px; }
  #venue-map .ol-zoom button { width: 44px; height: 44px; }
  #venue-map .ol-attribution ul { font-size:14px; }
  #venue-map .png-map-popup { width: 250px; padding-inline: 16px; }
}
