body, html {
    margin: 0;
    padding: 0;
}

body {
    align-items: center;
    background-color: #f4f4f4;
    color: #111;
    font-family: serif;
    font-size: 18px;
    justify-content: center;
    line-height: 1.7;
}


@media print {
    body {
        max-width: none
    }
}

header {
    border-bottom: 3px solid #045;
    width: 100%;
}

#title {
    max-width: 720px;
    margin: 10px auto;
    display: flex;
    color: #045;
    font-size: 1.5em;
    font-weight: bold;
}

#title a {
    color: #045;
    text-decoration: none;
}

.dropdown {
    position: absolute;
    z-index: 10;
    padding-right: 0.7em;
    transform: translateX(-100%);
}

.dropdown .hamburger {
    cursor: pointer;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 450px;
    left: -10px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 100;
    max-height: 500px; 
    overflow-y: auto; 
    overflow-x: hidden;
    line-height: 1.5;
    padding: 10px;
}

.dropdown-content a {
    display: block;
    color: #034;
    font-size: 16px;
    padding-top: 10px;
    text-decoration: none;
}

.dropdown-content a.sectionToc {
    padding:0;
    font-weight: normal;
}

.content {
    margin: 40px auto;
    max-width: 720px;
    padding: 0 .62em
}

footer {
    background: #046;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 14px;
    width: 100%;
}

footer a {
    color: #fff;
}


.tableofcontents {
    line-height: 1.5
}
.tableofcontents a {
    text-decoration: none;
}
.tableofcontents span.chapterToc {
    padding-top: 0.3em; 
    display:inline-block;
}

h1,h2,h3,h4,h5 {
    line-height: 1.4
}

.titlemark {
    position: absolute;
    z-index: -1;
    padding-right: 0.7em;
    color: #788;
    transform: translateX(-100%);
}

p {
    margin-bottom: 0;
    margin-top: 0
}

div+p,p+div,p+p,p+pre,pre+p {
    margin-top: 1em
}

a {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    word-break: break-word;
    color: #048;
}

a img {
    border-left: 0;
    border-right: 0;
    border-top: 0
}

a.locallink {
    text-decoration: none;
    background: #eceeee;
}

a.locallink:hover {
    text-decoration: underline;
}

center {
    margin-bottom: 1em;
    margin-top: 1em
}

td center {
    margin-bottom: 0;
    margin-top: 0
}

span.nowrap {
    white-space: nowrap;
}

.nextchapter {
    margin: 40px 0;
    padding: 20px 0;
    border-top: 1px solid #ddd;
}

img[src$=".svg"] {
    margin: 20px 0 0px 0;
}

li.nobullet {
    list-style-type: none;
    margin-left: 0.5em;
}

span.itemlabel {
    position: absolute;
    padding-right: 10px;
    transform: translateX(-100%);
}   

div.tabular {
    text-align: center;
    padding: 10px;
}

.xydash-10 {
    font-size: 83%
}

.ec-lmr-17x-x-143 {
    font-size: 202%
}

.ec-lmr-10 {
    font-size: 83%
}

.ec-lmr-10x-x-109 {
    font-size: 90%
}

.ec-lmss-12,.ec-lmssbx-10x-x-120 {
    font-family: sans-serif
}

.ec-lmssbx-10x-x-120 {
    font-weight: 700
}

.ec-lmtt-12 {
    font-family: monospace,monospace
}

.ec-lmbx-12 {
    font-weight: 700
}

.cmmi-12,.ec-lmri-12 {
    font-style: italic
}

p.indent {
    text-indent: 0
}

@media print {
    div.crosslinks {
        visibility: hidden
    }
}

table.tabular {
    border-collapse: collapse;
    border-spacing: 0
}

.Canvas {
    position: relative
}

img.math {
    vertical-align: middle
}

div.math-display,div.par-math-display {
    text-align: center
}

.likepartHead,.partHead {
    font-size: 2em
}

.chapterHead,.likechapterHead {
    font-size: 1.7em
}

.likesectionHead,.sectionHead {
    font-size: 1.5em;
    margin-top: 1.6em;
}

.likesubsectionHead,.subsectionHead {
    font-size: 1.3em
}

.likesubsubsectionHead,.subsubsectionHead {
    font-size: 1.14em
}

li p.indent {
    text-indent: 0
}

li p:first-child {
    margin-top: 0
}

li div:last-child,li p:last-child {
    margin-bottom: .5em
}

li p:first-child {
    margin-bottom: 0
}

li p~ol:last-child,li p~ul:last-child {
    margin-bottom: .5em
}

.enumerate1 {
    list-style-type: decimal
}

.enumerate2 {
    list-style-type: lower-alpha
}

.enumerate3 {
    list-style-type: lower-roman
}

.enumerate4 {
    list-style-type: upper-alpha
}

div.newtheorem {
    margin-bottom: 2em;
    margin-top: 2em
}

div.newtheorem .head {
    font-weight: 700
}

.obeylines-h,.obeylines-v {
    white-space: nowrap
}

div.obeylines-v p {
    margin-bottom: 0;
    margin-top: 0
}

.overline {
    text-decoration: overline
}

.overline img {
    border-top: 1px solid #000
}

td.displaylines {
    white-space: nowrap
}

.centerline,td.displaylines {
    text-align: center
}

.rightline {
    text-align: right
}

pre.verbatim {
    clear: both;
    font-family: monospace,monospace;
    text-align: left
}

.fbox {
    border: .4pt solid #000;
    padding-left: 3pt;
    padding-right: 3pt;
    text-indent: 0
}

div.fbox {
    display: table
}

div.center div.fbox {
    border: .4pt solid #000;
    clear: both;
    padding-left: 3pt;
    padding-right: 3pt;
    text-align: center;
    text-indent: 0
}

div.minipage {
    display: inline-block;
    margin: 30px 60px 30px 0;
    vertical-align: top;
    text-align: center;
}

div.minipage p {
    text-align: center;
}

div.center,div.center div.center {
    margin-left: 1em;
    margin-right: 1em;
    text-align: center
}

div.center div {
    text-align: left
}

div.flushright,div.flushright div.flushright {
    text-align: right
}

div.flushleft,div.flushright div {
    text-align: left
}

.underline {
    text-decoration: underline
}

.underline img {
    border-bottom: 1px solid #000;
    margin-bottom: 1pt
}

.framebox-c,.framebox-l,.framebox-r {
    border: .4pt solid #000;
    padding-left: 3pt;
    padding-right: 3pt;
    text-indent: 0
}

.framebox-c {
    text-align: center
}

.framebox-l {
    text-align: left
}

.framebox-r {
    text-align: right
}

span.thank-mark {
    vertical-align: super
}

div.footnotes {
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
    font-size: 85%;
    font-style: italic;
    margin-right: 15%;
    margin-top: 2ex;
    padding-bottom: 1ex;
    padding-top: .5ex
}

div.footnotes p {
    margin-bottom: 0;
    margin-top: 0;
    text-indent: 0
}

code.verb {
    font-family: monospace,monospace
}

.tabbing-right {
    text-align: right
}

div.figure,div.float {
    margin-left: auto;
    margin-right: auto
}

div.figure img,div.float img {
    text-align: center
}

.marginpar,.reversemarginpar {
    float: right;
    font-size: 85%;
    margin-left: auto;
    margin-top: .5em;
    text-align: left;
    text-decoration: underline;
    width: 20%
}

.marginpar p,.reversemarginpar p {
    margin-bottom: .4em;
    margin-top: .4em
}

.reversemarginpar {
    float: left
}

td.equation {
    margin-bottom: 1em;
    margin-top: 1em
}

td.equation-label {
    text-align: center;
    width: 5%
}

td.eqnarray4 {
    white-space: normal;
    width: 5%
}

td.eqnarray2 {
    width: 5%
}

table.eqnarray,table.eqnarray-star {
    width: 100%
}

div.eqnarray {
    text-align: center
}

span.pmatrix img {
    vertical-align: middle
}

div.pmatrix {
    text-align: center
}

table.pmatrix {
    width: 100%
}

span.bar-css {
    text-decoration: overline
}

img.cdots {
    vertical-align: middle
}

div.center div.tabular,div.tabular {
    margin-bottom: .5em;
    margin-top: .5em;
    text-align: center
}

table.tabular td p {
    margin-top: 0
}

table.tabular {
    margin-left: auto;
    margin-right: auto
}

td p:first-child {
    margin-top: 0
}

td p:last-child {
    margin-bottom: 0
}

div.td00 {
    margin-left: 0;
    margin-right: 0
}

div.td01 {
    margin-left: 0;
    margin-right: 5pt
}

div.td10 {
    margin-left: 5pt;
    margin-right: 0
}

div.td11 {
    margin-left: 5pt;
    margin-right: 5pt
}

td.td00 {
    padding-left: 0;
    padding-right: 0
}

td.td01 {
    padding-left: 0;
    padding-right: 5pt
}

td.td10 {
    padding-right: 0
}

td.td10,td.td11 {
    padding-left: 5pt
}

td.td11 {
    padding-right: 5pt
}

table[rules] {
    border-left: .4pt solid #000;
    border-right: .4pt solid #000
}

.cline hr,.hline hr {
    height: 0;
    margin: 0
}

.cline td,.hline td {
    padding: 0
}

.cline hr,.hline hr {
    border: none
}

.cline hr,.hline,.hline hr {
    border-top: 1px solid #000
}

.hline+.vspace:last-child {
    display: none
}

.hline:first-child {
    border-bottom: 1px solid #000;
    border-top: none
}

div.array {
    text-align: center
}

tr.hline td hr {
    display: none
}

div.maketitle,h2.titleHead {
    text-align: center
}

div.maketitle {
    margin-bottom: 2em
}

div.author,div.date {
    text-align: center
}

div.thanks {
    font-size: 85%;
    font-style: italic;
    margin-left: 10%;
    text-align: left
}

div.dedication,div.titlepage {
    text-align: center
}

div.titlepage {
    margin-bottom: 2em
}

span.footnote-mark a sup.textsuperscript,span.footnote-mark sup.textsuperscript {
    font-size: 80%
}

.likepartToc,.likepartToc a,.partToc,.partToc a {
    font-size: 110%;
    font-weight: 700;
    line-height: 200%
}

.addchapToc a,.appendixToc,.appendixToc a,.chapterToc,.chapterToc a,.likechapterToc,.likechapterToc a {
    font-weight: 700;
    line-height: 200%
}

.likesubsubsectionHead,.subsubsectionHead {
    font-size: 1em
}

p.bibitem {
    text-indent: -2em
}

p.bibitem,p.bibitem-p {
    margin-bottom: .6em;
    margin-left: 2em;
    margin-top: .6em
}

p.bibitem-p {
    text-indent: 0
}

.likeparagraphHead,.paragraphHead {
    font-weight: 700;
    margin-top: 2em
}

.likesubparagraphHead,.subparagraphHead {
    font-weight: 700
}

.index-item,.index-subitem,.index-subsubitem {
    display: block
}

.caption td.id {
    font-weight: 700;
    white-space: nowrap
}

div.caption {
    text-align: center
}

.verse {
    margin-left: 2em;
    white-space: nowrap
}

h1.partHead {
    text-align: center
}

div.figure,figure.float {
    margin-left: auto;
    margin-right: auto
}

figure.figure {
    text-align: center
}

figcaption.caption {
    margin-left: 3em;
    margin-right: 1em;
    text-align: center;
    text-indent: -2em
}

figcaption.caption span.id {
    font-weight: 700;
    white-space: nowrap
}

img+figcaption,p+figcaption {
    margin-top: 1em
}

.equation td,.equation-star td {
    text-align: center
}

table.equation,table.equation-star {
    width: 100%
}

table.align,table.alignat,table.flalign,table.xalignat,table.xxalignat {
    margin-left: 5%;
    white-space: nowrap;
    width: 95%
}

table.align-star,table.alignat-star,table.flalign-star,table.xalignat-star {
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap
}

td.align-label {
    text-align: center;
    width: 5%
}

td.align-odd {
    padding-right: .3em;
    text-align: right
}

td.align-even {
    padding-right: .6em;
    text-align: left
}

table.multline,table.multline-star {
    width: 100%
}

td.gather {
    text-align: center
}

table.gather {
    width: 100%
}

div.gather-star {
    text-align: center
}

dl.enumerate {
    align-items: top;
    display: grid;
    grid-template-columns: 3ch 1fr;
    row-gap: 1ch
}

dd.enumerate {
    margin-left: 0
}

pre.fancyvrb {
    font-family: monospace,monospace;
    margin: 0;
    white-space: pre-wrap
}

dt.compactenum,dt.enumerate {
    clear: left;
    float: left;
    margin-left: 2em;
    margin-right: .2em
}

.rotatebox {
    display: inline-block
}

.small-caps {
    font-variant: small-caps
}

span.Xy span.Y {
    left: -.25em;
    position: relative;
    top: .35ex
}

div.verbatiminput {
    font-family: monospace,monospace;
    white-space: nowrap
}

.tcolorbox {
    margin-bottom: .5em;
    margin-top: .5em
}

.tcolorbox .lowerbox {
    margin-top: 0
}

code.lstinline,pre.listings {
    font-family: monospace,monospace
}

pre.listings {
    margin-bottom: .5em;
    margin-top: .5em;
    white-space: pre-wrap
}

.lstlisting .label {
    margin-right: .5em
}

pre.lstlisting {
    margin-bottom: .5em;
    margin-top: .5em
}

pre.lstinputlisting,pre.lstlisting {
    font-family: monospace,monospace;
    white-space: pre-wrap
}

.lstinputlisting .label {
    margin-right: .5em
}

.caption span.id {
    font-weight: 700
}

.wrapfig-ir,.wrapfig-or,.wrapfig-r,.wrapfig-ri,.wrapfig-ro {
    float: right;
    margin-left: 2em;
    margin-top: .5em;
    text-align: left
}

.wrapfig-il,.wrapfig-l,.wrapfig-li,.wrapfig-lo,.wrapfig-ol {
    float: left;
    margin-right: auto;
    margin-top: .5em;
    text-align: left
}

.wrapfig-il .caption td.content,.wrapfig-ir .caption td.content,.wrapfig-l .caption td.content,.wrapfig-li .caption td.content,.wrapfig-lo .caption td.content,.wrapfig-ol .caption td.content,.wrapfig-or .caption td.content,.wrapfig-r .caption td.content,.wrapfig-ri .caption td.content,.wrapfig-ro .caption td.content {
    white-space: normal
}

.wrapfig-il .caption,.wrapfig-ir .caption,.wrapfig-l .caption,.wrapfig-li .caption,.wrapfig-lo .caption,.wrapfig-ol .caption,.wrapfig-or .caption,.wrapfig-r .caption,.wrapfig-ri .caption,.wrapfig-ro .caption {
    width: 30%
}

dl.enumerate-enumitem {
    display: grid;
    grid-template-columns: 3ch 1fr;
    row-gap: 1ch
}

.exercise, .definition, .obs, .justabox {
    margin: 20px 0;
    box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.2);
}

.exercise>div.tcolorbox-title {
    background: #77997f;
    padding: 3px 20px;
    color: #fff;
}

.exercise>div.tcolorbox-content {
    border: 1px solid #77997f;
    padding: 0.5em 1em;
    color: #222;
}

.definition>div.tcolorbox-title {
    background: #777f99;
    padding: 3px 20px;
    color: #fff;
}

.definition>div.tcolorbox-content, .justabox>div.tcolorbox-content {
    border: 1px solid #777f99;
    padding: 0.5em 1em;
    color: #222;
}

.obs>div.tcolorbox-title {
    background: #779999;
    padding: 3px 20px;
    color: #fff;
}

.obs>div.tcolorbox-content {
    border: 1px solid #779999;
    padding: 0.5em 1em;
    color: #222;
}

.proof>div.tcolorbox-content {
    border-left: 1px solid #666;
    padding-left: 0.5em;
    color: #333;
}

.document { /* exercise solution */
    color: #333;
    margin: 30px 0;
}

dl.enumerate-enumitem {
    margin-left: 20px;
    align-items: top;
    grid-template-columns: 2ch 1fr;
    row-gap: .5ch
}

dt.enumerate-enumitem { 
    width: 2.5em;
    text-align: right;
}

.tcolorbox dl.enumerate-enumitem {
    margin-left: -8px;
    grid-template-columns: 1ch 1fr;
}
