@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; }