@charset "UTF-8";
/* O'Reilly Media, 2011; version 2.4 */
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del,
dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub,
sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form,
label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent; }
/* end reset */
@page {
margin: 5px !important;
}
/* p margin */
p {
margin: 8px 0 0 0;
}
/* inlines; code and monospace in the code section below */
span.bolditalic {
font-weight: bold;
font-style: italic;
}
strong, span.bold {
font-weight: bold;
font-family: serif;
}
a.ulink, a.xref, a.email {
text-decoration: none;
color: #8e0012;
}
sup { /* bug in webkit? */
font-size: x-small;
vertical-align: super;
}
sub {
font-size: smaller;
vertical-align: sub;
}
span.lineannotation {
font-style: italic;
color: red;
font-family: "Liberation Serif", serif;
}
span.underline { text-decoration: underline; }
span.strikethrough { text-decoration: line-through; }
span.smallcaps { font-variant: small-caps; }
span.cursor { background: black; color: white; } /* for Learning GNU Emacs, 3e */
/* added for special formatting in Regular Expressions Cookbook, 1e (9780596802783.EBOOK) */
.boxedtext, .keycap {
border-style: solid;
border-width: 1px;
border-color: #000;
padding: 1px;
}
span.gray50 {
color: #7F7F7F; /* 50 % gray */
}
/* added for special formatting in Bioinformatics Programming Using Python, 1e (9781449378677.EBOOK) */
.gray-background, .reverse-video {
background: #2E2E2E;
color: white;
}
/* added for special formatting in Working with Microsoft Visual Studio 2005, 1e (9780735649958.EBOOK) */
.light-gray-background {
background: #A0A0A0;
}
/* preserve whitespace in non-pre elements */
/* Used for special formatting in Using SQLite (9781449394042.EBOOK), which needs verbatim space preserved in a
element, which cannot contain a pre */
/* See EBK-2920 */
.preserve-whitespace {
white-space: pre-wrap;
}
/* headings */
h1 {
font: bold 1.5em sans-serif;
margin-top: 20px !important;
}
h2 {
font: bold 1.3em sans-serif;
color: #8e0012;
margin-top: 20px !important;
margin-bottom: 8px !important;
}
h3 {
font: bold 1.1em sans-serif;
margin-top: 10px !important;
margin-bottom: 8px !important;
}
h4 {
font: bold 1em sans-serif;
color: #555;
margin-top: 9px !important;
margin-bottom: 0;
}
/* Appropriate heading hyphenation suppression for different ereaders */
h1, h2, h3, h4 {
-webkit-hyphens: none;
hyphens: none;
adobe-hyphenate: none;
}
/* images */
img {
max-width: 95%;
margin-left: auto;
margin-right: auto;
padding: 5px 0 !important;
}
div.figure {
margin: 10px 0 10px 0 !important;
text-align: center;
-webkit-border-radius: 5px;
border: 1px solid #000;
background-color: transparent;
padding: 0 5px !important;
page-break-inside: avoid;
}
div.figure p.title, div.informalfigure div.caption {
font-size: 90%;
text-align: center;
font-weight: normal;
font-style: italic;
font-family: "Liberation Serif", serif;
color: #000;
padding: 5px !important;
page-break-before: avoid;
page-break-after: avoid;
}
div.informalfigure {
text-align: center;
}
/* sidebars */
div.sidebar {
margin: 10px 0 10px 0 !important;
-webkit-border-radius: 5px;
border: 1px solid #000;
background-color: transparent;
font-size: 90%;
padding: 10px 8px !important;
page-break-inside: avoid; /* needs more testing?; sometimes causes odd page breaks */
}
div.sidebar p.title {
font: bold 1em sans-serif;
text-transform:uppercase;
letter-spacing: 1px;
text-align: center;
margin: 4px 0 6px 0 !important;
page-break-inside: avoid;
}
div.sidebar ol {
margin-left: 15px;
}
div.sidebar div.tip, div.sidebar div.note, div.sidebar div.warning,
div.sidebar div.caution, div.sidebar div.important {
margin: 10px 12.5% !important;
font-size: 90%;
padding: 10px 5px !important;
width: 75%;
}
div.sidebar div.tip, div.sidebar div.note {
background-color: #f1f6fc;
border: none;
}
div.sidebar div.warning, div.sidebar div.caution {
background-color: #fce5e8;
}
div.sidebar div.important {
background-color: #FBEC5D;
}
div.sidebar div.figure {
border: none;
}
/* code */
pre {
white-space: pre-wrap;
font-family: "Liberation Mono", monospace;
margin: 10px 0 10px 20px;
font-size: 10pt;
display: block;
}
code {
font-family: "Liberation Mono", monospace;
font-size: 10pt;
}
code strong em, code em strong, pre em strong, pre strong em,
strong code em code, em code strong code { /* yes, all of these variations are needed */
font-weight: bold;
font-style: italic;
font-family: "Liberation Mono BoldItal", monospace;
}
code em, em code, pre em, em.replaceable {
font-family: "Liberation Mono Ital", monospace;
font-style: italic;
}
code strong, strong code, pre strong, strong.userinput {
font-family: "Liberation Mono Bold", monospace;
font-weight: bold;
}
div.example {
margin: 10px 0 !important;
}
div.example p.title {
font-style: italic;
font-weight: normal;
margin: 10px 0 !important;
}
li pre.example {
padding: 10px 0px !important;
}
/* title and copyright page */
div.book div.titlepage h1.title {
font-size: 2em;
text-align: center;
margin-bottom: 20px !important;
}
div.book div.titlepage div.author h3 {
font-size: 1.5em;
text-align: center;
font-family: serif;
font-style: italic;
margin: 0px !important;
}
div.titlepage p.copyright { margin-top: 20px !important; }
div.legalnotice {
margin: 10px 0 !important;
font-size: 90%;
}
div.titlepage hr {
width: 50%;
}
div.editor h4 {
color: #000;
margin: 20px 0 0 0 !important;
font-weight: bold;
font-style: normal;
font-size: 1em;
font-family: serif;
}
div.editor h3 {
margin: 0;
font-family: serif;
font-size: 1em;
font-weight: normal
}
div.dedication p {
text-align: center;
font-style: italic;
font-family: serif;
}
div.dedication div.titlepage h1.title {
text-transform: uppercase;
font-size: 1em;
}
div.affiliation span.orgname, span.jobtitle {
padding-left: 30px !important;
font-size: smaller;
}
/* epigraphs, blockquotes, attributions */
div.attribution {
margin: 5px 0 0 50px !important;
}
h3.author span.orgname { display: none } /* to work around bug */
div.epigraph {
margin: 10px 0 10px 20px !important;
page-break-inside: avoid;
font-size: 90%;
}
blockquote, div.blockquote {
margin: 10px 0 10px 5px !important;
page-break-inside: avoid;
font-size: 95%;
}
blockquote p, div.blockquote p {
font-style: italic;
}
div.blockquote td, div.blockquote th, div.blockquote tr {
border: none;
background-color: transparent;
font-size: 1em;
}
div.blockquote tr:nth-of-type(even) {
background-color: transparent;
}
div.blockquote td:last-child {
padding-left: 45px !important;
}
/* footnotes */
div.footnote {
font-size: 90%;
}
/* refentries */
div.refnamediv h2, div.refnamediv h3, div.refsynopsisdiv h2 {
font-size: 1.1em;
color: #000;
margin-top: 15px !important;
margin-bottom: 0px !important;
}
div.refentry div.refsect1 h2 {
font-size: 1.1em;
color: #000;
margin-top: 15px !important;
margin-bottom: 0px !important;
}
div.refsect2 h3 {
font-size: 1em;
color: #000;
margin-top: 10px !important;
margin-bottom: 0 !important;
}
div.refnamediv p {
margin-left: 15px !important;
}
/* lists */
dt {
padding-top: 10px !important;
padding-bottom: 0 !important;
}
dd {
margin-left: 1.5em !important;
}
ol {
list-style-type: decimal;
margin-top: 8px !important;
margin-bottom: 8px !important;
margin-left: 5px !important;
padding-left: 20px !important;
}
ol ol {
list-style-type: lower-alpha;
}
ol ol ol {
list-style-type: lower-roman;
}
ul {
list-style-type: square;
margin-top: 8px !important;
margin-bottom: 8px !important;
margin-left: 5px !important;
padding-left: 20px !important;
}
ul ul {
list-style-type: none;
padding-left: 0 !important;
margin-left: 0 !important;
}
ul ul li p:before {
content: "\2014 \0020";
}
ul ul ul li p:before {
content: "";
}
ul ul ul {
list-style-type: square;
margin-left: 20px !important;
padding-left: 30px !important;
}
div.orderedlistalpha {
list-style-type: upper-alpha;
}
table.simplelist {
margin-left: 20px !important;
margin-bottom: 10px;
}
table.simplelist td {
border: none;
font-size: 90%;
}
table.simplelist tr {
border-bottom: none;
}
table.simplelist tr:nth-of-type(even) {
background-color: transparent;
}
div.calloutlist p {
margin-top: -25px !important;
}
div.calloutlist dd {
padding-left: 40px !important;
}
div.calloutlist img {
padding: 0;
}
a.co img {
padding: 0;
}
/* notes, tips, warnings */
div.tip, div.note, div.warning, div.caution, div.important {
margin: 10px 0 !important;
-webkit-border-radius: 5px;
font-size: 90%;
padding: 10px 8px 20px 8px !important;
page-break-inside: avoid;
}
div.tip, div.note {
border: 1px solid #6cafd0;
background-color: transparent;
}
div.warning, div.caution {
border: 1px solid #8e0012;
background-color: #fce5e8;
}
div.important {
background-color: #FFF68F;
border: 1px solid #615E3F;
}
div.tip h3, div.note h3, div.warning h3, div.caution h3, div.important h3 {
font: bold 90% sans-serif;
text-transform: uppercase;
letter-spacing: 1px;
text-align: center;
margin: 4px 0 6px !important;
color: #000;
}
/* tables */
div.table, table {
margin: 10px auto !important;
max-width: 95%;
border-collapse: collapse;
border-spacing: 0;
}
div.table, div.informaltable {
page-break-inside: avoid;
}
tr {
border-bottom: 1px solid #c3c3c3;
}
tr th {
border-bottom: #9d9d9d 2px solid !important;
border-top: #9d9d9d 2px solid !important;
}
tr:nth-of-type(even) {
background-color: #f1f6fc;
}
th {
font-family: sans-serif;
color: #000;
font-weight: bold;
}
td, th {
padding: 0.3em;
text-align: left;
vertical-align: baseline;
font-size: 80%;
}
div.informaltable table {
margin: 10px auto !important;
}
div.informaltable table tr {
border-bottom: none;
}
div.informaltable table tr:nth-of-type(even) {
background-color: transparent;
}
div.informaltable td, div.informaltable th {
border: #9d9d9d 1px solid;
}
div.table p.title {
font-weight: normal;
font-style: italic;
margin: 20px 0 0 0 !important;
text-align: center;
padding: 0;
}
table code {
font-size: smaller;
}
/* syntax highlighting and coloring text in general */
code.boolean, .navy {
color: rgb(0,0,128); /* navy */
}
code.character, .olive {
color: rgb(128,128,0); /* olive */
}
code.comment, .blue {
color: rgb(0,0,255); /* blue */
}
code.conditional, .limegreen {
color: rgb(50,205,50); /* limegreen */
}
code.constant, .darkorange {
color: rgb(255,140,0); /* darkorange */
}
code.debug, .darkred {
color: rgb(139,0,0); /* darkred */
}
code.define, .darkgoldenrod, .gold {
color: rgb(184,134,11); /* darkgoldenrod */
}
code.delimiter, .dimgray {
color: rgb(105,105,105); /* dimgray */
}
code.error, .red {
color: rgb(255,0,0); /* red */
}
code.exception, .salmon {
color: rgb(250,128,11); /* salmon */
}
code.float, .steelblue {
color: rgb(70,130,180); /* steelblue */
}
code.function, .green {
color: rgb(0,128,0); /* green */
}
code.identifier, .royalblue {
color: rgb(65,105,225); /* royalblue */
}
code.ignore, .gray {
color: rgb(128,128,128); /* gray */
}
code.include, .purple {
color: rgb(128,0,128); /* purple */
}
code.keyword, .sienna {
color: rgb(160,82,45); /* sienna */
}
code.label, .deeppink {
color: rgb(255,20,147); /* deeppink */
}
code.macro, .orangered {
color: rgb(255,69,0); /* orangered */
}
code.number, .brown {
color: rgb(165,42,42); /* brown */
}
code.operator, .black {
color: black; /* black */
}
code.preCondit, .teal {
color: rgb(0,128,128); /* teal */
}
code.preProc, .fuschia {
color: rgb(255,0,255); /* fuschia */
}
code.repeat, .indigo {
color: rgb(75,0,130); /* indigo */
}
code.special, .saddlebrown {
color: rgb(139,69,19); /* saddlebrown */
}
code.specialchar, .magenta {
color: rgb(255,0,255); /* magenta */
}
code.specialcomment, .seagreen {
color: rgb(46,139,87); /* seagreen */
}
code.statement, .forestgreen {
color: rgb(34,139,34); /* forestgreen */
}
code.storageclass, .plum {
color: rgb(221,160,221); /* plum */
}
code.string, .darkred {
color: rgb(139,0,0); /* darkred */
}
code.structure, .chocolate {
color: rgb(210,106,30); /* chocolate */
}
code.tag, .darkcyan {
color: rgb(0,139,139); /* darkcyan */
}
code.todo, .black {
color: black; /* black */
}
code.type, .mediumslateblue {
color: rgb(123,104,238); /* mediumslateblue */
}
code.typedef, .darkgreen {
color: rgb(0,100,0); /* darkgreen */
}
code.underlined {
text-decoration: underline; /* guess what */
}
/* Special handling for sampler TOC entry rendering */
div.blockquote_sampler_toc {
width: 95%;
margin: 5px 5px 5px 10px !important;
}
/* fonts (keep at bottom); using Liberation as a fallback for its rich set of glyphs */
@font-face {
font-family: "Liberation Serif";
font-style: normal;
font-weight: normal;
src: url(LiberationSerif.otf) format('opentype');
}
@font-face {
font-family: "Liberation Mono";
font-weight: normal;
font-style: normal;
src: url(LiberationMono.otf) format('opentype');
}
@font-face {
font-family: "Liberation Mono Bold";
font-style: normal;
font-weight: bold;
src: url(LiberationMono-Bold.otf) format('opentype');
}
@font-face {
font-family: "Liberation Mono BoldItal";
font-weight: bold;
font-style: italic;
src: url(LiberationMono-BoldItalic.otf) format('opentype');
}
@font-face {
font-family: "Liberation Mono Ital";
font-weight: normal;
font-style: italic;
src: url(LiberationMono-Italic.otf) format('opentype');
}
/* keep this body statement last */
body {
font-family: "Liberation Serif", serif;
}