/*
  Line / border accent color for the homepage layout.
  Change --line-color to any CSS color (hex, rgb, named, etc.).
*/
:root {
	--line-color: #3b82f6;
	--panel-bg: rgba(18, 32, 64, 0.85);
}

/* Header vertical connectors */
#header > *:before {
	background: var(--line-color);
}

#header .logo {
	border-color: var(--line-color);
}

#header .logo .icon.fa-eye {
	color: red;
}

#header .content {
	border-color: var(--line-color);
}

#header nav ul {
	border-color: var(--line-color);
}

#header nav ul li {
	border-left-color: var(--line-color);
}

#header nav.use-middle:after {
	background: var(--line-color);
}

body {
	background-color: black;
}

.botcheck-label,
input.botcheck {
	display: none;
}

#footer .last-updated {
	letter-spacing: 0.2rem;
	font-size: 0.6rem;
	opacity: 0.75;
	margin-top: 0.5rem;
	text-transform: uppercase;
}

.image.main video {
	width: 100%;
	display: block;
	background: #0a0a0a;
}

video.lazy-video:not([data-loaded="1"]) {
	cursor: pointer;
}

iframe.video-embed {
	width: 100%;
	height: 315px;
	border: 0;
}

#header h1 a,
#header .logo a {
	color: inherit;
	text-decoration: none;
	border-bottom: none;
}

#header h1 a:hover,
#header .logo a:hover {
	border-bottom-color: transparent;
	opacity: 0.85;
}

.medalert-visit-wrap {
	text-align: center;
	margin: 0 0 1.5rem;
}

.board-screenshots .image.main {
	margin: 1.25rem 0;
}

.board-screenshots img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.cam-live-wrap {
	text-align: center;
	margin: 0 0 1.5rem;
}

.cam-live-frame {
	display: block;
	max-width: 100%;
	overflow: hidden;
}

a.cam-live-frame {
	cursor: pointer;
}

img.cam-live {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	min-height: 240px;
	object-fit: contain;
	background: #111;
	margin: 0 auto;
}

body.cam-modal-open {
	overflow: hidden;
}

.cam-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.cam-modal[hidden] {
	display: none;
}

.cam-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.82);
}

.cam-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(960px, 100%);
	max-height: calc(100vh - 3rem);
	overflow: auto;
	padding: 1.5rem 1.5rem 1.25rem;
	border: 1px solid var(--line-color);
	border-radius: 6px;
	background: var(--panel-bg);
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.45);
}

.cam-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.75;
	padding: 0;
}

.cam-modal__close:hover,
.cam-modal__close:focus {
	opacity: 1;
}

.cam-modal__title {
	margin: 0 2rem 0.75rem 0;
	font-size: 1.1rem;
	letter-spacing: 0.15rem;
	text-transform: uppercase;
}

.cam-modal__desc {
	margin: 0 0 1rem;
	opacity: 0.85;
	font-size: 0.9rem;
	line-height: 1.5;
}

.cam-modal__actions {
	margin: 1rem 0 0;
	text-align: center;
}

.cam-modal__viewport {
	position: relative;
	min-height: 240px;
	background: #111;
	border-radius: 4px;
}

.cam-modal__status {
	margin: 0;
	padding: 3rem 1.5rem;
	text-align: center;
	opacity: 0.85;
}

.cam-modal__status[hidden],
.cam-modal__stream[hidden] {
	display: none;
}

.cam-modal__stream {
	display: block;
	width: 100%;
	max-height: min(70vh, 540px);
	object-fit: contain;
	background: #111;
	border-radius: 4px;
}

.cam-login-form {
	max-width: 24rem;
	margin: 0 auto 1.5rem;
}

.cam-login-error {
	color: #f87171;
	margin: 0 0 1rem;
	text-align: center;
}

.cam-gated[hidden],
.cam-login[hidden] {
	display: none;
}

.cam-live-wrap .button {
	margin: 0 0.5rem 0.5rem 0;
}

#about .about-headshot {
	max-width: 15rem;
	margin: 0 auto 1.25rem;
}

#about .about-headshot img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
}

#about h4 {
	margin: 1.25rem 0 0.35rem;
	font-size: 0.95rem;
	letter-spacing: 0.08rem;
	text-transform: uppercase;
}

#about h4 + p em {
	opacity: 0.8;
	font-style: normal;
	font-size: 0.85rem;
}

.resume-download {
	margin: 0 0 1.5rem;
}

.patent-note {
	margin: 0.75rem 0 1.5rem;
	opacity: 0.75;
}

#main article {
	background-color: var(--panel-bg);
}
