* { box-sizing: border-box; } html { font-size: 14px; } body { margin: 0; background-color: #000; } img { display: inline-block; max-width: 100%; } .wrap { margin: 0 auto; min-width: 360px; max-width: 750px; width: 100vw; height: 100vh; } .hidden { display: none; } svg { width: 100%; height: 100%; display: block; } svg [data-interactable="true"], svg [data-location], svg [data-area], svg [data-encounter] { cursor: pointer; stroke: red; fill: transparent; } svg [data-interactable="false"] { stroke: transparent; fill: transparent; } svg [data-interactable="false"][data-blackout="true"] { stroke: black; fill: black; }