@font-face {
   font-family: "pts"; src: url("ptsReg.otf") format("opentype");
   font-weight: normal; font-style: normal;}
@font-face {
   font-family: "pts"; src: url("ptsBold.otf") format("opentype");
   font-weight: bold; font-style: normal;}
@font-face {
   font-family: "pts"; src: url("ptsIt.otf") format("opentype");
   font-weight: normal; font-style: italic;}
@font-face {
   font-family: "pts"; src: url("ptsBoldIt.otf") format("opentype");
   font-weight: bold; font-style: italic;}

body {
   width: 17cm; max-width: 95%; margin: auto;
   font: 13pt pts; line-height: 18pt;}
.katex {font-size: 1.15em;}
p {
   -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto;
   hyphens: auto; text-indent:1.5em; margin:3pt 0pt;}
a {
   text-decoration: none; color: #00c;}
a:hover {
   text-decoration: underline; color: blue}
h1 {
   text-align: center; font-weight: bold; text-transform: uppercase;
   margin-bottom: 12pt; text-indent: 0px; font-size: 105%; color: #800;
   -webkit-hyphens: none; -moz-hyphens: none;
   -ms-hyphens: none; hyphens: none; letter-spacing: 0.5pt;}
h1 span {
   font-weight: normal; text-transform: none; letter-spacing: 2pt;}
h1 br {
   margin-bottom: 6pt;}
h2 {
   text-align: center; margin: 18pt 0px 9pt; font-size: 105%; color: #080;}
h3 {
   text-align: center; margin: 9pt 0px 6pt; font-size: 100%;
   font-style: italic; font-weight: normal; color: #080;}
li {
   margin:3pt 0px;}
ul li {
   list-style-type: "— ";}
ul.toc {
   font-size: 95%; margin-left:12pt;}
ul.toc li {
   list-style-type: none;}

.razr {
   letter-spacing: 3pt;}
img {
   display: block; margin: 12pt auto 12pt;}
figcaption {
   font-size: 90%; margin: -6pt 0px 12pt; text-align: center;}
details {
   margin-left: 1.5em; color: #800;}
summary {
   font-style: italic;}

table {
   max-width: 95%; margin: 12pt auto; border-top:0.75pt solid black;
   border-collapse: collapse; font-size: 95%;}
th, td {
   border-right:0.25pt solid black; border-bottom:0.25pt solid black;
   padding: 3pt; text-align: center;}
th:first-child, td:first-child  {
   border-left: none;}
th:last-child, td:last-child  {
   border-right: none;}
td:first-child  {
   text-align: left;}
th {
   border-bottom-width: 0.75pt; font-weight: normal; font-size: 85%;}
table.c td:first-child {
   text-align: center;}

/* Оглавление ============================================================= */
nav p {
   color: #00c; cursor: pointer; margin: 3pt 0px 3pt 3em;
   text-indent: -3em;}
nav p:hover {
   text-decoration: underline; color: blue;}
nav span {
   display: inline-block; width: 2.5em; text-align: right;}

/* Хидер ================================================================== */
header {
   position:absolute; top: 0px; left: 0px; width: 100%; text-align: center;
   padding: 6pt 0px; color: #fc6; background: #041961; font-size: 110%;
   font-weight: bold; z-index: 9999998;}

/* Основной контент ======================================================= */
article {
   margin: 120px 0px; counter-reset: sectNum zNum chapterNum;}
article strong::after {
   counter-increment: sectNum; content: counter(sectNum) '.';
   margin-right: 5px;}
article em {
   font-weight: bold; font-style: normal;
   background: #eee; padding:2px; margin-right: 5px;}
article em::after {
   counter-increment: zNum; content: counter(chapterNum) '.' counter(zNum);}
output { /* текст в рамочке */
   display: block; width: 90%; margin: 12pt auto; border: 2px solid #800;
   border-radius: 3pt; padding: 6pt; font-style: italic;
   text-indent: 0px;}
output.c {
   text-align: center;}

/* Окно с примечаниeм ===================================================== */
aside {display: none; background: #eef; border: 1px solid #00c;
   position: fixed; bottom: 60px; text-align: center; padding: 3pt;
   width: 17cm; max-width: 90%; margin: auto; border-radius: 3pt;}
aside p {
   text-align: right; color: red; cursor: pointer; padding-right: 6pt;}
sup.note {
   color: #00c; cursor: pointer; font-size: 120%;}
sup.note:hover {
   color: blue; text-decoration: underline;}

/* Футер ================================================================== */
footer {
   position: fixed; bottom: 0px; left: 0px; text-align: center;
   padding: 6pt 0px; width: 100%; background: white; z-index: 9999999;}
footer img {
   display: inline; width:30px; margin: 0px 12pt; cursor: pointer;}

@media (max-width: 17cm) {img {max-width: 95%;}}
