@font-face {
  font-family: Crimson;
  src: url("crimson-roman.293c0a3f.woff") format("woff");
}

@font-face {
  font-family: Crimson;
  src: url("crimson-italic.27645225.woff") format("woff");
  font-style: italic;
}

@font-face {
  font-family: Crimson;
  src: url("crimson-semibold.4f135597.woff") format("woff");
  font-weight: 600;
}

@font-face {
  font-family: Crimson;
  src: url("crimson-semibolditalic.caa5fec1.woff") format("woff");
  font-style: italic;
  font-weight: 600;
}

@font-face {
  font-family: Crimson;
  src: url("crimson-bold.13fbece7.woff") format("woff");
  font-weight: bold;
}

@font-face {
  font-family: Crimson;
  src: url("crimson-bolditalic.e0ebf8de.woff") format("woff");
  font-style: italic;
  font-weight: bold;
}

:root {
  --serif: "Crimson", Georgia, serif;
  --mono: "Source Code Pro", Menlo, Consolas, Monaco, monospace;
  --nav: "Source Sans Pro", sans-serif;
  --header-image: url("tmp-header.72de192d.jpg");
  --book-image: url("tmp-print-image.c6dc76da.jpg");
  --sans: "Source Sans Pro", sans-serif;
}

*, :before, :after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

.main {
  flex-direction: row;
  min-height: 100vh;
  display: flex;
}

.main .left-menu {
  color: #333;
  background: #f2f2f2;
  flex: 1;
  min-width: 336px;
  max-width: 336px;
  font: 300 15px / 24px Source Sans Pro, Arial, sans-serif;
}

.main .content {
  background: #fff;
  flex: 3;
  padding: 16px 60px;
}

.main .content h2 {
  font-family: 300 15px / 24px "Source Sans Pro", Arial, sans-serif;
}

.main .content .home-cols {
  flex-direction: row;
  max-width: 912px;
  margin-bottom: 60px;
  padding-top: 83px;
  display: flex;
}

.main .content .home-cols .home-col {
  flex: 1;
  width: 50%;
}

.main .content .home-cols .home-col.col-left {
  padding-right: 30px;
}

.main .content .home-cols .home-col.col-right {
  padding-left: 30px;
}

.main .content .home-cols .home-col h2 {
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
  font: 600 18px / 24px Source Sans Pro, sans-serif;
}

.main .content .home-cols .home-col ul {
  margin: 0 0 0 16px;
  padding: 0;
  list-style: none;
  display: block;
}

.main .content .home-cols .home-col ul li {
  display: block;
}

.main .page {
  background: #fff;
  flex: 3;
  padding: 16px 16px 16px 60px;
}

.main .page h1 {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: var(--sans);
  padding: 74px 0 20px;
}

.author-block, .author-block-main {
  border-radius: 3px;
  flex-direction: row;
  max-width: 912px;
  margin-bottom: 30px;
  padding: 12px;
  display: flex;
}

.author-block img, .author-block-main img {
  border: 8px solid #ccc;
}

.author-block:first-child, .author-block-main:first-child {
  flex: 1;
  margin-right: 32px;
}

.author-block:last-child, .author-block-main:last-child {
  flex: 3;
}

.author-block p, .author-block-main p {
  font-family: var(--serif);
}

.auth-block-main {
  background: #f2f2f2;
}

@media screen and (width <= 600px) {
  .left-menu {
    display: none;
  }

  .content {
    padding: 16px !important;
  }

  .page {
    flex: 1;
    padding: 8px !important;
  }

  article.chapter {
    width: auto !important;
  }
}

.sect1 {
  margin-top: 2.2rem;
}

ul[role="list"], ol[role="list"] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizespeed;
  background: #004239;
  min-height: 100vh;
  font-family: Helvetica, Arial, san-serif;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

a:hover {
  color: #1481b8;
  border-bottom: 1px solid #dee9ed;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

body.index {
  text-rendering: optimizespeed;
  background: #29313d;
  min-height: 100vh;
  font-family: Helvetica, Arial, san-serif;
  line-height: 1.5;
}

ul li p, ol li p {
  margin: 7px 0 !important;
}

.main-container {
  background: #fff;
  width: 980px;
  min-height: 30px;
  margin: 0 auto;
  display: block;
}

.head-container {
  background: #29313d;
  height: 468px;
  display: block;
  position: relative;
}

.head-inner {
  background-color: #f2f2f2;
  background-image: var(--header-image);
  background-position: center;
  background-size: cover;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  margin: 16px 0;
  position: absolute;
  inset: 0;
}

.head-inner h1 {
  font-size: 64px;
  font-family: var(--nav);
  color: #f2f2f2;
  text-transform: uppercase;
  margin-top: 150px;
  margin-left: 48px;
  line-height: 68px;
  display: block;
}

.head-inner h3 {
  font-size: 32px;
  font-family: var(--nav);
  color: #d8d6d4;
  display: block;
  position: absolute;
  bottom: 24px;
  left: 48px;
}

section.book {
  background-color: #f2f2f2;
  background-image: var(--book-image);
  background-position: center;
  background-size: cover;
  border-radius: 3px;
  justify-content: end;
  margin: 16px;
  padding: 12px;
  display: flex;
}

section.align-left {
  justify-content: start !important;
}

section.book .book-right {
  width: 45%;
  display: block;
}

.book-right p {
  font-family: var(--serif);
  padding-bottom: 16px;
}

.book-right .btn-row {
  flex-direction: row;
  margin-bottom: 8px;
  display: flex;
}

.book-right .btn-row button {
  color: #f2f2f2;
  white-space: nowrap;
  background: #4b6781;
  border: none;
  border-radius: 3px;
  flex: 1;
  margin-right: 4px;
  padding: 3px 6px;
  font-size: 14px;
}

section.menu {
  background: #f2f2f2;
  border-radius: 3px;
  margin: 16px;
  padding: 12px;
  display: block;
}

section h2, section h3 {
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 16px;
  font: 600 16px / 24px Source Sans Pro, sans-serif;
  display: block;
}

section a {
  border: none;
  text-decoration: none;
  transition: none;
}

section a:hover {
  border: none;
  text-decoration: underline;
}

.three-col {
  flex-direction: row;
  display: flex;
}

.three-col .col {
  flex: 1;
  width: 33.3%;
}

.three-col .col a, section.menu > a {
  display: block;
}

nav {
  color: #4b6781;
  background: #004239;
}

nav.wide {
  width: 336px;
  height: 100%;
  position: fixed;
}

.page p {
  color: #222;
  margin: 24px 0;
  font: 16px / 24px crimson, georgia, serif;
}

article.chapter {
  color: #222;
  width: 576px;
  font: 16px / 24px crimson, georgia, serif;
  position: relative;
}

article footer {
  color: #7aa0b8;
  text-align: center;
  border-top: 1px solid #dee9ed;
  margin: 48px 0;
  padding-top: 48px;
  font: 400 15px Source Sans Pro, sans-serif;
  position: relative;
}

a {
  color: #1481b8;
  text-decoration: none;
  transition: color .2s, border-color .4s;
}

article a {
  color: #1481b8;
  text-decoration: underline;
  transition: color .2s, border-color .4s;
}

article.chapter h3, .home-cols h3 {
  margin: 71px 0 0;
  padding-bottom: 1px;
  font: italic 24px / 24px Crimson, Georgia, serif;
}

article.chapter h4, .home-cols h4 {
  border-bottom: 1px solid #ccc;
  margin: 32px 0 0;
  padding-bottom: 6px;
  font: italic 16px / 18px Crimson, Georgia, serif;
}

.aside-outer {
  display: block;
  position: relative;
}

aside {
  border-top: 1px solid #dee9ed;
  width: 288px;
  position: absolute;
  right: -336px;
}

aside p {
  font: 14px / 20px Crimson, Georgia, serif !important;
}

aside p:last-child {
  margin: 20px 0;
}

aside p:first-child {
  margin-top: 4px;
}

.contents {
  margin: 24px 48px;
}

.contents h3 {
  color: #000;
  margin-bottom: 16px;
}

.contents h3 a {
  color: #000;
}

.contents ul {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
}

.contents ul li:first-child {
  margin-top: 16px;
}

.contents ul li:last-child {
  margin-bottom: 16px;
}

.contents ul li a {
  color: #333;
}

.contents ul li a:hover {
  color: #fff;
}

.contents h3 a {
  color: #000;
  border-bottom: none;
  text-decoration: none;
}

nav.wide ul {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  margin: 6px 0 3px;
  padding: 6px 0 4px;
  list-style-type: none;
}

nav.wide ul li a, .contents ul li a:hover {
  color: #000;
  border-bottom: none;
  text-decoration: none;
}

.contents ul li small {
  float: right;
  color: #4b6781;
  font-size: 14px;
}

.contents ul li.divider {
  border-top: 1px solid #3b4b5e;
  margin: 5px 0 7px;
}

.contents ul li.end-part {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
  font-weight: 400;
}

code {
  background: #f2f2f2;
  padding: 0 3px;
  font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
}

pre {
  white-space: pre-wrap;
  background: #f2f2f2;
  border-radius: 3px;
  padding: 12px;
  font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
}

article ol, article ul {
  margin: 24px 0;
  padding: 0 0 0 24px;
}

.admonitionblock {
  border: 1px solid #0000001a;
}

.admonitionblock table {
  border-collapse: collapse;
  border: none;
}

.admonitionblock table td.icon {
  border-right: 1px solid #0000001a;
  padding: 0 6px;
}

.admonitionblock table td.content {
  text-align: left;
  padding: 16px;
  font-size: 14px;
}

.brand {
  color: #333;
  border: none;
  padding: 55px 48px 23px;
  font-size: 64px;
  font-weight: bold;
  line-height: 100%;
  transition: none;
  display: block;
}

.brand:hover {
  border: none;
  text-decoration: none !important;
}

.author p {
  font-family: normal 16px / 24px "crimson", Georgia, serif;
  padding: 0 0 16px;
}

table.widetable {
  border-collapse: collapse;
  width: 912px;
  max-width: none;
  margin-top: 24px;
  margin-bottom: 24px;
}

table.widetable thead tr th {
  text-align: left;
  border-bottom: 1px solid #0000001a;
  border-right: 1px solid #0000001a;
  padding: 4px 6px;
  font-size: 12px;
}

table.widetable thead tr th:last-child, table.tableblock thead tr th:last-child {
  border-right: none;
}

table.widetable tbody tr td, table.tableblock tbody tr td {
  border-bottom: 1px solid #0000001a;
}

table.widetable p, table.tableblock p {
  margin: 0;
  padding: 4px 6px;
  font-size: 14px;
}

.imageblock {
  width: 912px;
  max-width: none;
  margin-top: 24px;
  margin-bottom: 24px;
}

aside .paragraph p code {
  background: #f2f2f2;
  border: none;
  padding: 0 2px;
  font-weight: normal;
}

.paragraph p code, h1 code, h2 code, h3 code, p.tableblock code {
  background: #fff;
  padding: 2px 3px;
}

.home-col > ol > li {
  margin-bottom: 5px;
}

.hom-col > ol > li:marker {
  color: #4b6781;
}

.listingblock .title {
  color: #3b4b5e;
  font-style: italic;
}

.listingblock .content {
  padding: 0;
  margin: 0 !important;
}

.listingblock .content pre {
  padding: 6px;
  font-size: .8rem;
  margin-top: 0 !important;
}

/*# sourceMappingURL=style.css.map */
