@keyframes load { to { transform: rotate(1turn) } } body, html { margin: 0; height: 100vh; width: 100vw; box-sizing: border-box; overflow: hidden; background-color: #404040; } h1.widget-heading { margin: 0; margin-bottom: 4px; font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase; /* border-bottom: 1px solid currentColor; padding-bottom: 2px; */ } p.widget-description { margin: 0; margin-bottom: 8px; /* border-bottom: 1px solid currentColor; padding-bottom: 2px; */ } button:not(.link) { background-color: transparent; border: none; color: inherit; font: inherit; padding: 6px; border-radius: 4px; height: 36px; border: 1px solid #0008; } button:not(.link):hover { background-color: #0004; } button:not(.link):active { background-color: #0008; } button:not(.link):disabled { background-color: #8884; color: #808080; } button.link { background: none !important; border: none; padding: 0; font: inherit; color: currentColor; text-decoration: underline; cursor: pointer; } .clarification { text-decoration: dotted underline; } #map { cursor: grab; } #map-ui { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; pointer-events: none; user-select: none; } #map-ui #zoom { pointer-events: all; box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; position: absolute; padding: 8px; top: 16px; left: 16px; border-radius: 4px; background-color: #202020; color: #fff; box-shadow: 0 0 8px 0 #0008; } #map-ui #zoom .zoom-button { width: 36px; } #map-ui #floors { pointer-events: all; display: inline-block; box-sizing: border-box; position: absolute; padding: 8px; top: 16px; right: 16px; border-radius: 4px; background-color: #202020; color: #fff; box-shadow: 0 0 8px 0 #0008; transition: right 0.5s; } #map-ui #floors.empty { right: -100%; } #map-ui #floors #floor-buttons { display: flex; flex-direction: column; gap: 8px; } #map-ui #floors #floor-buttons .floor-button { text-align: left; width: 200px; padding: 12px; height: unset; } #map-ui #floors #floor-buttons .floor-button.selected { padding-left: 9px; border: 1px solid #fff; border-left: 4px solid #fff; } #map-ui #events-container { position: absolute; left: 0; bottom: 0; overflow: visible; width: 100%; } #map-ui #events-container #events, #map-ui #events-container #events-minimized { pointer-events: all; box-sizing: border-box; display: inline-block; position: absolute; padding: 8px; bottom: 16px; border-radius: 4px; background-color: #202020; color: #fff; box-shadow: 0 0 8px 0 #0008; transition: left 0.5s; } #map-ui #events-container #events { left: 16px; width: 400px; } #map-ui #events-container.minimized #events { left: -100%; } #map-ui #events-container #events-minimized { left: -100%; } #map-ui #events-container.minimized #events-minimized { left: 16px; } #map-ui #events-container #events #footer #footer-buttons { display: flex; align-items: center; gap: 8px; } #map-ui #events-container #events #events-header p { margin-bottom: 0; } #map-ui #events-container #events #events-header { display: grid; grid-template-columns: 36px auto; gap: 8px; margin-bottom: 8px; align-items: center; } #map-ui #events-container #events #event-list { min-height: 200px; max-height: calc(50% - 16px); margin: 8px 0; padding: 8px; background-color: #0002; display: flex; flex-direction: column; gap: 4px; } #map-ui #events-container #events #event-list .event-list-container p { margin: 2px 0; white-space: pre-line; } #map-ui #events-container #events #events-header button, #map-ui #events-container #footer #footer-buttons button, #map-ui #events-container #events-minimized button { width: 36px; } #map-ui #loading { display: inline-block; position: absolute; width: 96px; height: 96px; left: calc(50vw - 48px); top: calc(50vh - 48px); background-color: #2228; border-radius: 8px; opacity: 0; transition: opacity 0.25s; } #map-ui.loading #loading { opacity: 1; } #map-ui #loading #loading-circle { display: inline-block; position: relative; width: 64px; height: 64px; top: 16px; left: 16px; background: conic-gradient(from 0deg,#fff0,#fff); -webkit-mask-image: radial-gradient(circle, #fff0 0%, #fff0 33%, #ffff 33%, #ffff 66%, #fff0 66%, #fff0 100%); mask-image: radial-gradient(circle, #fff0 0%, #fff0 33%, #ffff 33%, #ffff 66%, #fff0 66%, #fff0 100%); animation: load 0.5s linear infinite; }