body { background-color: #eee; } .last_change { text-align: right; } .last_change .unit { padding-left: 1ch; min-width: 8ch; display: inline-block; text-align: left; } #last_ping, #connected, #free_ports { margin-top: 0; margin-bottom: 0.25em; } #connected svg { height: 1em; } #header { display: flex; flex-direction: row; grid-template-columns: auto 1fr; justify-content: space-between; } td, th { border: 1px solid black; padding: 0.5em; font-family: monospace; } table { border-spacing: 0; max-width: 100%; margin: 0 auto; } th { cursor: pointer; user-select: none; font-size: inherit; } th::after { font-family: monospace; padding-left: 3px; } th:not(.sort)::after { content: "\a0"; } .sort-up::after { content: "\25b2"; } .sort-down::after { content: "\25bc"; } td { text-align: left; } .port { text-align: left; } .visible { opacity: 0; /*transition: opacity 500ms linear;*/ } .hidden { opacity: 1; transition: opacity 5000ms ease-in; } #connected { fill: rgb(224, 32, 6) }