/*-----------------------------
 * FB - BASE CSS       
 *-----------------------------*/


/* Global settings and defaults */
a {
    color: #0f47dc;
    text-decoration: none;
}
code {
    font-size: 80%;
    font-weight: bold;
    color: #404040;
}
a code {
    color: #0f47dc;
}
img.heading-part { max-width: 95% }
hr {
    clear: both;
    page-break-before: avoid;
    page-break-after: avoid;
}
div {
    text-align: justify;
}

.left {
    float: none; /* Becomes "left;" with wider screens */
    width: 100%;
    max-width: 650px;
}
.full { width: 100%; }

/* Responsive layout stuff: */
/* For site mode, see media queries in site.css */
body {
    margin: 0;
}
.container {
    background: white;
    position: relative;
    width: 100%;
    padding: 2%;
    margin: 0;
    box-sizing: border-box;
}
.belowimage {
    position: relative;
}
.offset {
    margin-left: 0;
}
.normal {
    line-height: 1.3; /* Was 1.4 */
    text-align: justify;
    margin-top: 0;
} 
.side-info {
    display: none;
    border-left: thin solid #cfcfcf;
    margin-top: 0.5em;
    padding: 0 5px;
}
.clear {
    clear: both;
    padding-top: 1em;
}
.footer {
    line-height: 1.0;
    text-align: justify;
    font-family: sans-serif;
    margin-top: 0;
    padding-top: 0;
    font-size: 60%;
}

div.parts {
    margin-top: 0;
    font-size: 1.1em; }
div.chapters {
    margin-top: 0.5em;
    font-size: 0.9em;
    letter-spacing: -0.5px;
    padding-bottom: 2px;
}
div.linebelow {
    padding-bottom: 0.2em;
    border-bottom: thin solid #cfcfcf;
}
div.navitem {
    display: inline;
    margin: 0;
    white-space: nowrap;
    padding: 1px 6px;
}
div.navitem:first-child { padding-left: 3px; }
a.navitem, span.navitem {
    padding-top: 2px;
    padding-bottom: 2px;
}

/* Top-of-page stuff */
.epigraph {
    text-align: justify;
    margin-left: 5%;
    margin-right: 7%;
    margin-bottom: 0.5em;
}
.epigraph_source {
    page-break-before: avoid;
    text-align: left;
    text-indent: -0.9em;
    margin-top: 0em;
    margin-bottom: 1em;
    margin-left: 10%;
    margin-right: 3%;
}
.byline {
    page-break-before: avoid;
    text-align: left;
    text-indent: -0.9em;
    margin-top: 0em;
    margin-bottom: 1em;
    margin-left: 15%;
    margin-right: 3%;
}
.epigraph + .epigraph { margin-top: 1em; }

.prologue, .prologue-small {
    width: 90%;
    clear: both;
    text-align: justify;
    margin-top: 1.5em;
    margin-bottom: 2em;
}
.prologue-small {
    font-size: small;
    font-weight: bold;
    font-family: Arial;
}
.prologue-heading {
    width: 90%;
    clear: both;
    text-align: justify;
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 1.0em;
    margin-bottom: 0.8em;
    border-bottom: solid thin;
}


/* Headings */
h1 {
    clear: both;
    text-align: left;
    font-size: 2em;
    margin-bottom: 0em;
    page-break-inside: avoid;
    page-break-after: avoid;
}
h2 {
    clear: both;
    text-align: left;
    margin-top: 0em;
    margin-bottom: 1.0em;
    font-size: 1.5em;
    page-break-inside: avoid;
    page-break-after: avoid;
}
h3 {
    clear: both;
    text-align: left;
    margin-top: 1.7em;
    margin-bottom: 0em;
    font-size: 1.2em;
    page-break-inside: avoid;
    page-break-after: avoid;
}
h4 {
    clear: both;
    text-align: left;
    margin-top: 1.2em;
    margin-bottom: 0.2em;
    font-size: 1.1em;
    font-style: italic;
    page-break-inside: avoid;
    page-break-after: avoid;
}
h5 {
    clear: both;
    text-align: left;
    margin-top: 1.2em;
    margin-bottom: 0em;
    font-size: 1.0em;
    font-style: italic;
    page-break-inside: avoid;
    page-break-after: avoid;
}


/* Body text */
.tr_bq {
    clear: both;
    page-break-before: avoid;
    margin-left: 8%;
    margin-right: 4%;
}

p {
    margin-top: 1.0em;
    margin-bottom: 0.5em;
}
p.indent {
    text-indent: 1.5em;
    margin-top: 0.4em;
    margin-bottom: 0.2em;
}
p.no-indent {
    text-indent: 0em;
    margin-top: 0.4em;
    margin-bottom: 0.2em;
}
p.supplemental {
    clear: both;
    font-style: italic;
    margin-top: 0.1em;
    page-break-before: avoid;
}
h5 + p.supplemental {
    font-size: 90%;
}
p.hang {
    text-indent: -1.5em;
    margin-left: 1.5em;
}
h3 + p { margin-top: 0.5em; }
h4 + p { margin-top: 0.5em; }


/* !HR */
div.dashes {
    clear: both;
    font-family: Arial, Helvetica, sans-serif;
    margin-top: 0.8em;
    margin-bottom: 0.0em;
    text-align: center;
}
div.dashes-indent {
    clear: both;
    font-family: Arial, Helvetica, sans-serif;
    margin-top: 0.7em;
    margin-bottom: 0.5em;
    text-align: center;
}


/* !FI, !GI, and !DI */
.caption {
    font-size: 80%;
    text-align: center;
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 0.2em;
    page-break-before: avoid;
    page-break-inside: avoid;
}
/* New-style */
.fd-center {
    float: none;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
}
.fd-left {
    float: left;
    padding-left: 2%;
    padding-right: 5%;
}
.fd-leftn {
    float: none;
    margin-left: 2%;
}
.fd-right {
    float: right;
    padding-left: 5%;
    padding-right: 2%;
}
.fd-fullwidth {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}
.fd-fullwidth-heading {
    margin-top: 1.0em;
    margin-bottom: 1.5em;
}
.fd-partwidth {
    margin-top: 0.9em;
    margin-bottom: 0.8em;
}
.fd-partwidth-indent {
    margin-top: 0.7em;
    margin-bottom: 0.8em;
}
.fd-partwidth-heading {
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    padding-top: 0.2em;
}
.fd-partwidth-heading-indent {
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    padding-top: 0.2em;
}


/* Lists, with "*" */
div.list {
    margin-left: 2em;
    text-align: left;
    text-indent: -2em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-right: 2em;
}
div.tightlist {
    margin-top: 0em;
    margin-bottom: 0.5em;
    margin-right: 2em;
}
div.tightlist li {
    margin-top: 0em;
    margin-bottom: 0.2em;
}
ul, ol {
    text-align: justify;
}
li {
    text-align: justify;
    margin-bottom: 1.5em;
}
li > p {
    margin-top: 0em;
}
hr ~ ol {
    margin-left: 0;
    padding-left: 1.5em;
}


/* Caption quotes, between images */
/* !CQ and !CQS */
div.cquote {
    font-size: 0.8em;
    text-align: justify;
    margin-top: 1em;
    margin-left: 1.5em;
    margin-right: 4em;
    margin-bottom: 0.5em;
}
div.cquote_source {
    font-size: 0.8em;
    text-align: left;
    margin-top: 0em;
    margin-left: 5em;
    margin-right: 1em;
    margin-bottom: 3.5em;
    text-indent: -1em;
}


/* Poetry entries, !PE */
div.pe {
    font-size: 1.2em;
    line-height: 120%;
    text-align: left;
    text-indent: -1.0em;
    margin: 1em 1em 1em 1.5em;
}
span.pe {
    font-weight: bold;
    font-size: 1.4em;
}


/* !TABLE */
table {
    margin: 1.5em;
    font-size: 0.9em;
    line-height: 1.3;
}
table caption {
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
    margin: 1em 3em 0.3em 3em;
}
th {
    text-align: left;
    padding: 0.2em 0.5em;
}
td {
    text-align: left;
    text-indent: -0.5em;
    vertical-align: top;
    padding: 0.3em 0.5em 0.3em 1.0em;
}
.table-border { border: 3px solid #202020; }
.heading-border {
    border-top: 2px solid #404040;
    border-left: 2px solid #404040;
}
.heading-border:first-child { border-left-style: none; }
.cell-border {
    border-top: 1px solid #404040;
    border-left: 2px solid #404040;
}
.cell-border:first-child { border-left-style: none; }

/* Oddball paragraphs in body text */
div.sidebar {
    clear: both;
    color:#7f6000;
    text-align: justify;
    margin-top:2em;
    margin-left:3em;
    margin-bottom:2em;
    border-top-color:#C0C0C0;
    border-top-style:solid;
    border-top-width:2px;
    border-bottom-color:#C0C0C0;
    border-bottom-style:solid;
    border-bottom-width:2px;
}
div.inset {
    margin: 1em 2.3em;
    font-size:90%;
}
div.typewriter {
    margin: 1em;
    text-align: left;
    font-family: monospace;
    line-height: 1.1;
    font-size: 90%;
}
div.equation {
    margin: 2em;
    text-align: left;
    font-family: monospace;
    line-height: 1.1;
}
div.box {
    border: 2px solid #116aa9;
    padding: 0 6px 0.5em 6px;
    margin: 1em 2px;
}
div.thirdpage {
    margin-top: 3em;
    margin-right: 5em;
    margin-bottom: 4em;
}


/* Detail formatting mixins */
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.indented { margin-left: 10%; }
p.narrower {
    margin-left: 15%;
    margin-right: 15%;
}
.smallcap { font-size: 70% }
p.smallcaps { font-variant: small-caps; }
.bold { font-weight: bold; }
.fixedbold {
    font-weight: bold;
    font-family: sans-serif;
    font-size: 90%;
}
.redbold {
    color:#800000;
    font-weight:bold;
}
.greenbold {
    color:#008000;
    font-weight:bold;
}
.urltext {
    font-family: sans-serif;
    font-size: 85%;
}
sup, sub {
    font-size: 60%;
    line-height: 0;
}
sup a {
    font-weight: bold;
    font-family: sans-serif;
}

a.blacklink {
    color: black;
    text-decoration: none;
}
a.darklink {
    color: #101080;
    text-decoration: none;
}
span.redacted {
    font-size: 95%;
    color: black;
    background-color: black;
}
p.nudge {}
p.pull {}


/* Bottom-of-page stuff */
hr {
    text-align: left;
    page-break-before: avoid;
    page-break-after: avoid;
}
div.postscript {
    color: #7f6000;
    text-align: left;
    font-size: 80%;
    margin-top: 1em;
    margin-left: 1em;
    margin-right: 3em;
}

div.footnote {
    font-size: 0.8em;
    margin-right: 1em;
}
span.fn {
    bottom: 0.5em;
    font-size: 0.8em;
    font-weight: bold;
    position: relative;
}
div.fn {
    font-size: 0.8em;
    margin-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 1em;
}
a.footnote-backref {
    font-family: monospace;
    font-weight: bold;
}

a.plainlink {
    color: #0f47dc;
    text-decoration: none;
}


/* Front matter formatting */
h1.title {
    font-family: Palatino, serif;
    font-size: 250%;
    text-align: center;
    line-height: 1.1;
    margin-left: 20%;
    margin-right: 20%;
    page-break-before: avoid;
    page-break-after: avoid;
}
p.volume {
    font-family: Palatino, serif;
    font-size: 125%;
    font-style: italic;
    text-align: center;
    line-height: 1.1;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 30%;
    margin-right: 30%;
    page-break-before: avoid;
    page-break-after: avoid;
}
p.subtitle {
    font-family: Palatino, serif;
    font-size: 150%;
    font-weight: bold;
    text-indent: 0em;
    text-align: center;
    line-height: 1.1;
    margin-top: 0em;
    margin-bottom: 1em;
    margin-left: 10%;
    margin-right: 10%;
    page-break-before: avoid;
    page-break-after: avoid;
}
p.author {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 125%;
    font-weight: normal;
    text-indent: 0em;
    text-align: center;
    margin-top: 0em;
    margin-bottom: 0em;
    margin-left: 10%;
    margin-right: 10%;
}
p.moreinfo {
    font-family: Palatino, serif;
    font-size: 125%;
    text-indent: 0em;
    text-align: center;
    margin-top: 1.5em;
    margin-bottom: 0em;
    margin-left: 10%;
    margin-right: 10%;
    page-break-after: avoid;
}
p.url {
    font-family: Arial, Helvetica, sans-serif;
    color: #0f47dc;
    text-indent: 0em;
    text-align: center;
    margin-top: 0em;
    margin-bottom: 0em;
    margin-left: 10%;
    margin-right: 10%;
}
hr.centered {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    margin-left: 30%;
    margin-right: 30%;
}
p.centered {
    text-indent: 0em;
    text-align: center;
    margin-left: 10%;
    margin-right: 10%;
    page-break-before: avoid;
}
div.centered, div.xycentered {
    text-indent: 0em;
    text-align: center;
    margin-left: 10%;
    margin-right: 10%;
    page-break-before: avoid;
}
div.narrow {
    text-indent: 0em;
    text-align: justify;
    margin-left: 5%;
    margin-right: 5%;
}
div.logo {
    text-indent: 0em;
    text-align: center;
    margin-top: 1em;
    margin-left: 30%;
    margin-right: 30%;
}
img.logo {
    width: 100%;
}


/* Table of Contents formatting */
div.toc {
    margin-top: 1em;
    width: 98%;
    border: none;
}
div.toc-row {
    width: 100%;
    page-break-inside: avoid;
    clear: both;
}
p.toc {
    float: left;
    text-indent: -0.5em;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0.2em;
}
p.label-part {
    width: 70%;
    font-weight: bold;
    margin-top: 0.5em;
    margin-left: 0.5em;
    page-break-after: avoid;
}
p.label-chapter {
    width: 80%;
}
p.number-part {
    float: right;
    text-align: right;
    vertical-align: top;
    font-weight: bold;
    margin-top: 0.5em;
}
p.number-chapter {
    float: right;
    text-align: right;
    vertical-align: top;
}


/* Override mixins */
.black { color: black; }
.gold { color: #7f6000; }
.red { color: #800000; }
.green { color: #000080; }
.blue { color: #008000; }
.bold { font-weight: bold; }
.italic, .italics { font-style: italic; }
.not-italic { font-style: normal; }
.mono {
    font-family: monospace;
    font-size: 95%;
}
.larger { font-size: 1.2em; }
.smaller { font-size: 0.8em; }
.nospace-above {
    margin-top: 0;
    padding-top: 0;
}
.space-above { padding-top: 1em; }
.smallspace-above { padding-top: 0.3em; }
.nospace-below {
    margin-bottom: 0;
    padding-bottom: 0;
}
.space-below { padding-bottom: 1em; }
.smallspace-below { padding-bottom: 0.3em; }

/* API documentation stuff */
pre.literalblock {
    font-size: 80%;
    margin-left: 2em;
    line-height: 0.8;
}
div.highlight {
    font-size: 90%;
}
div.codehilite {
    font-size: 80%;
    margin-left: 2em;
}
div.functionHeader, div.functionBody, table.children, table.fieldTable {
    font-size: 90%;
}
