/* VARIABLES */
:root {
  /* FIXED */
  --document-margin: 24pt;
  --nav-width: 200pt;
  /* CODED */
  --header-offsetHeight: 0px;
}
[id] {scroll-margin-top: var(--header-offsetHeight);}
/* BASIC LAYOUT */
body {margin: 0;}
@media screen {.printonly {display: none;}}
@media print {.screenonly {display: none;}}
@media print {/* {background: rgba(255, 0, 0, 0.05); outline: 1px solid red;}/**/}
/* PRINT CONSIDERATIONS */
@page {margin: 0;}
/*@page { @bottom-left {
  font-family: var(--font-matrix);
  font-size: 10pt;
  font-weight: bold;
  text-align: start;
  position: relative;
  bottom: 2in;
}}
@page { @bottom-right {
  font-family: var(--font-matrix);
  font-size: 10pt;
  font-weight: bold;
  content: counter(page);
  text-align: end;
  position: relative;
  bottom: 2in;
  padding: 4pt;
  background-color: transparent;
}}*/
/* MAIN CONTENTS LAYOUT */
table.table-article {border-spacing: 0; table-layout: fixed; width: 100%;}
@media screen {
  div.div-nav-article {display: flex; flex-grow: 1;}
  div.div-article-collection {margin: 0px auto;}
  table.table-article {margin: 0px auto; max-width: 8.5in;}
  table.table-article thead td {height: 0; padding: 0;}
  table.table-article tbody td {padding: var(--document-margin);}
  table.table-article tfoot td {height: 0; padding: 0;}
}
@media print {
  table.table-article thead td {height: 30pt; padding: 0;}
  table.table-article tbody td {padding: var(--document-margin);}
  table.table-article tfoot td {height: 30pt; padding: 0;}
}
/* HEADER */
header {
  display: flex;
  flex-direction: row;
  border-top: 1.5pt solid black;
  border-bottom: 1.5pt solid black;
  background-color: white;
}
@media screen {
  header {
    width: 100%;
    position: sticky;
    top: 0;
    align-content: center;
    background-color: white;
    min-height: 36pt;
  }
  p.p-title {
    min-height: 36pt;
    align-content: center;
  }
}
@media print {
  header {
    width: 100%;
    position: fixed;
    top: 0;
    align-content: center;
    min-height: 24pt;
  }
}
/* FOOTER */
footer {
  display: flex;
  width: 100%;
  position: fixed;
  bottom: 0;
  align-content: center;
  align-items: center;
  border-top: 1.5pt solid black;
  border-bottom: 1.5pt solid black;
  background-color: white;
  min-height: 22.5pt;
}
@media screen {footer {display: none;}}
footer span {margin: 4pt;}
footer span.page-number {text-align: right; float: right;}
/* PAGE NUMBERING */
body {counter-reset: pagenumber;}
.page-number::after {
  counter-increment: pagenumber;
  content: counter(pagenumber);
}
/* COVER ARTICLE */
table.table-bg tbody {
  background-image: url('./images/hermes_1643_2048.png');
  background-size: 8.5in auto;
}
article.article-cover {
  border: 2pt solid black;
  padding: 4pt;
  margin-top: 196pt;
  background-color: #FFFFB0;
}
@media print {
  table.table-bg thead td {height: 24pt; padding: 0;}
  table.table-bg tfoot td {height: 24pt; padding: 0;}
  table.table-bg tbody {background-size: 100% auto;}
  article.article-cover {background-color: white;}
}
/* NAVIGATION BAR */
nav {
  display: none;
  float: left;
  bottom: 0;
  padding: 0;
  width: var(--nav-width);
  min-width: var(--nav-width);
}
nav .div-nav1 {
  padding-top: 8pt;
  padding-bottom: 8pt;
  position: fixed;
  width: var(--nav-width);
  overflow-y: auto;
  scrollbar-width: none;
  border-right: 1.5pt solid black;
  height: calc(100dvh - var(--header-offsetHeight) - 16pt) ;
}
nav .div-nav2 {
  padding-right: 20pt;
}
/* NAV BAR BUTTON */
div.div-navbutton {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  border-right: 1pt solid black;
}
div.div-navbutton * {
  position: absolute;
}
div.div-navbutton input[type='checkbox'] {
  width: 34px;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  margin: 0;
}
@media screen {
  body:has(#nav-checkbox:checked) nav {display: block;}
  @media (max-width: 640px) { body:has(#nav-checkbox:checked) {
    overflow: hidden;
    touch-action: none;
    height: 100vh;
    div.div-nav-article {flex-direction: column;}
    nav {display: block; width: 100svw; min-width: 100svw;}
    div.div-nav1 {scrollbar-width: auto; width: 100svw;}
    table.table-article {visibility: hidden;}
  }}
}
@media print {
  nav {display: none;}
  div.div-navbutton {display: none;}
}
/* TITLE */
div.div-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
/* PARAGRAPHS */
p {
  font-family: var(--font-mono);
  font-size: 12pt;
  margin: 0;
  padding-block-end: 12pt;
  text-align: justify;
  text-align-last: left;
}
p.compact {padding-block-end: 0;}
/* REFERENCES */
sup {font-size: 6pt;}
/* QUOTES */
blockquote {
  margin-block-start: 0;
  margin-block-end: 12pt;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 12pt;
  padding-inline-end: 24pt;
  border-inline-start: 1.5pt solid black;
}
blockquote p {
  font-family: var(--font-matrix);
  font-size: 12pt;
  padding: 0;
  margin-block-end: 12pt;
}
/* LIST ITEMS */
ul, ol, li p {
  font-family: var(--font-mono);
  font-size: 12pt;
  margin: 0;
  padding-block-end: 0;
}
ul, ol {
  margin-block-end: 12pt;
}
li p {text-align: left;}
nav ul, nav ol {font-family: var(--font-matrix);}
/* STANDARD TABLES */
table.sans {
  border: 2pt solid black;
  border-collapse: collapse;
  width: 100%;
}
table.sans tr th {
  font-family: var(--font-mono);
  font-size: 8pt;
  font-weight: bold;
  text-align: center;
  padding: 0;
  border-top: 2pt solid black;
  border-bottom: 2pt solid black;
  border-left: 1pt solid black;
  border-right: 1pt solid black;
}
table.sans tr td {
  font-family: var(--font-mono);
  font-size: 12pt;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 2pt;
  padding-right: 2pt;
  border: 1pt solid black;
}
tr.double {border-top: 4pt double black;}
/* HORIZONTAL RULES */
hr {
  width: 100%;
  border-top: 1.5pt solid black;
  margin-block-start: 8pt;
  margin-block-end: 8pt;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  break-after: avoid;
}
hr.hr-thin {
  margin-block-start: 0;
  margin-block-end: 0;
}
hr.hr-small {
  margin-block-start: 0;
  margin-block-end: 0;
  border-top: .5pt solid black;
}
/* LINKS */
a {color: black;}
/* SECTION HEADERS */
h1 {
  font-family: var(--font-matrix);
  font-size: 24pt;
  font-weight: bold;
  margin-top: 12pt;
  margin-bottom: 12pt;
  break-after: avoid;
}
h2 {
  font-family: var(--font-matrix);
  font-size: 14pt;
  font-weight: bold;
  margin: 0;
  margin-block-end: 10pt;
  break-after: avoid;
}
h3 {
  font-family: var(--font-matrix);
  font-size: 12pt;
  font-weight: bold;
  margin: 0;
  break-after: avoid;
}
/* MISC FOR SMALL SCREENS */
@media (max-width: 640px) {p, li p, blockquote p {font-size: 10pt;}}
