@charset "UTF-8"; /* O'Reilly Media, 2019 */ /* 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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; } /* end reset */ @page { margin: 5px !important; } p { margin: 10px 0 0; line-height: 125%; text-align: left; } /* author byline */ p.byline { text-align: left; margin: -33px auto 35px; font-style: italic; font-weight: bold; } /* author byline at end of preface */ div.preface p + p.byline { margin: 1em 0 0 !important; } div.preface p.byline + p.byline { margin: 0 !important; } /* author bylines after A-Head */ div.sect1 > p.byline { margin: -0.25em 0 1em; } div.sect1 > p.byline + p.byline { margin-top: -1em; } /* ----------------- inlines; code and monospace in the code section below ----------------- */ em { font-style: italic; font-family: inherit; } em strong, strong em { font-weight: bold; font-style: italic; font-family: inherit; } strong, span.bold { font-weight: bold; } em.replaceable { font-style: italic; } strong.userinput { font-weight: bold; font-style: normal; } span.bolditalic { font-weight: bold; font-style: italic; } a.ulink, a.xref, a.email, a.link, a { text-decoration: none; color: #8e0012; } span.lineannotation { font-style: italic; color: #a62a2a; font-family: serif; } span.underline { text-decoration: underline; } span.strikethrough { text-decoration: line-through; } span.smallcaps { font-variant: small-caps; } span.cursor { background: #000; color: #ffffff; } /* for Learning GNU Emacs, 3e */ span.smaller { font-size: 75%; } /* 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 */ } /* ----------------- headings ----------------- */ /* shared heading styles */ h1, div.toc-title, h2, h3, h4, h5 { -webkit-hyphens: none; hyphens: none; adobe-hyphenate: none; font-weight: bold; text-align: left; page-break-after: avoid !important; font-family: sans-serif, "DejaVuSans"; } div.toc-title { font-size: 1.5em; margin-top: 20px !important; margin-bottom: 30px !important; } section[data-type="sect1"] h1 { font-size: 1.3em; color: #8e0012; margin: 40px 0 8px 0; } section[data-type="sect2"] h2 { font-size: 1.1em; margin: 30px 0 8px 0 !important; } section[data-type="sect3"] h3 { font-size: 1em; color: #555; margin: 20px 0px 8px 0px !important; } section[data-type="sect4"] h4 { font-size: 1em; font-weight: normal; font-style: italic; margin: 15px 0px 6px 0px !important; } section[data-type="chapter"] > div > h1, section[data-type="preface"] > div > h1, section[data-type="appendix"] > div > h1, section[data-type="glossary"] > div > h1, section[data-type="bibliography"] > div > h1, section[data-type="index"] > div > h1 { /* larger chapter title */ font-size: 2em; line-height: 1; margin-bottom: 50px; color: #000; padding-bottom: 10px; border-bottom: 1px solid #000; } span.label, span.keep-together { font-size: inherit; font-weight: inherit; } /* ----------------- parts ----------------- */ div[data-type="part"] h1 { font-size: 2em; text-align: center; margin-top: 0px !important; margin-bottom: 50px; padding: 50px 0 10px 0; border-bottom: 1px solid #000; } /* ----------------- images ----------------- */ /* Use this class to set width to 90% */ img.width-ninety { width: 90% } img { max-width: 95%; margin: 0 auto; padding: 0; } div.figure { background-color: transparent; text-align: center !important; margin: 15px auto !important; page-break-inside: avoid; } figure { margin: 15px auto !important; page-break-inside: avoid; } div.figure h6, figure h6, figure figcaption { font-size: 0.9rem !important; text-align: center; font-weight: normal !important; font-style: italic; font-family: serif !important; text-transform: none !important; letter-spacing: normal !important; color: #000; padding-top: 0.25em !important; margin-top: 0 !important; page-break-before: avoid; } div.informalfigure { text-align: center !important; padding: 5px 0 !important; } /* ----------------- sidebars ----------------- */ div.sidebar { margin: 15px 0px 10px 0px !important; border: 1px solid #DCDCDC; background-color: #F7F7F7; padding: 15px !important; page-break-inside: avoid; } aside[data-type="sidebar"] { margin: 15px 0px 10px 0px !important; page-break-inside: avoid; } div.sidebar-title, aside[data-type="sidebar"] h5 { font-weight: bold; font-size: 1em; font-family: sans-serif; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin: 4px 0 6px 0 !important; page-break-inside: avoid; } div.sidebar ol, div.sidebar ul, aside[data-type="sidebar"] ol, aside[data-type="sidebar"] ul { margin-left: 1.25em !important; } div.sidebar div.figure p.title, aside[data-type="sidebar"] figcaption, div.sidebar div.informalfigure div.caption { font-size: 90%; text-align: center; font-weight: normal; font-style: italic; font-family: serif !important; color: #000; padding: 5px !important; page-break-before: avoid; page-break-after: avoid; } div.sidebar div.tip, div.sidebar div[data-type="tip"], div.sidebar div.note, div.sidebar div[data-type="note"], div.sidebar div.warning, div.sidebar div[data-type="warning"], div.sidebar div[data-type="caution"], div.sidebar div[data-type="important"] { margin: 20px auto 20px auto !important; font-size: 90%; width: 85%; } /* author bylines in sidebars */ aside[data-type="sidebar"] p.byline { font-size: 90%; font-weight: bold; font-style: italic; text-align: center; text-indent: 0; margin: 5px auto 6px; page-break-after: avoid; } /* ----------------- code ----------------- */ pre { white-space: pre-wrap; font-family: "Ubuntu Mono", monospace; margin: 25px 0 25px 20px; font-size: 85%; display: block; -webkit-hyphens: none; hyphens: none; adobe-hyphenate: none; overflow-wrap: break-word; } div.note pre.programlisting, div.tip pre.programlisting, div.warning pre.programlisting, div.caution pre.programlisting, div.important pre.programlisting { margin-bottom: 0; } code { font-family: "Ubuntu Mono", monospace; -webkit-hyphens: none; hyphens: none; adobe-hyphenate: none; overflow-wrap: break-word; } code strong em, code em strong, pre em strong, pre strong em, strong code em code, em code strong code, span.bolditalic code { /* yes, all of these variations are needed */ font-weight: bold; font-style: italic; font-family: "Ubuntu Mono BoldItal", monospace; } code em, em code, pre em, em.replaceable { font-family: "Ubuntu Mono Ital", monospace; font-style: italic; } code strong, strong code, pre strong, strong.userinput { font-family: "Ubuntu Mono Bold", monospace; font-weight: bold; } div[data-type="example"] { margin: 10px 0 15px 0 !important; } div[data-type="example"] h1, div[data-type="example"] h2, div[data-type="example"] h3, div[data-type="example"] h4, div[data-type="example"] h5, div[data-type="example"] h6 { font-style: italic; font-weight: normal; text-align: left !important; text-transform: none !important; font-family: serif !important; margin: 10px 0 5px 0 !important; border-bottom: 1px solid #000; } li pre.example { padding: 10px 0 !important; } div[data-type="example"] pre[data-type="programlisting"], div[data-type="example"] pre[data-type="screen"] { margin: 0; } /* ----------------- title and copyright page ----------------- */ section[data-type="titlepage"] > div > h1 { font-size: 2em; margin: 50px 0 10px 0 !important; line-height: 1; text-align: center; } /* Styling for subtitle */ section[data-type="titlepage"] h2, section[data-type="titlepage"] p.subtitle, section[data-type="titlepage"] p[data-type="subtitle"] { font-size: 1.3em; font-weight: normal; text-align: center; margin-top: 0.5em; color: #555; } section[data-type="titlepage"] > div > h2[data-type="author"], section[data-type="titlepage"] p.author { font-size: 1.3em; font-family: serif !important; font-weight: bold; margin: 50px 0 !important; text-align: center; } section[data-type="titlepage"] p.edition { text-align: center; text-transform: uppercase; margin-top: 2em; } section[data-type="titlepage"] { text-align: center; } section[data-type="titlepage"]:after { content: url('css_assets/titlepage_footer_ebook.png'); margin: 0 auto; max-width: 80%; } div.book div.titlepage div.publishername { margin-top: 60%; margin-bottom: 20px; text-align: center; font-size: 1.25em; } div.book div.titlepage div.locations p { margin: 0; text-align: center; } div.book div.titlepage div.locations p.cities { font-size: 80%; text-align: center; margin-top: 5px; } section.preface[title="Dedication"] > div.titlepage h2.title { text-align: center; text-transform: uppercase; font-size: 1.5em; margin-top: 50px; margin-bottom: 50px; } ul.stafflist { margin: 15px 0 15px 20px !important; } ul.stafflist li { list-style-type: none; padding: 5px 0; } ul.printings li { list-style-type: none; } section.preface[title="Dedication"] p { font-style: italic; text-align: center; } div.colophon h1.title { font-size: 1.3em; margin: 0 !important; font-family: serif !important; font-weight: normal; } div.colophon h2.subtitle { margin: 0 !important; color: #000; font-family: serif !important; font-size: 1em; font-weight: normal; } div.colophon div.author h3.author { font-size: 1.1em; font-family: serif !important; margin: 10px 0 0 !important; font-weight: normal; } div.colophon div.editor h4, div.colophon div.editor h3.editor { color: #000; font-size: 0.8em; margin: 15px 0 0 !important; font-family: serif !important; font-weight: normal; } div.colophon div.editor h3.editor { font-size: 0.8em; margin: 0 !important; font-family: serif !important; font-weight: normal; } div.colophon div.publisher { margin-top: 10px; } div.colophon div.publisher p, div.colophon div.publisher span.publishername { margin: 0; font-size: 0.8em; } div.legalnotice p, div.timestamp p { font-size: 0.8em; } div.timestamp p { margin-top: 10px; } div.colophon[title="About the Author"] h1.title, div.colophon[title="Colophon"] h1.title { font-size: 1.5em; margin: 0 !important; font-family: sans-serif !important; } /* ----------------- epigraphs, blockquotes, attributions ----------------- */ section.chapter div.titlepage div.author { margin: 10px 0 10px 0; } section.chapter div.titlepage div.author div.affiliation { font-style: italic; } 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%; } div.epigraph p { font-style: italic; } blockquote, div.blockquote { margin: 10px !important; page-break-inside: avoid; font-size: 95%; } blockquote p, div.blockquote p { font-style: italic; margin: 0.75em 0 0 !important; } blockquote div.attribution, blockquote p[data-type="attribution"] { margin: 5px 0 10px 30px !important; text-align: right; width: 80%; } blockquote div.attribution p, blockquote p[data-type="attribution"] { font-style: normal; margin-top: 5px; } blockquote div.attribution p:before, blockquote p[data-type="attribution"]:before { font-style: normal; content: "\2014"; -webkit-hyphens: none; hyphens: none; adobe-hyphenate: none; } p.right { text-align: right; margin: 0; } /* ----------------- footnotes ----------------- */ div[data-type="footnotes"] { border-top: 1px solid black; margin-top: 2em; } sub, sup { font-size: 75%; line-height: 0; position: relative; } sup { top: -0.5em; } sub { bottom: -0.25em; } p[data-type="footnote"] { font-size: 90% !important; line-height: 1.2em !important; margin-left: 2.5em !important; text-indent: -2.3em !important; } p[data-type="footnote"] sup { display: inline-block !important; position: static !important; width: 2em !important; text-align: right !important; font-size: 100% !important; padding-right: 0.5em !important; } p[data-type="footnote"] a[href$="-marker"] { font-family: sans-serif !important; font-size: 90% !important; color: #8e0012 !important; } /* Special handling to account for Platform number (in footnote) spacing issue */ p[data-type="footnote"] a[data-type="xref"] { margin: 0 !important; padding: 0 !important; text-indent: 0 !important; } a[data-type="noteref"] { font-family: sans-serif !important; color: #8e0012; margin-left: 0; padding-left: 0; } /*----------handling for reference sections----------*/ div.refentry p.refname { font-size: 1em; font-family: sans-serif, "DejaVuSans"; font-weight: bold; margin-bottom: 5px; overflow: auto; width: 100%; } div.refentry { width: 100%; display: block; margin-top: 2em; } div.refsynopsisdiv { display: block; clear: both; } div.refentry header { page-break-inside: avoid !important; display: block; break-inside: avoid !important; padding-top: 0; border-bottom: 1px solid #000; } div.refsect1 h6 { font-size: 0.9em; font-family: sans-serif, "DejaVuSans"; font-weight: bold; } div.refsect1 {margin-top: 3em;} /* ----------------- lists ----------------- */ dl { margin-bottom: 1.5em !important; } dt { padding-top: 10px !important; padding-bottom: 0 !important; line-height: 1.25rem; font-style: italic; } dd { margin: 10px 0 0.25em 1.5em !important; line-height: 1.65em!important } dd p { padding: 0 !important; margin: 0 0 10px !important; } dd ol, dd ul { padding-left: 1em; } dd li { margin-top: 0; margin-bottom: 0; } dd, li { text-align: left; } ul, ul > li, ol ul, ol ul > li, ul ol ul, ul ol ul > li { list-style-type: disc; } ul ul, ul ul > li { list-style-type: square; } ul ul ul, ul ul ul > li { list-style-type: circle; } ol, ol > li, ol ul ol, ol ul ol > li, ul ol, ul ol > li { list-style-type: decimal; } ol ol, ol ol > li { list-style-type: lower-alpha; } ol ol ol, ol ol ol > li { list-style-type: lower-roman; } ol, ul { list-style-position: outside; margin: 15px 0 15px 1.25em; padding-left: 2.25em; } ol li, ul li { margin: .5em 0 .65em; line-height: 125%; } div.orderedlistalpha { list-style-type: upper-alpha; } table.simplelist, /* table for legacy titles */ ul.simplelist { margin: 15px 0 15px 20px !important; } ul.simplelist li { list-style-type: none; padding: 5px 0; } table.simplelist td { border: none; } table.simplelist tr { border-bottom: none; } table.simplelist tr:nth-of-type(even) { background-color: transparent; } dl.calloutlist p:first-child { margin-top: -25px !important; } dl.calloutlist dd { padding-left: 0; margin-top: -25px; } dl.calloutlist img, a.co img { padding: 0; } /* ----------------- html toc ----------------- */ div.toc ol { margin-top: 8px !important; margin-bottom: 8px !important; margin-left: 0px !important; padding-left: 0px !important; } div.toc ol ol { margin-left: 30px !important; padding-left: 0px !important; } div.toc ol li { list-style-type: none; } div.toc a { color: #8e0012; } div.toc ol a { font-size: 1em; font-weight: bold; } div.toc ol > li > ol a { font-weight: bold; font-size: 1em; } div.toc ol > li > ol > li > ol a { text-decoration: none; font-weight: normal; font-size: 1em; } /* ----------------- admonitions ----------------- */ div.tip, div[data-type="tip"], div.note, div[data-type="note"], div.warning, div[data-type="warning"], div[data-type="caution"], div[data-type="important"] { margin: 30px !important; font-size: 90%; padding: 10px 8px 20px 8px !important; page-break-inside: avoid; } div.tip ol, div.tip ul, div[data-type="tip"] ol, div[data-type="tip"] ul, div.note ol, div.note ul, div[data-type="note"] ol, div[data-type="note"] ul, div.warning ol, div.warning ul, div[data-type="warning"] ol, div[data-type="warning"] ul, div[data-type="caution"] ol, div[data-type="caution"] ul, div[data-type="important"] ol, div[data-type="important"] ul { margin-left: 1.5em !important; } div.tip, div[data-type="tip"], div.note, div[data-type="note"] { border: 1px solid #BEBEBE; background-color: transparent; } div.warning, div[data-type="warning"], div[data-type="caution"], div[data-type="important"] { border: 1px solid #BC8F8F; } div.tip h3, div[data-type="tip"] h6, div[data-type="tip"] h1, div.note h3, div[data-type="note"] h6, div[data-type="note"] h1, div.warning h3, div[data-type="warning"] h6, div[data-type="warning"] h1, div[data-type="caution"] h6, div[data-type="caution"] h1, div[data-type="important"] h1, div[data-type="important"] h6 { font-weight: bold; font-size: 110%; font-family: sans-serif !important; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin: 4px 0 6px !important; } div[data-type="tip"] figure h6, div[data-type="note"] figure h6, div[data-type="warning"] figure h6, div[data-type="caution"] figure h6, div[data-type="important"] figure h6 { font-family: serif !important; } div.tip h3, div[data-type="tip"] h6, div.note h3, div[data-type="note"] h6, div[data-type="tip"] h1, div[data-type="note"] h1 { color: #737373; } div.warning h3, div[data-type="warning"] h6, div[data-type="caution"] h6, div[data-type="important"] h6, div[data-type="warning"] h1, div[data-type="caution"] h1, div[data-type="important"] h1 { color: #C67171; } div.sect1[title="SafariĀ® Books Online"] div.note, div.safarienabled { background-color: transparent; margin: 8px 0 0 !important; border: 0px solid #BEBEBE; font-size: 100%; padding: 0px !important; page-break-inside: avoid; } div.sect1[title="SafariĀ® Books Online"] div.note h3, div.safarienabled h6 { display: none; } /* ----------------- tables ----------------- */ div.table, table { margin: 15px 0 30px 0 !important; max-width: 95%; border: none !important; background: none; display: table !important; } div.table, div.informaltable, table { page-break-inside: avoid; } table li { margin: 10px 0 0 0.25em !important; } tr, tr td { border-bottom: 1px solid #c3c3c3; } thead td, thead th { border-bottom: #9d9d9d 1px solid !important; border-top: #9d9d9d 1px solid !important; } tr:nth-of-type(even) { background-color: #f1f6fc; } thead { font-family: sans-serif; font-weight: bold; } td, th { display: table-cell; padding: 0.3em; text-align: left; vertical-align: top; font-size: 80%; } th { vertical-align: bottom; } 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-title, table caption { font-weight: normal; font-style: italic; font-family: serif; font-size: 1em; margin: 10px 0 10px 0 !important; padding: 0; page-break-after: avoid; text-align: left !important; } table code { font-size: smaller; word-break: break-all; } table.border td { border-bottom: 0.25pt solid rgb-icc(#Grayscale, 0); } table.border tbody > tr:last-child > td { border-bottom: transparent; } /* ----------------- Equations ----------------- */ div.equation, div[data-type="equation"] { margin: 10px 0 15px 0 !important; } div.equation-title, div[data-type="equation"] h5 { font-style: italic; font-weight: normal; font-family: serif !important; font-size: 90%; margin: 20px 0 10px 0 !important; page-break-after: avoid; } div.equation-contents { margin-left: 20px; } /* Handling to allow true equations to resize based on screen width (STYL-1022) */ div[data-type="equation"] math { font-size: calc(0.35em + 1vw); } /* ----------------- inline images and math images used fallbacks from MathML ----------------- */ span.inlinemediaobject { /* for iBooks, which overrides height and width on img, per the specs */ height: 0.85em; display: inline-block; margin-bottom: 0.2em; } span.inlinemediaobject img { margin: 0; height: 0.85em; } div.informalequation { margin: 20px 0 20px 20px; width: 75%; } div.informalequation img { width: 75%; } /* ----------------- index ----------------- */ div.index { text-indent: 0; } div.index h3 { padding: 0.25em; margin-top: 1em !important; background-color: #F0F0F0; } div.index li { line-height: 130%; list-style-type: none; } div.index a.indexterm { color: #8e0012 !important; } div.index ul { margin-left: 0 !important; padding-left: 0 !important; } div.index ul ul { margin-left: 2em !important; margin-top: 0 !important; } /* ----------------- syntax highlighting and coloring text in general ----------------- */ /* legacy stuff */ 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 */ } pre 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: #000; /* 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: #000; /* 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 */ } /* Pygments with manni theme */ pre code.hll { background-color: #ffffcc; } pre code.c { color: #0099FF; font-style: italic; } /* Comment */ pre code.err { color: #AA0000; } /* Error */ pre code.k { color: #006699; font-weight: bold; } /* Keyword */ pre code.o { color: #555555; } /* Operator */ pre code.cm { color: #35586C; font-style: italic; } /* Comment.Multiline */ pre code.cp { color: #009999; } /* Comment.Preproc */ pre code.c1 { color: #35586C; font-style: italic; } /* Comment.Single */ pre code.cs { color: #35586C; font-weight: bold; font-style: italic; } /* Comment.Special */ pre code.gd { background-color: #FFCCCC; } /* Generic.Deleted */ pre code.ge { font-style: italic; } /* Generic.Emph */ pre code.gr { color: #FF0000; } /* Generic.Error */ pre code.gh { color: #003300; font-weight: bold; } /* Generic.Heading */ pre code.gi { background-color: #CCFFCC; } /* Generic.Inserted */ /* Overriding default manni style of #AAAAAA gray for Generic Output with #000000 black, which is better suited to ORM terminal output */ pre code.go { color: #000000; } /* Generic.Output */ pre code.gp { color: #000099; font-weight: bold; } /* Generic.Prompt */ pre code.gs { font-weight: bold; } /* Generic.Strong */ pre code.gu { color: #003300; font-weight: bold; } /* Generic.Subheading */ pre code.gt { color: #99CC66; } /* Generic.Traceback */ pre code.kc { color: #006699; font-weight: bold; } /* Keyword.Constant */ pre code.kd { color: #006699; font-weight: bold; } /* Keyword.Declaration */ pre code.kn { color: #006699; font-weight: bold; } /* Keyword.Namespace */ pre code.kp { color: #006699; } /* Keyword.Pseudo */ pre code.kr { color: #006699; font-weight: bold; } /* Keyword.Reserved */ pre code.kt { color: #007788; font-weight: bold; } /* Keyword.Type */ pre code.m { color: #FF6600; } /* Literal.Number */ pre code.s { color: #CC3300; } /* Literal.String */ pre code.na { color: #330099; } /* Name.Attribute */ pre code.nb { color: #336666; } /* Name.Builtin */ pre code.nc { color: #00AA88; font-weight: bold; } /* Name.Class */ pre code.no { color: #336600; } /* Name.Constant */ pre code.nd { color: #9999FF; } /* Name.Decorator */ pre code.ni { color: #999999; font-weight: bold; } /* Name.Entity */ pre code.ne { color: #CC0000; font-weight: bold; } /* Name.Exception */ pre code.nf { color: #CC00FF; } /* Name.Function */ pre code.nl { color: #9999FF; } /* Name.Label */ pre code.nn { color: #00CCFF; font-weight: bold; } /* Name.Namespace */ pre code.nt { color: #330099; font-weight: bold; } /* Name.Tag */ pre code.nv { color: #003333; } /* Name.Variable */ pre code.ow { color: #000000; font-weight: bold; } /* Operator.Word */ pre code.w { color: #bbbbbb; } /* Text.Whitespace */ pre code.mf { color: #FF6600; } /* Literal.Number.Float */ pre code.mh { color: #FF6600; } /* Literal.Number.Hex */ pre code.mi { color: #FF6600; } /* Literal.Number.Integer */ pre code.mo { color: #FF6600; } /* Literal.Number.Oct */ pre code.sb { color: #CC3300; } /* Literal.String.Backtick */ pre code.sc { color: #CC3300; } /* Literal.String.Char */ pre code.sd { color: #CC3300; font-style: italic; } /* Literal.String.Doc */ pre code.s2 { color: #CC3300; } /* Literal.String.Double */ pre code.se { color: #CC3300; font-weight: bold; } /* Literal.String.Escape */ pre code.sh { color: #CC3300; } /* Literal.String.Heredoc */ pre code.si { color: #AA0000; } /* Literal.String.Interpol */ pre code.sx { color: #CC3300; } /* Literal.String.Other */ pre code.sr { color: #33AAAA; } /* Literal.String.Regex */ pre code.s1 { color: #CC3300; } /* Literal.String.Single */ /* Overriding manni default yellow #FFCC33 with brown #AA6600, which is easier to read */ pre code.ss { color: #AA6600; } /* Literal.String.Symbol */ pre code.bp { color: #336666; } /* Name.Builtin.Pseudo */ pre code.vc { color: #003333; } /* Name.Variable.Class */ pre code.vg { color: #003333; } /* Name.Variable.Global */ pre code.vi { color: #003333; } /* Name.Variable.Instance */ pre code.il { color: #FF6600; } /* Literal.Number.Integer.Long */ /* Sanders's additions to manni */ pre code.g { color: #005500; } /* Generic */ pre code.l { color: #CC6600; } /* Literal */ pre code.l { color: #FF9900; } /* Literal.Date */ pre code.n { color: #000088; } /* Name */ pre code.nx { color: #000088; } /* Name.Other */ pre code.py { color: #9966FF; } /* Name.Property */ pre code.p { color: #000000; } /* Punctuation */ pre code.x { color: #FF0066; } /* Other */ /* Special handling for sampler TOC entry rendering */ div.blockquote_sampler_toc { width: 95%; margin: 5px 5px 5px 10px !important; } /* keep this body statement last before custom placeholder */ body { font-family: serif; text-align: left; } /* Customizations for specific titles */ /* added for special formatting in Bioinformatics Programming Using Python, 1e (9781449378677.EBOOK) */ .gray-background, .reverse-video { background: #2E2E2E; color: #FFF; } /* 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
or content to break (if too long) (STYL-1061) */
pre.break-code,
code.break-code,
.break-code pre,
.break-code code { word-break: break-all; }
/* Added for DOM Enlightenment 9781449342845 */
span.gray { color: #4C4C4C; }
/* Custom widths */
.width-10,
figure.width-10 img { width: 10% !important; }
.width-20,
figure.width-20 img { width: 20% !important; }
.width-30,
figure.width-30 img { width: 30% !important; }
.width-40,
figure.width-40 img { width: 40% !important; }
.width-50,
figure.width-50 img { width: 50% !important; }
.width-60,
figure.width-60 img { width: 60% !important; }
.width-70,
figure.width-70 img { width: 70% !important; }
.width-80,
figure.width-80 img { width: 80% !important; }
.width-90,
figure.width-90 img { width: 90% !important; }
.width-full,
.width-100 { width: 100% !important; }
/* ----------------- Platform-specific overrides ----------------- */
.sc { text-transform: none !important; }
.right { float: none !important; }
/* Fix xref spacing (STYL-1238) */
a.totri-footnote { padding: 0 !important; }
/* Adjust figure widths without affecting captions (STYL-1238) */
figure.width-10,
figure.width-20,
figure.width-30,
figure.width-40,
figure.width-50,
figure.width-60,
figure.width-70,
figure.width-80,
figure.width-90 { width: auto !important; }
/* Placeholder for custom series CSS: DO NOT EDIT OR DELETE */
/* fonts (keep at bottom); using DejaVu Serif and Sans as a fallback for its rich set of glyphs */
@font-face {
font-family: "Ubuntu Mono";
font-weight: normal;
font-style: normal;
src: url(UbuntuMono-Regular.otf);
}
@font-face {
font-family: "Ubuntu Mono Bold";
font-style: normal;
font-weight: bold;
src: url(UbuntuMono-Bold.otf);
}
@font-face {
font-family: "Ubuntu Mono BoldItal";
font-weight: bold;
font-style: italic;
src: url(UbuntuMono-BoldItalic.otf);
}
@font-face {
font-family: "Ubuntu Mono Ital";
font-weight: normal;
font-style: italic;
src: url(UbuntuMono-Italic.otf);
}
@charset "UTF-8";
/*--------Put Your Custom CSS Rules Below--------*/
/* Handling for emojis (STYL-1349) */
p img,
pre img {
height: 1em;
width: 1em;
}
/*--- This oneoff overrides the code in https://github.com/oreillymedia//blob/master/pdf/pdf.css---*/
/* Adding horizontal rules to Table 4-1 */
.tablerule td {
border-bottom: 0.25pt solid black !important;
}
/*----Uncomment to temporarily turn on code-eyballer highlighting (make sure to recomment after you build)
pre {
background-color: yellow;
}
---*/
/*----Uncomment to turn on automatic code wrapping
pre {
white-space: pre-wrap;
word-wrap: break-word;
}
----*/
/*----Uncomment to change the TOC start page (set
the number to one page _after_ the one you want;
so 6 to start on v, 8 to start on vii, etc.)
@page toc:first {
counter-reset: page 6;
}
----*/
/*----Uncomment to fix a bad break in the title
(increase padding value to push down, decrease
value to pull up)
section[data-type="titlepage"] h1 {
padding-left: 1.5in;
}
----*/
/*----Uncomment to fix a bad break in the subtitle
(increase padding value to push down, decrease
value to pull up)
section[data-type="titlepage"] h2 {
padding-left: 1in;
}
----*/
/*----Uncomment to fix a bad break in the author names
(increase padding value to push down, decrease
value to pull up)
section[data-type="titlepage"] p.author {
padding-left: 3in;
}
----*/
/* ----Uncomment to suppress duplicate page numbers in index entries
WARNING: MAY CAUSE PDF BUILDS TO SEGFAULT
div[data-type="index"] {
-ah-suppress-duplicate-page-number: true;
}
----*/