@charset "UTF-8"; @namespace url(http://www.w3.org/1999/xhtml); @namespace epub url(http://www.idpf.org/2007/ops); @namespace m url(http://www.w3.org/1998/Math/MathML/); @namespace svg url(http://www.w3.org/2000/svg); /* Alegreya */ @font-face { font-family: "Alegreya"; src: url("Alegreya-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; } @font-face { font-family: "Alegreya"; src: url("Alegreya-Italic.otf") format("opentype"); font-weight: 400; font-style: italic; } @font-face { font-family: "Alegreya"; src: url("Alegreya-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; } @font-face { font-family: "Alegreya"; src: url("Alegreya-BoldItalic.otf") format("opentype"); font-weight: 700; font-style: italic; } /* AlegreyaSans */ @font-face { font-family: "AlegreyaSans"; src: url("AlegreyaSans-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; } @font-face { font-family: "AlegreyaSans"; src: url("AlegreyaSans-Italic.otf") format("opentype"); font-weight: 400; font-style: italic; } @font-face { font-family: "AlegreyaSans"; src: url("AlegreyaSans-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; } @font-face { font-family: "AlegreyaSans"; src: url("AlegreyaSans-BoldItalic.otf") format("opentype"); font-weight: 700; font-style: italic; } /* AlegreyaSC */ @font-face { font-family: "AlegreyaSC"; src: url("AlegreyaSC-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; } @font-face { font-family: "AlegreyaSC"; src: url("AlegreyaSC-Italic.otf") format("opentype"); font-weight: 400; font-style: italic; } @font-face { font-family: "AlegreyaSC"; src: url("AlegreyaSC-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; } @font-face { font-family: "AlegreyaSC"; src: url("AlegreyaSC-BoldItalic.otf") format("opentype"); font-weight: 700; font-style: italic; } /* AlegreyaSansSC */ @font-face { font-family: "AlegreyaSansSC"; src: url("AlegreyaSansSC-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; } @font-face { font-family: "AlegreyaSansSC"; src: url("AlegreyaSansSC-Italic.otf") format("opentype"); font-weight: 400; font-style: italic; } @font-face { font-family: "AlegreyaSansSC"; src: url("AlegreyaSansSC-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; } @font-face { font-family: "AlegreyaSansSC"; src: url("AlegreyaSansSC-BoldItalic.otf") format("opentype"); font-weight: 700; font-style: italic; } /* RESET */ /* So here's the trick, we must reset to manage a number of problems once and for all: - HTML5 backwards compatibility (EPUB 3 file in EPUB 2 app); - user settings (e.g. line-height on Kobo and Kindle); - CSS bloat (DRY); - KFX for which a reset using `border: 0` seems to disable support; - etc. It all started as a normalize and became a reset given the magnitude of the task. */ article, address, aside, blockquote, canvas, dd, details, div, dl, dt, figure, figcaption, footer, h1, h2, h3, h4, h5, h6, header, hr, li, main, nav, ol, p, pre, section, summary, ul { margin: 0; padding: 0; /* RS may apply vertical padding to el such as p */ font-size: 1em; /* Font size in pixel disable the user setting in legacy RMSDK */ line-height: inherit; /* Kindle ignores it, Kobo needs it. If you don’t use inherit, the user setting may be disabled on some Kobo devices */ text-indent: 0; font-style: normal; font-weight: normal; } /* This is absolutely necessary for backwards compatibility */ article, aside, figure, figcaption, footer, header, main, nav, section { display: block; } [hidden], [template] { display: none; } /* [Opinionated] Default to prevent RS from justifying all of these! */ h1, h2, h3, h4, h5, h6, dt, pre { text-align: left; } /* Following EPUB 3 spec by the letter (applies to RS but let’s make sure it is respected because we never know) */ nav[epub|type~=toc] ol { list-style: none !important; } /* [Opinionated] Default to prevent bloat in case linear="no" is rendered as linear="yes" */ nav[epub|type~=landmarks], nav[epub|type~=page-list] { display: none; } /* pru:startPreserve(lazy) */ nav.nav-landmarks { display: none !important; } /* pru:endPreserve(lazy) */ a, abbr, b, bdi, bdo, cite, code, data, del, dfn, em, i, ins, kbd, mark, q, rp, rt, rtc, ruby, s, samp, small, span, strong, sub, sup, time, var { font-size: inherit; vertical-align: baseline; color: inherit; text-decoration: none; } /* Trying to prevent blank page if element with margin-bottom at the end of xhtml */ body > :last-child, body > section > :last-child { margin-bottom: 0; } li p { line-height: inherit; } html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 100%; } body { font-family: Alegreya, "Iowan Old Style", "Sitka Text", Palatino, "Book Antiqua", serif; font-weight: normal; line-height: 1.5; margin: 0; } h1, h2, h3, h4, h5, h6 { font-family: Alegreya, "Iowan Old Style", "Sitka Text", Palatino, "Book Antiqua", serif; font-weight: 700; text-align: center; overflow-wrap: break-word; } div h1, div h2, div h3, div h4, div h5, div h6 { font-family: inherit; } /* Flow content */ blockquote, figure, pre, aside, footer, form, hr { margin-top: 1.5em; margin-bottom: 1.5em; } p { font-size: 1em; line-height: 1.5; margin-top: 0; margin-bottom: 0; text-align: justify; -webkit-hyphens: auto; -ms-hyphens: auto; -epub-hyphens: auto; hyphens: auto; } p + p { text-indent: 1.5em; } /* Phrasing content */ sub, sup { font-size: smaller; line-height: 1; } sub > a, sup > a { line-height: inherit !important; text-decoration: none !important; } sup { -webkit-font-feature-settings: "sups"; font-feature-settings: "sups"; font-variant: super; vertical-align: super; } sub > a, sup > a, [role=doc-chapter] [epub\:type=noteref] { font-family: inherit; font-size: inherit; vertical-align: baseline; -webkit-font-feature-settings: normal; font-feature-settings: normal; font-variant: normal; } :link { color: #0000EE; } a { color: inherit; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; overflow-wrap: break-word; } a[href^="http://"], a[href^="https://"], a[href^="//"] { color: #0000EE; text-decoration: none; } /* Headings */ h1 { margin-top: 0; margin-bottom: 3em; font-size: 1em; } h2 { margin-top: 0; margin-bottom: 1.5em; font-size: 1em; } /* Lists */ dl, ol, ul { margin-top: 1.5em; margin-bottom: 1.5em; } li { -webkit-hyphens: auto; -ms-hyphens: auto; -epub-hyphens: auto; hyphens: auto; text-align: left; } /* Table */ @media not amzn-mobi { } hr { width: 25%; margin-left: 37.5%; height: 0; border: none; opacity: 0.7; } /* Blank-line context change */ @media amzn-mobi { } @media amzn-mobi { } /* Over-engineered asterism with an SVG background which is legacy RMSDK-compliant, reflows with text and is night-mode compatible (black asterisk + white border) */ hr.dots { width: auto; border: none; height: 1.5em; margin-left: 0; text-indent: 0; text-align: center; background: transparent url("dots.svg") no-repeat center; /* Change url if you put asterism in a folder */ background-size: 1.5em 0.2em; /* RMSDK doesn't support -> won't scale but SVG viewport is OK for a wide range of font-sizes */ overflow: hidden; /* Fixes legacy RMSDK bug when contents before hr are invisible */ opacity: 1; /* Better border color match in night mode (less disruptive) */ page-break-inside: avoid; } /* Readium CSS HTML5 SR Patch stylesheet A set of style to adjust HTML5 Suggested Rendering to paginated content Repo: https://github.com/readium/readium-css */ /* Fragmentation */ body { orphans: 2; widows: 2; } figcaption, th, td { orphans: 1; widows: 1; } h1, h2, h3, h4, h5, h6, dt, caption { /* autoprefixer: off */ -webkit-column-break-after: avoid; page-break-after: avoid; break-after: avoid; } h1, h2, h3, h4, h5, h6, dt, figure, tr, svg { /* autoprefixer: off */ -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } svg|svg { /* autoprefixer: off */ -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; } h1 + p, h2 + p, h3 + p, .bdo-section__subtitle + p, h1 + hr, h2 + hr, h3 + hr { /* autoprefixer: off */ -webkit-column-break-before: avoid; page-break-before: avoid; break-before: avoid; } /* Hyphenation */ body { -webkit-hyphenate-character: "-"; -moz-hyphenate-character: "-"; -ms-hyphenate-character: "-"; hyphenate-character: "-"; -webkit-hyphenate-limit-lines: 3; -ms-hyphenate-limit-lines: 3; hyphenate-limit-lines: 3; } h1, h2, h3, h4, h5, h6, dt, figcaption, pre, caption, address { -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; } /* OTF */ body { -webkit-font-feature-settings: "onum", "pnum"; font-feature-settings: "onum", "pnum"; font-variant: oldstyle-nums proportional-nums; } h1, h2, h3, h4, h5, h6, dt { -webkit-font-feature-settings: "lnum", "pnum"; font-feature-settings: "lnum", "pnum"; font-variant: lining-nums proportional-nums; } /* Night mode */ hr { color: inherit; border-color: currentColor; } /* Horizontal Spacing */ figure, blockquote { margin: 1.5em 5%; } ul, ol { padding-left: 1.5em; } li::marker { font-size: 1em; line-height: 1; } /* Normalization */ /* Make ruby text and parentheses non-selectable (TBC) */ img, svg { max-width: 100%; height: auto; -o-object-fit: contain; object-fit: contain; vertical-align: bottom; } a[href^="#"] { text-decoration: none; line-height: inherit; } .bdo-toctitle { visibility: hidden; page-break-before: always; font-size: 1.7142857143em; line-height: 1.2222222222; min-height: 2.625em; margin-top: 2.625em; margin-bottom: 2.625em; -webkit-box-sizing: content-box; box-sizing: content-box; position: relative; top: -0.2777777778em; } /* Lists */ .bdlistEmpty1 { list-style-type: none; padding-left: 1.5em; } .bdlistDash1 { list-style-type: none; padding-left: 0; } .bdlistDash1 li { padding-left: 1.5em; } .bdlistDash1 li::before { font-size: 1em; content: "–"; text-indent: -1.5em; display: inline-block; } .bdlistDash1 + .bdlistDash1, .bdlistDash1 + p { margin-top: 1.5em; } .toc > h1 { font-size: 2.2857142857em; line-height: 1.2; min-height: 1.96875em; margin-top: 0.65625em; margin-bottom: 0.65625em; min-height: 0; } .toc__part { -webkit-font-feature-settings: "smcp", "c2sc"; font-feature-settings: "smcp", "c2sc"; font-variant-caps: all-small-caps; text-transform: none; font-weight: normal; text-align: left; } .toc__item { text-align: left; } .toc__item > a { /* autoprefixer: off */ -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; color: #0000EE; color: initial; display: block; font-weight: bold; padding-top: 0.25em; padding-bottom: 0.25em; text-decoration: none; text-align: left; } .toc__item > a:focus, .toc__item > a:hover { text-decoration: underline; } .toc__list { list-style-type: none; padding-left: 0; } .footnotes { -webkit-font-feature-settings: "lnum"; font-feature-settings: "lnum"; font-variant: lining-nums; } .footnotes li { -webkit-font-feature-settings: "lnum"; font-feature-settings: "lnum"; font-variant: lining-nums; margin-left: 2em; } .footnotes a[href^="#footnote-"] { display: inline-block; width: 1.5em; text-align: center; text-decoration: none; outline: 1px solid #cccccc; outline: 1px solid rgba(0, 0, 0, 0.2); -webkit-transform: translateZ(0); transform: translateZ(0); margin-left: 0.25em; } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } .bdo-quote { font-family: "AlegreyaSans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1.5; margin-top: 1.5em; margin-bottom: 1.5em; margin-left: 1.5rem; margin-right: 0; } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } .bdo-img { font-family: "AlegreyaSans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin-top: 1.5em; margin-bottom: 1.5em; margin-left: 0; margin-right: 0; } .bdo-img img { display: block; width: 100%; } .bdo-img figcaption { font-size: 1em; line-height: 1.5; margin-top: 0.75em; margin-bottom: 0.75em; font-style: italic; } .bdo-img__description { display: block; font-weight: bolder; } .bdo-img__source { display: inline-block; min-width: 49%; text-align: left; } @media not amzn-mobi { } @media not amzn-mobi { } .bdo-part__headline { margin-top: 0; padding-top: 54pt; /* 3 x 14pt */ } .bdo-part__headline > span { display: block; } .bdo-part__title { font-size: 1.9047619048em; line-height: 1.2; min-height: 2.3625em; margin-top: 0; margin-bottom: 0em; } #cover { height: 95%; margin: 0; } .doc-cover:only-of-type, #cover:only-of-type { height: 100vh; margin: 0; } #preface div { font-size: 1em; line-height: 1.3333333333; min-height: 4.5em; margin-top: 0; margin-bottom: 0; min-height: 0; text-align: justify; text-indent: 0; } #preface div > p { line-height: inherit; text-indent: 0; } #preface .author-image { margin-top: 0; margin-bottom: 1.5em; margin-left: 0; margin-right: 0; } #titlepage *, #titlepage p { -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; text-align: center; text-indent: 0; } #titlepage > :last-child { margin-top: 2em; } @media (min-width: 600px) { #titlepage > :last-child { margin-top: 4em; } } .titlepage__author { font-size: 1.4285714286em; line-height: 1.05; margin-top: 0; margin-bottom: 0; } .titlepage__title { font-size: 2.2857142857em; line-height: 1.22222; min-height: 1.96875em; margin-top: 0.65625em; margin-bottom: 0.65625em; } @media (min-width: 600px) { .titlepage__title { font-size: 3.4285714286em; line-height: 1.22222; min-height: 1.3125em; margin-top: 1.3125em; margin-bottom: 0.4375em; } } .titlepage__subtitle { font-size: 1.1428571429em; line-height: 1.3125; margin-top: 0; margin-bottom: 1.3125em; } .titlepage__publisher { font-family: "AlegreyaSans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 1.4285714286em; line-height: 1.05; margin-top: 0; margin-bottom: 0; } @media amzn-mobi { } @media not amzn-mobi { .titlepage__publisher--logo svg|svg { display: inline-block; fill: currentColor; } .titlepage__publisher--logo svg|svg > svg|* { fill: currentColor; } } #imprint p { font-size: 1em; line-height: 1.3333333333; min-height: 4.5em; margin-top: 0; margin-bottom: 1.5em; min-height: 0; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; text-indent: 0; text-align: left; } #imprint > p:last-child { margin-bottom: 0; } #imprint .imprint-from-db p:not(:last-child) { margin-bottom: 0; } #imprint .imprint-from-db:last-child p:last-child { margin-bottom: 0; } [role=doc-chapter] > h1, [role=doc-appendix] > h1, [role=doc-endnotes] > h1, [role=doc-afterword] > h1, [data-type=excerpt] > h1, .frontmatter__hypercontainer > h1 { font-size: 1.7142857143em; line-height: 1.2222222222; min-height: 2.625em; margin-top: 2.625em; margin-bottom: 2.625em; margin-top: 0; padding-top: 2.625em; -webkit-box-sizing: content-box; box-sizing: content-box; position: relative; top: -0.2777777778em; } @media not amzn-mobi { } [role=doc-chapter] a, [role=doc-appendix] a, [role=doc-endnotes] a, [role=doc-afterword] a, [data-type=excerpt] a, .frontmatter__hypercontainer a { color: inherit; text-decoration: underline; } @media screen { a[id^=footnote-ref]::before { content: "["; } a[id^=footnote-ref]::after { content: "]"; } } @media screen { } @media print { } .read-news h1, .read-news h2 { clear: both; font-size: 1.5em; text-align: left; margin-bottom: 0.5rem; page-break-before: auto; } .read-news h1 { margin-top: 0; } .read-news p { text-indent: 0; text-align: left; clear: both; } .read-news p > a { display: block; padding: 0.5em 0; text-decoration: none !important; } .read-news p > a > b { display: inline-block; text-decoration: underline; } .read-news img { display: inline-block; width: 2em; margin-right: 1em; vertical-align: middle; text-decoration: none !important; } .read-news a { color: #0000EE; display: inline-block; text-decoration: underline; } .read-news .newsletter-img { vertical-align: top; } .read-news .newsletter-text { border-top: 0.25em solid white; display: inline-block; width: 80%; } .read-before { width: 70%; margin: 0 15%; height: 95%; } .read-before:only-of-type { height: 100vh; } .read-before svg { display: block; width: 100%; height: 95%; } @page { margin: 1.25em 2.2em; margin: 30px 30px 20px 30px; /* Recommended by Barnes & Noble in this old spec: https://simg1.imagesbn.com/pimages/pubit/support/pubit_epub_formatting_guide.pdf */ } .toc__list { margin-top: 0.5em; padding-left: 0; } .toc__item > a { padding-top: 0.25em; padding-bottom: 0.25em; } @media amzn-mobi { }