html, body, div, span, p, a, em, img,
ol, li, table, tr, th, td, footer, thead, tbody, tfoot
{
    margin: 0;
    padding: 0;
    /*border: 0;*/
    
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    
    vertical-align: baseline;
}

html {
    font-size: 100.01%;
}

body {
    font-family: Georgia, serif;
    line-height: 1.45;
    background-color: #fff;

    /* fix problem on mobile orientation changes */
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
}

div.chapter {
    text-align: center;
}

h2.chapter-title {
    margin-bottom: 1em;
    margin-top: 1ex;
    padding-bottom: 0.75em;
    border-bottom: 1px solid black;
    
    font-size: 180%;
    font-style: italic;
    text-align: left;
 }

h2.chapter-title span.tag {
    display: block;
    
    margin-bottom: 1em;
    margin-right: 0.5em;
}

h3.section-title {
    margin-top: 2em;
    
    font-size: 100%;
    line-height: 1.25;
    text-align: left;
 }

h3.section-title span.tag {
    margin-right: 0.75em;
}

p {
    margin: 0 0 0.3em;
}

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

sup, sub {
    line-height: 0;
}

a {
    color: #9c0000;
    text-decoration: underline;
    white-space: nowrap;
    pointer-events: auto;
}

a.disabled {
    color: #000;
    text-decoration: none;
    pointer-events: none;
}

a.otherchapter {
    color: rgb(0,30,192);
}

a.badlink {
    color: rgb(255,0,0);
}

a sup.mark {
    font-size: 100%;
    font-weight: bold;
}

a.photos img {
    width: 1.1em;
    padding-left: 0.25em;
    
}

body:not(.mobile) a.photos img:hover {
    filter: brightness(0);
}

em {
    font-style: italic;
}

span.italic    {
    font-style: italic;
}

span.bold      {
    font-weight: bold;
}

span.smallcaps {
    font-variant: small-caps;
}

span.small {
    font-size: 90%;
}

span.v_centered {
    display: table-cell;
    height: 100%;
    vertical-align: middle;
}

span.tag {
    white-space: nowrap;  /* prevents line breaks on dashes */
}

img {
    max-width: 100%;
}

div.caption {
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}

div.figure {
    display: inline-block;
    margin: 1em auto;
    
    border-color: transparent;
    border-style: solid;
    border-bottom-width: 1px; /* needed for RefpopFigure forward references */
    
    text-align: center;
    line-height: 0;
}

div.figure.serial:not(.popup) {
    margin-right: 0.5em;
    margin-left: 0.5em;
}

div.figure div.caption {
    margin-left: auto;
    margin-right: auto;

    font-family: Arial;
    font-size: 95%;
    line-height: 1.45;
    
    width: fit-content;
    max-width: 36em;

    padding-left: 0.25em;
    padding-right: 0.25em;
}

div.figure div.caption:not(.empty) {
    text-align: left;
    text-indent: 1em;
 }

div.figure div.caption:not(.empty) span.tag {
    margin-right: 0.75em;
}

div.figure > img  {
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0.5em;
    
    text-align: center;
}

div.figure.multi > img  {
    margin-right: 7.5px;
    margin-left: 7.5px;
    
    max-width: 97%
}

div.table {
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0.5em; /* compensate for lack of margin collapse */
    margin-bottom: 0.5em;

    border-color: transparent;
    border-style: solid;
    border-bottom-width: 1px; /* needed for RefpopTable forward references */
    border-top-width: 1px;    /* needed for RefpopTable backward references */

    text-align: center;
    
    /* needed for popups */
    padding-left: 0.5em;
    padding-right: 0.5em;
}

div.table div.caption {
    font-size: 90%;
    font-weight: bold;
}

div.table div.caption span.tag {
    display: block;
}

table {
    border-spacing: 0;
    width: 100%;
}

table.framed {
    border: 1px solid black;
}

table.tabular {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    
    border-collapse: collapse;

    font-size:90%;
    line-height: normal;
}

table.ref {
    margin: 1em auto 0 auto;
    padding-left: 6%;
    
    max-width: 36em;
}

table.ref td {
    padding-bottom: 0.5em;
    padding-right: 0.5em;
    
    text-align: left;
    line-height: 1.25;
}

table.ref td.ref { /* used for literature references at top of chapter */
    padding-right: 0.5em;
   
    font-style: italic;
    text-align: right;
    
     width: 1px;
}

ol {
    margin: 0 1.5em 2em 0;
    padding-left: 3.333em;
    
    list-style-type: decimal;
}

ol li {
  margin-bottom: 1em;
}

li.footnote {
    font-size: 80%;
}

ol#footnotes {
    margin-top: 1.5em;
    border-top: 1px solid #333;
    padding-top: 0.5em;
    padding-left: 0.75em;
    
    list-style-position: inside;
    text-align: left;
}

footer {
    display: block;
    margin: 2em 0 1em 0;
    font-size: 14.4px;
    text-align: center;
}

footer a {
    white-space: normal;
}

footer span {
    white-space: nowrap;
}

hr.sep {
    margin: 1.5em 0 1.45em;
    border: none;
    
    width: 35%;
    height: 1px;
    
    background-color: #000;
    color: #000;
}

div.hidden_equation_shim {
    display: none;
}

div.curly_brace {
    display: block;
    width: 10px;
}

div.curly_brace img {
    height: 100%;
    width: 10px;
}

div.curly_brace.right {
  margin-right: 0.5em;
  float: left;
}

div.curly_brace.left {
  margin-left: 0.5em;
  float: right;
}

div.nosummary {
    margin: 0 auto 1em auto;
    text-align: center;
    max-width: 24em;
    color:darkgrey;
}

div.summary {
    margin: auto;
    border: 4px solid transparent;
    
    text-align: center;
    line-height: 0;
    
    max-width: 1024px;
    position: relative;
    
    animation-duration: 1s;
}

div.popup {
    position: fixed;
    margin: 0;

    background: #ffa;
    border: 3px solid #A0A090;

    overflow-y: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

div.revealed {
    visibility: visible;
    pointer-events: auto;
    z-index: 200;
    opacity: 1;
}

div.concealed {
    visibility: hidden;
    pointer-events: none;
    z-index: -99999;
    opacity: 0;
    top:  -99999px;
    left: -99999px;
}

div#popupsumdiv {
    color: #fff;
    background: #000 !important;
    padding: 6px 0px;
 }

div#popupsumdiv p {
    padding: 1em 0.6em 0.6em 0.6em;
}

div#popupeqdiv {
    padding: 0.65em 3px;
}

div#footnotediv {
    padding: 2px 3px 2px 7px;
}

div#popupfigdiv {
    padding: 0 3px;
}

body.mobile div.document div.table,
body.mobile div.document span.MJXp-display,
body.mobile div.document div.MathJax_Display {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

body.mobile div.document div.chapter a,
body.mobile div.popup a {
    font-size: 120%;
}


div.content div.para {
    text-align: justify;
}

div.content.left div.para {
    text-align: left;
}
