@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; } /* [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; } html { -webkit-box-sizing: border-box; box-sizing: border-box; color: #121212; 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 */ :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; } h3 { 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 */ hr.transition { clear: both; width: auto; height: 0; border: none; background: none; margin-left: 0; /* Note: overridden in night mode excepted when using linear-gradient */ } @media amzn-mobi { hr.transition { border: 1px solid transparent; } } @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.asterism { 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; } 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: "\002D"; -moz-hyphenate-character: "\002D"; -ms-hyphenate-character: "\002D"; hyphenate-character: "\002D"; -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.25em; /*2.5%;*/ } /* 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; } .transition.bdo-vignette { background: transparent no-repeat center; background-size: 9rem 4.5rem; margin-left: 0; margin-top: 0; margin-bottom: 1.5rem; height: 3rem; opacity: 1; } .transition.bdo-vignette--b03 { background-image: url("b03.png"); } .toc > h1 { font-size: 2.28571em; line-height: 1.2; min-height: 1.96875em; margin-top: 0.65625em; margin-bottom: 0.65625em; min-height: 0; } .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; } .bdo-messenger { margin-top: 1.5em; margin-bottom: 1.5em; margin-right: 20%; margin-left: 10%; } .bdo-messenger > p { 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: 0; margin-bottom: 0; text-indent: 0; text-align: left; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; } .bdo-messenger > p:first-child { page-break-before: auto; } .bdo-messenger[data-params$="Typ=2"], .bdo-messenger--right { margin-top: 1.5em; margin-bottom: 1.5em; margin-right: 10%; margin-left: 20%; text-align: right; } .bdo-messenger[data-params$="Typ=2"] > p, .bdo-messenger--right > p { 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: 0; margin-bottom: 0; color: #666; text-indent: 0; text-align: right; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } @media not amzn-mobi { } #cover { height: 95%; margin: 0; } .doc-cover:only-of-type, #cover:only-of-type { height: 100vh; margin: 0; } #preface h3 { font-size: 1em; line-height: 1.33333; min-height: 4.5em; margin-top: 0; margin-bottom: 0; min-height: 0; text-align: left; } #preface div { font-size: 1em; line-height: 1.33333; 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 div + h3 { margin-top: 1.5em; } #preface .aboutbook { margin-top: 1.5em; } #preface .authorvita { margin-top: 1.5em; } #preface .author-image { margin-top: 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.42857em; line-height: 1.05; margin-top: 0; margin-bottom: 0; } .titlepage__title { font-size: 2.28571em; 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.42857em; line-height: 1.22222; min-height: 1.3125em; margin-top: 1.3125em; margin-bottom: 0.4375em; } } .titlepage__subtitle { font-size: 1.14286em; line-height: 1.3125; margin-top: 0; margin-bottom: 1.3125em; } @media amzn-mobi { .titlepage__publisher--logo svg { display: inline-block; fill: currentColor; } .titlepage__publisher--logo svg > * { fill: currentColor; } } @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.33333; min-height: 4.5em; margin-top: 0; margin-bottom: 0; min-height: 0; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; margin-bottom: 1.45833em; text-indent: 0; text-align: left; } [role="doc-chapter"] > h1, [role="doc-appendix"] > h1, [role="doc-afterword"] > h1, [data-type="excerpt"] > h1, .frontmatter__hypercontainer > h1 { font-size: 1.71429em; line-height: 1.22222; 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.27778em; } [role="doc-chapter"] > h1 + .transition.bdo-vignette, [role="doc-appendix"] > h1 + .transition.bdo-vignette, [role="doc-afterword"] > h1 + .transition.bdo-vignette, [data-type="excerpt"] > h1 + .transition.bdo-vignette, .frontmatter__hypercontainer > h1 + .transition.bdo-vignette { margin-top: -4.5rem; margin-bottom: 1.5rem; } [role="doc-chapter"] > h1 + .transition.bdo-vignette + h2, [role="doc-appendix"] > h1 + .transition.bdo-vignette + h2, [role="doc-afterword"] > h1 + .transition.bdo-vignette + h2, [data-type="excerpt"] > h1 + .transition.bdo-vignette + h2, .frontmatter__hypercontainer > h1 + .transition.bdo-vignette + h2 { font-size: 1.19048em; line-height: 1.26; margin-top: 0; margin-bottom: 1.26em; font-weight: bold; } [role="doc-chapter"] > h2, [role="doc-appendix"] > h2, [role="doc-afterword"] > h2, [data-type="excerpt"] > h2, .frontmatter__hypercontainer > h2 { font-size: 1.19048em; line-height: 1.26; margin-top: 2.52em; margin-bottom: 1.26em; } [role="doc-chapter"] > h3, [role="doc-appendix"] > h3, [role="doc-afterword"] > h3, [data-type="excerpt"] > h3, .frontmatter__hypercontainer > h3 { font-size: 1.04762em; line-height: 1.43182; margin-top: 1.43182em; margin-bottom: 0; } @media not amzn-mobi { [role="doc-chapter"] > h3, [role="doc-appendix"] > h3, [role="doc-afterword"] > h3, [data-type="excerpt"] > h3, .frontmatter__hypercontainer > h3 { position: relative; top: -0.3em; } } @media screen { } @media screen { } @media print { } *::footnote-marker { content: counter(footnote, decimal) " "; display: inline-block; font-size: 6pt; margin-right: 2pt; margin-left: -8pt; text-align: right; vertical-align: 3pt; width: 6pt; } *::footnote-call { content: none; display: none; } .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; } .toc__item > a { padding-top: 0.25em; padding-bottom: 0.25em; } @media amzn-mobi { }