body {
  margin: 0;
  background: #fff;
  color: #111;
  font: 18px/1.45 Georgia, "Times New Roman", serif;
}
a { color: #102a56; }
a:hover { transition: color 0.15s linear; color: #8c1d1d; }
.topbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: baseline;
  padding: 16px 24px 8px;
  background: #fff;
  border-bottom: 1px solid #111;
}
.brand { font-weight: 700; font-size: 28px; color: #111; text-decoration: none; }
.face { margin: 0; font-size: 20px; }
.nav-bar { display: flex; flex-wrap: wrap; gap: 12px 16px; }
.nav-bar a { color: #111; }
.signature { display: flex; height: 10px; }
.signature .red { background: #b22234; flex: 1; }
.signature .white { background: #fff; flex: 1; border-top: 1px solid #111; border-bottom: 1px solid #111; }
.signature .blue { background: #3c3b6e; flex: 1; }
.shell { display: flex; align-items: flex-start; }
.sidebar {
  width: 200px;
  min-height: 50vh;
  padding: 16px;
  border-right: 1px solid #111;
  background: #fff;
}
.sidebar a { display: block; margin: 8px 0; color: #111; }
main { flex: 1; padding: 20px 28px 48px; max-width: 860px; }
.page-photo img { width: 100%; max-height: 320px; object-fit: cover; border: 1px solid #111; }
.page-photo figcaption { font-size: 14px; }
.tv video { width: 100%; background: #111; }
footer {
  padding: 16px 24px 32px;
  border-top: 1px solid #111;
  background: #fff;
}
footer a { margin-right: 16px; }
button, input, select, textarea {
  font: inherit;
  color: #111;
  background: #fff;
  border: 1px solid #111;
  padding: 6px 8px;
}
button { cursor: pointer; }
.lock { border: 2px solid #b22234; padding: 12px; }
.open { border: 2px solid #3c3b6e; padding: 12px; }
.beta { border-left: 6px solid #b22234; padding-left: 10px; }
table { border-collapse: collapse; width: 100%; }
td, th { border-bottom: 1px solid #111; text-align: left; padding: 6px; vertical-align: top; }
.fail { color: #8c1d1d; }
.pass { color: #102a56; }
