html {
    line-height: 1.5;
    font-family: Georgia, serif;
    font-size: 20px;
    color: #1a1a1a;
    background-color: #fdfdfd;
}

body {
    margin: 0 auto;
    max-width: 36em;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    hyphens: auto;
    word-wrap: break-word;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}

@media (max-width: 600px) {
    body {
      font-size: 0.9em;
      padding: 1em;
    }
}

@media print {
    body {
      background-color: transparent;
      color: black;
      font-size: 12pt;
    }
    p, h2, h3 {
      orphans: 3;
      widows: 3;
    }
    h2, h3, h4 {
      page-break-after: avoid;
    }
}

p {
    margin: 1em 0;
}

a {
color: #1a1a1a;
}

a:visited {
color: #1a1a1a;
}

img {
max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}

h5, h6 {
font-size: 1em;
font-style: italic;
}

h6 {
font-weight: normal;
}

ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}

li > ol, li > ul {
margin-top: 0;
}

blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}

code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}

pre {
margin: 1em 0;
overflow: auto;
}

pre code {
padding: 0;
overflow: visible;
}

.sourceCode {
background-color: transparent;
overflow: visible;
}

hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}

table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}

table caption {
margin-bottom: 0.75em;
}

tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}

th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}

td {
padding: 0.125em 0.5em 0.25em 0.5em;
}

header {
margin-bottom: 4em;
text-align: center;
}

#TOC li {
list-style: none;
}

#TOC a:not(:hover) {
text-decoration: none;
}

code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}

div.column{
    display: inline-block; 
    vertical-align: top; 
    width: 50%;
}

div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre > code.sourceCode { white-space: pre; position: relative; }

pre > code.sourceCode > span { 
    display: inline-block; 
    line-height: 1.25; 
}

pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }

code.sourceCode > span { 
    color: inherit; 
    text-decoration: inherit; 
}

div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }

@media screen {
div.sourceCode { overflow: auto; }
}

@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}

pre.numberSource code
{ 
    counter-reset: source-line 0; 
}

pre.numberSource code > span { 
    position: relative; 
    left: -4em; 
    counter-increment: source-line; 
}

pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
    position: relative; 
    left: -1em; 
    text-align: right; 
    vertical-align: baseline;
    border: none; 
    display: inline-block;
    -webkit-touch-callout: none; 
    -webkit-user-select: none;
    -khtml-user-select: none; 
    -moz-user-select: none;
    -ms-user-select: none; 
    user-select: none;
    padding: 0 4px; 
    width: 4em;
    color: #aaaaaa;
}

pre.numberSource { 
    margin-left: 3em; 
    border-left: 1px solid #aaaaaa;  
    padding-left: 4px; 
}

@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}

/* Alert */
code span.al { 
    color: #ff0000; 
    font-weight: bold; 
}

 /* Annotation */
code span.an { 
    color: #60a0b0; 
    font-weight: bold; 
    font-style: italic; 
}

code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */

 /* CommentVar */
code span.cv { color: #60a0b0; 
    font-weight: bold; 
    font-style: italic; 
}

code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */

 /* Information */
code span.in { 
    color: #60a0b0; 
    font-weight: bold; 
    font-style: italic; }

/* Keyword */
code span.kw { 
    color: #007020; 
    font-weight: bold; 
} 

code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */

 /* Warning */
code span.wa { 
    color: #60a0b0; 
    font-weight: bold; 
    font-style: italic; 
}

.display.math {
    display: block; 
    text-align: center; 
    margin: 0.5rem auto;
}