@charset "utf-8"; @namespace "http://www.w3.org/1999/xhtml"; @namespace epub "http://www.idpf.org/2007/ops"; @namespace m "http://www.w3.org/1998/Math/MathML/"; @namespace svg "http://www.w3.org/2000/svg"; /* Alegreya */ /* AlegreyaSans */ /* AlegreyaSC */ /* AlegreyaSansSC */ /* 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. */ div, figure, h1, h2, h3, header, hr, li, nav, ol, p, section, 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 */ /* 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 */ figure, header, nav, section { display: block; } [hidden] { display: none; } /* [Opinionated] Default to prevent RS from justifying all of these! */ h1, h2, h3 { 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] { display: none; } /* pru:startPreserve(lazy) */ nav.nav-landmarks { display: none !important; } /* pru:endPreserve(lazy) */ a, b, em, i, span, strong { 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; font-size: 100%; } body { font-weight: normal; line-height: 1.5; margin: 0; } h1, h2, h3 { font-weight: 700; text-align: center; overflow-wrap: break-word; } /* Flow content */ figure, 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; } .bdo-section__subheader + p { text-indent: 0; } /* Phrasing content */ :link { color: #00E; } a { color: inherit; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; overflow-wrap: break-word; } a[href^="http://"], a[href^="https://"] { color: #00E; 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 */ 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 */ 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 */ } /* 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.page-break { font-size: 1.142857em; line-height: 1.3125; margin-top: 0; margin-bottom: 0; page-break-after: always; border-top: none; opacity: 1; width: 100%; margin: 0; margin-left: 0; } /* 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 { /* autoprefixer: off */ page-break-after: avoid; break-after: avoid; } h1, h2, h3, figure, svg { /* autoprefixer: off */ page-break-inside: avoid; break-inside: avoid; } svg|svg { /* autoprefixer: off */ page-break-inside: avoid; break-inside: avoid; } h1 + p, h2 + p { /* autoprefixer: off */ 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 { -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 { -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 { 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 { height: auto; -o-object-fit: contain; object-fit: contain; vertical-align: bottom; } /* Lists */ .bdlistEmpty1 { list-style-type: none; padding-left: 1.5em; } .toc > h1 { font-size: 2.285714em; line-height: 1.2; 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 */ page-break-inside: avoid; break-inside: avoid; color: #00E; 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-part__headline { margin-top: 0; padding-top: 54pt; /* 3 x 14pt */ } .bdo-part__headline > span { display: block; } .bdo-part__title { font-size: 1.904762em; line-height: 1.2; min-height: 2.3625em; margin-top: 0; margin-bottom: 0; } .bdo-section__subheader { text-align: center; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; } .bdo-section__subheader { font-size: 1.047619em; line-height: 1.431818; margin-top: 0; margin-bottom: 1.431818em; } #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.333333; margin-top: 0; margin-bottom: 0; min-height: 0; text-align: left; } #preface div { font-size: 1em; line-height: 1.333333; margin-top: 0; margin-bottom: 0; min-height: 0; text-align: justify; text-indent: 0; } #preface div > p { 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.428571em; line-height: 1.05; margin-top: 0; margin-bottom: 0; } .titlepage__title { font-size: 2.285714em; 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.428571em; line-height: 1.22222; min-height: 1.3125em; margin-top: 1.3125em; margin-bottom: 0.4375em; } } .titlepage__subtitle { font-size: 1.142857em; line-height: 1.3125; margin-top: 0; margin-bottom: 1.3125em; } .titlepage__publisher { font-size: 1.428571em; line-height: 1.05; margin-top: 0; margin-bottom: 0; } @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.333333; 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; } [role=doc-chapter] > h1, [role=doc-appendix] > h1, [data-type=excerpt] > h1 { font-size: 1.714286em; line-height: 1.222222; min-height: 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.277778em; } [role=doc-chapter] > h1 + .bdo-section__subheader { margin-top: -4.5rem; margin-bottom: 3rem; } [data-type=excerpt] :last-child { text-indent: 0; } .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: #00E; 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; } .teaser__cover { clear: both; float: left; width: 30%; margin: 0 1em 1em 0; } .teaser__cover > img { border: 1px solid #333; width: 100%; height: auto; vertical-align: bottom; } .teaser__title { font-size: 1.190476em; line-height: 1.26; margin-top: 0; margin-bottom: 0; margin: 0; text-align: left; } .teaser__author { font-style: italic; text-align: left; -webkit-hyphens: none; -ms-hyphens: none; -epub-hyphens: none; hyphens: none; } .teaser__text { clear: both; }