* { box-sizing: border-box; } body { font-family: sans-serif; margin: auto; padding: 1em; } h1, #search { text-align: center; width: 100%; font-weight: bold; } h1 a { text-decoration: none; color: initial; } #results { margin-top: 1em; } .result { background: #eee; padding: 1em; border: 1px solid #bbb; } .result:focus { outline: 2px solid #08f; border-radius: 1px; } .result a { text-decoration: none; color: #03d; } .result.hidden { display: none; } #results.showhidden .result.hidden { display: block; } #results.showhidden .result.hidden.filtered { display: none; } .result.filtered { display: none; } .loc { float: right; font-weight: normal; font-size: 0.8em; } .type { font-size: 0.8em; } h2 { margin: 0; font-size: 20px; } .name { font-weight: normal; } .content { margin-top: 1em; } .note:empty { display: none; } .note { background: #aef; padding: 1em; margin-top: 1em; } .btn { display: block; width: 100%; border: 1px solid; padding: 0.5em; text-decoration: initial; color: initial; font-weight: bold; text-align: center; font-size: 1.5em; margin: 0.5em auto; cursor: pointer; grid-column: 1/-1; max-width: 400px; } .btn.green { background: #0a0; color: white; } .btn.red { background: #a00; color: white; } form { max-width: 600px; margin: auto; } form label { display: block; width: 100%; font-weight: bold; margin-bottom: 0.3em; } form label[for=coords_bl], form label[for=coords_tr], #coords_bl, #coords_tr { display: inline-block; min-width: unset; width: 50%; } input, textarea, select { display: block; width: 100%; max-width: 100%; min-width: 100%; margin: 0 0 1em 0; padding: 0.3em; font-family: monospace; font-size: 1.4em; background: #eee; border: 1px solid gray; } input[type=checkbox] { width: initial; display: initial; min-width: initial; margin: 0; } textarea { min-height: 8em; } #mapcontainer { grid-column: 1/-1; text-align: center; position: sticky; pointer-events: none; top: 0; } #mapcontainer * { pointer-events: all; } #map { position: relative; border: 1px solid black; background: #fff; max-width: 800px; max-height: 50vh; aspect-ratio: 31 / 10; margin: 0 auto; } #mapnote { min-height: 1.95em; font-style: italic; margin: 0; padding: 0.5em; display: inline-block; background: #fff; border: 1px solid; border-top: none; } #mapnote:empty { background: none; border: none; } #map img { width: 100%; max-height: 100%; max-width: 100%; display: block; } form #map { margin: 0.3em 0 1em 0; } #mapgrid { position: absolute; pointer-events: none; outline: 2px solid #f00; background: #ff08; } #mapgrid:not([style]) { outline: none; } #grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 1em; } @media only screen and (max-width: 500px) { #grid { grid-template-columns: none; } } #grid #results { display: contents; } #grid #searchcontainer { grid-column: 1/-1; width: calc(min(600px, 100%)); max-width: 100%; text-align: center; margin: auto; }