html { font-size: clamp(10px, 2vw, 18px); } html.js .noscript, .hidden { display: none; } .clickable { cursor: pointer; } .anchorstyle { color: rgb(0, 102, 204); text-decoration: underline; } /* Dead style */ html:not(.js) .js-only { display: none; } header { display: flex; direction: row; /* Push items as far apart as possible */ justify-content: space-between; } #headline { text-align: center; flex-grow: 1; } #tbl_communities { /* Browser defaults. */ --cell-padding-h: 1px; --cell-padding-v: 1px; width:100%; } #tbl_communities th { white-space: nowrap; } #tbl_communities :is(th, td) { padding: var(--cell-padding-v) var(--cell-padding-h); } #tbl_communities th.sortable { position: relative; padding-right: calc( 1.5em + var(--cell-padding-h) ); } #tbl_communities th.sortable::after { position: absolute; right: 0.25em; top: 50%; transform: translateY(-50%); /* content: "\25C7"; */ /* White diamond */ /* content: "\2195"; */ /* Up-down arrow */ /* content: "\25A1"; */ /* White square */ /* content: "\25B8"; */ /* Small right pointing triangle */ content: "\2B25"; /* Black medium diamond */ color: grey; } #tbl_communities[data-sort-asc=true] th[data-sort=true]::after { content: "\25B2"; /* Black up pointing triangle */ color: initial; } #tbl_communities[data-sort-asc=false] th[data-sort=true]::after { content: "\25BC"; /* Black up pointing triangle */ color: initial; } #toggle-show-room-ids:not(:checked) ~ #tbl_communities :is(#th_identifier, .td_identifier) { display: none; } .td_identifier { font-family: monospace; } .td_language { text-align: center; font-size: 1.25em; } .td_language:empty::after { content: "\2753"; } #th_description { } .td_description { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; } .td_users { text-align: right; } .td_preview { text-align: center; } .td_server_icon { text-align: center; } .td_server_icon-circle { display: flex; align-items: center; justify-content: center; width: 2em; height: 2em; border-radius: 2em; font-family: sans-serif; margin: 0 auto; color: white; text-shadow: 0 0 0.5em #000; box-shadow: 0 0 0.05em #777; } .td_server_icon-circle span { position: relative; top: 0.05em; } .td_join_url { font-family: monospace; white-space: nowrap; font-size: .8em; } .join_url { /* Apply margin against copy button or link. */ /* URL now guaranteed to have interactive element to right when present. */ margin-right: 1em; } @media (max-width: 950px) { /* Only current width breakpoint; */ /* Would follow w4 and precede w6. */ .show-from-w5 { display: none; } } .join_url_container { display: flex; flex-direction: row; align-items: center; justify-content: space-around; } .copy_button { font-size: inherit } footer { display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; } footer p { width: 75%; margin: .5em; text-align: center; } footer nav a { display: inline-block; margin: .25em; white-space: nowrap; } label[for=toggle-show-room-ids]::after { content: " (Off)" } #toggle-show-room-ids:checked ~ footer label[for=toggle-show-room-ids]::after { content: " (On)" } /* */ :root { /*--session-classic-dark-green: #31f196;*/ /*--session-classic-dark-gray-one: #414141;*/ /*--session-classic-dark-gray-two: #2d2d2d;*/ /*--session-classic-dark-gray-three: #1b1b1b;*/ --alternate-row-color: #e8e8e8; } #tbl_communities th { background-color: lightgray; } #tbl_communities tr:nth-child(odd) { background-color: var(--alternate-row-color); } .protocol-indicator { display: inline-block; font-family: monospace; border-radius: 4px; padding: .25em .05em; width: 6ch; text-align: center; } .protocol-http { background-color:lightgray } .protocol-https { background-color:lightblue } /* */ .qr-code { display: block; margin-left: auto; margin-right: auto; width: 50%; } .qr-code-icon { cursor: pointer; } .qr-code-modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index: 1; /* Sit on top */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ padding-top: 100px; /* Location of the box */ background-color: rgb(0,0,0); /* Fallback color */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ /*overflow: auto;*/ /* Enable scroll if needed */ } .qr-code-modal-content { background-color: #ffffff; border: 1px solid #000000; width: 80%; margin: auto; padding: 20px; } .qr-code-modal-close { float: right; font-size: 35px; font-weight: bold; color: #aaaaaa; } .qr-code-modal-close:hover, .qr-code-modal-close:focus { cursor: pointer; text-decoration: none; color: #000000; } /* */ /* The snackbar - position it at the bottom and in the middle of the screen */ #copy-snackbar { visibility: hidden; /* Hidden by default. Visible on click */ background-color: #333; /* Black background color */ color: #fff; /* White text color */ text-align: center; /* Centered text */ border-radius: 2px; /* Rounded corners */ padding: 16px; position: fixed; /* Move along as viewport scrolls */ z-index: 1; /* Add a z-index if needed */ left: 50%; /* Offset the snackbar by half the viewport width */ transform: translateX(-50%); /* Push the snackbar back by half its width */ bottom: 30px; /* 30px from the bottom */ } /* Show the snackbar when clicking on a button (class added with JavaScript) */ #copy-snackbar.show { visibility: visible; /* Show the snackbar */ /* Add animation: Take 0.5 seconds to fade in and out the snackbar. However, delay the fade out process for 2.5 seconds */ -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; animation: fadein 0.5s, fadeout 0.5s 2.5s; } /* Animations to fade the snackbar in and out */ @-webkit-keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @-webkit-keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} } @keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }