body {
  color: #446;
  font-family: 'Roboto', sans-serif;
  font-size: 0.75rem; }

.invert, .page-index h2, h1 {
  background-color: #095eae;
  color: #fff; }

a, .link, .obscured > .obscured-toggle {
  color: #095eae;
  text-decoration: none; }
  a:visited, .link:visited, .obscured > .obscured-toggle:visited {
    color: #3109ae; }
  a:hover, a:focus, .link:hover, .obscured > .obscured-toggle:hover, .link:focus, .obscured > .obscured-toggle:focus {
    text-decoration: underline; }

h1 {
  font-size: 2em;
  line-height: 3rem;
  margin: 0 -9px;
  padding: 0 9px; }

h2 {
  border-bottom: 1px dashed #ccc;
  font-size: 1.5em; }

h3 {
  font-size: 1.3em; }

h4 {
  font-size: 1.1em;
  font-style: italic; }

ul, ol {
  padding-left: 16px; }

.root {
  background: #fff;
  border-radius: 2px;
  margin: 0 auto;
  max-width: 50rem; }
  @media not all and (max-width: 40em) {
    .root {
      display: flex; } }
  @media (max-width: 40em) {
    .root {
      width: 100%; } }
.sidebar {
  border-right: 1px dashed #ccc;
  flex-shrink: 0;
  padding-right: 8px;
  padding-top: calc(3rem + 8px);
  text-align: right;
  width: 9.375rem; }
  .sidebar > h2 {
    margin: 0 0 8px 0; }
  .sidebar > ul {
    list-style: none;
    margin: 0; }
    .sidebar > ul > li {
      padding: 4px 0; }

.content {
  padding: 0 8px; }

@media (max-width: 40em) {
  .sidebar {
    padding: 0 4px;
    text-align: left;
    width: 100%; }
    .sidebar > h2 {
      border: 0;
      display: inline;
      font-size: 1em;
      margin: 0;
      margin-right: 8px; }
      .sidebar > h2:after {
        content: ':';
        display: inline; }
    .sidebar > ul {
      display: inline;
      padding-left: 0; }
      .sidebar > ul > li {
        display: inline-block;
        padding-left: 0;
        padding-right: 8px; } }

table {
  border: 1px solid #ccc;
  border-radius: 2px;
  margin: 0 auto;
  max-width: 100%;
  table-layout: fixed; }

td, th {
  padding: 4px; }

th {
  background-color: #095eae;
  color: #fff; }

.char-mid {
  vertical-align: middle; }

strike {
  color: red; }

.strike {
  text-decoration: line-through; }

.nowrap {
  white-space: nowrap; }

.inline {
  display: inline; }

.highlight {
  color: #660066; }

.obscured {
  border: 1px dashed #ccc; }
  .obscured > .obscured-toggle {
    display: table;
    margin: 4px;
    margin-right: auto; }
  .obscured > .obscured-content {
    background-color: #efe;
    padding: 8px; }

.pattern-table {
  vertical-align: middle; }
  .pattern-table .noborder {
    border: none; }
  .pattern-table td, .pattern-table th {
    border: 1px solid #ccc; }

.minimal {
  border: solid black;
  border-width: 1px 0; }
  .minimal td, .minimal th {
    border: none; }

.page-index {
  border: none;
  border-collapse: separate;
  border-spacing: 8px; }
  .page-index td {
    border-radius: 2px;
    padding: 8px; }
  .page-index h2 {
    font-size: 1em;
    border: 0;
    margin: -8px;
    margin-bottom: 0;
    padding: 4px 8px;
    text-align: center; }
  .page-index td, .page-index th {
    border: 1px solid #ccc; }
