:root { --text: #333; --table-border: rgba(16, 24, 40, .1); --bg-blue: rgb(0, 74, 157); --bg-blue-op: rgba(0, 74, 157, .35); --bg-green: rgb(0, 128, 0); --bg-green-op: rgba(0, 128, 0, .35); --bg-yellow: rgb(255, 140, 0); --bg-yellow-op: rgba(255, 140, 0, .35); --bg-red: rgb(255, 0, 0); --bg-red-op: rgba(255, 0, 0, .35); --bg-gray: rgb(112, 128, 144); --bg-gray-op: rgba(112, 128, 144, .35); } html { background: linear-gradient(-5deg, var(--bg-blue-op), transparent 10em); min-height: 100vh; overflow-y: scroll; } body { margin: 0 0 5em 0; font-family: sans-serif; font-size: .8rem; color: var(--text); min-height: 100vh; background: url(bg.jpeg) no-repeat; background-size: contain; } nav { margin: 0 auto; padding: 2em 0; line-height: 1.5rem; max-width: 1140px; border-bottom: 1px solid var(--table-border); } nav > a.nav-home { float: left; color: var(--text); line-height: 1.5em; text-decoration: none; font-size: 1.5em; font-weight: bold; } nav > a.nav-home > img { width: 1.5em; vertical-align: middle; } nav > ul { margin: 0 0 0 auto; padding: 0; width: max-content; } nav > ul > li { display: inline-block; padding: 0 1rem; } nav > ul > li.login { margin: 0 0 0 1em; padding: 0 0 0 2em; border-left: 1px solid var(--table-border); } nav li a { color: var(--bg-blue); text-transform: uppercase; text-decoration: none; font-weight: 700; } nav li.login a { color: var(--bg-red); } nav li a:hover { text-decoration: underline; } a { color: var(--bg-blue); } .breadcrumps { margin: 0 auto; max-width: 1140px; } .breadcrumps ul { margin: 2px 0; padding: .4rem 1rem; list-style: none; background: #eee; } .breadcrumps ul li { display: inline; } .breadcrumps ul li + li:before { padding: .4rem; color: gray; content: "/\00a0"; } .breadcrumps ul li a { color: var(--text); text-decoration: none; } .centered { text-align: center; } main { margin: 0 auto; max-width: 1140px; } section { margin: 3em 0; } form { margin: 1rem 0; padding: 1rem; border: 1px solid lightgray; border-radius: 3px; background: #eee; text-align: center; } form > h2 { margin: 0; } form.samplecode-input > div { padding: 0.6rem; display: inline-block; border: 1px solid lightgray; border-radius: 3px; background: white; } form.samplecode-input input { padding: 0; border: none; outline: none; text-align: left; appearance: textfield; font-size: 1.2rem; font-weight: bold; } form.samplecode-input input:focus-visible { background: lightgreen; } .login-form { width: fit-content; margin: 3em auto; padding: 2em 5em; border: 1px solid var(--table-border); border-radius: .5em; background: white; } .login-form form { width: 20em; margin: 0 auto; display: grid; grid-gap: .5em; border: none; background: none; } .login-form form * { padding: 0.5em; border: 1px solid var(--table-border); border-radius: 3px; } .login-form button { margin: 1em 0; background: var(--bg-blue); color: white; border: none; } .border { padding: 1.5em; border: 1px solid var(--table-border); border-radius: .5em; background: white; } table, .chart { border: 1px solid var(--table-border); padding: 1.5em; border-spacing: 0; border-radius: .5em; background: white; } table { min-width: 100%; font-family: sans-serif; } .border > table { padding: 0; border: none; background: transparent; } .page-control { border-radius: .5em; padding: 1em 2em; text-align: center; line-height: 1.75em; } .page-control a { padding: 0 .25em; font-size: 1.75em; color: var(--bg-gray); text-decoration: none; } .page-control a[href] { color: var(--bg-blue); } .page-control span { padding: 0 .5em; vertical-align: text-bottom; } #samples-table.max { width: 100vw; position: fixed; padding: 1rem; top: 0; left: 0; background: white; min-height: 100vh; } table.samples { max-width: 100%; overflow-x: scroll; display: block; } th, td { padding: 0.4rem .2rem; line-height: 2em; text-align: left; white-space: nowrap; vertical-align: top; } th { border-bottom: 1px solid var(--bg-gray); } td { font-family: monospace; border-bottom: 1px solid var(--bg-gray-op); } tr:last-of-type > td { border-bottom: none; } td > small { display: block; text-align: center; } td.patient-id { width: 32em; text-overflow: ellipsis; overflow: hidden; display: block; } td.bg-blue, th.bg-blue, td.bg-green, th.bg-green, td.bg-yellow, th.bg-yellow, td.bg-red, th.bg-red, td.bg-gray, th.bg-gray { width: 8em; } td.bg-blue > small, th.bg-blue > small { background: var(--bg-blue); color: white; border-radius: 0.4em; } td.bg-green > small, th.bg-green > small { background: var(--bg-green); color: white; border-radius: 0.4em; } td.bg-yellow > small, th.bg-yellow > small { background: var(--bg-yellow); color: white; border-radius: 0.4em; } td.bg-red > small, th.bg-red > small { background: var(--bg-red); color: white; border-radius: 0.4em; } td.bg-gray > small, th.bg-gray > small { background: var(--bg-gray); color: white; border-radius: 0.4em; } .bg-path { background: var(--bg-gray-op); } .bg-from { background: var(--bg-red-op); } .bg-to { background: var(--bg-green-op); } .bg-path, .bg-from, .bg-to { padding: 0.25rem 0.5rem; border-radius: 3px; font-family: monospace; } td.bg-shaded, th.bg-shaded { background: repeating-linear-gradient(140deg, white, #e5e5f5 4px, white 8px); } td.clipboard { cursor: copy; } td.clipboard.clipped { box-shadow: 0 0 1rem lightgreen inset; } .btn { margin: 4px; padding: 4px 8px; line-height: 1.2rem; vertical-align: middle; border: 0 solid transparent; border-radius: 3px; text-decoration: none; font-size: 0.8rem; font-weight: normal; cursor: pointer; } .btn:hover { filter: drop-shadow(1px 2px 2px gray); } .btn:active { filter: drop-shadow(1px 1px 2px gray); translate: 0 1px; } .btn.btn-red { background: red; color: white; } .btn.btn-red:hover, .btn.btn-red:active { background: darkred !important; } .btn.btn-blue { background: slategray; color: white; } .btn.btn-blue:hover, .btn.btn-blue:active { background: darkslategray !important; } .btn.btn-delete:before { content: '\1F5D1'; padding: .2rem; } input.inline { border: none; font-size: 1.1rem; outline: none; } input.inline:focus-visible { background: lightgreen; } .monospace { font-family: monospace; color: #333333; border-bottom: 1px dotted gray !important; } .help { padding: 1rem; border: 1px solid darkslategray; border-radius: 3px; background: slategray; color: white; } .help.error { border: 3px dashed red; background: darkorange; } .help .help-header { font-size: 1.2rem; font-weight: bold; } .chart { width: calc(100% - 2.4rem - 4px); height: 320px; display: inline-block; } .chart-50pc { width: calc(50% - 2.4rem - 4px); } .connection-display { display: grid; grid-template-columns: 10em 16em 10em; place-items: center; width: fit-content; margin: 1em 0; } .connection-display > * { text-align: center; margin: auto 0; } .connection-display .connection { display: block; width: 100%; height: 4px; background: repeating-linear-gradient(to left, white, white 2px, transparent 2px, transparent 8px, white 8px) var(--bg-red); } .connection-display .connection.available { background: var(--bg-green); } .notification { margin: 1em; padding: .5em; border-radius: 3px; text-align: center; } .notification.success { color: var(--bg-green); } .notification.error { color: var(--bg-red); }