/* @group Reset */

html, body, section, nav, article, aside, h1, h2, h3, h4, h5, h6, hgroup, header, footer, address,
p, hr, pre, blockquote, ol, ul, li, dl, dt, dd, figure, figcaption, div,
a, em, strong, small, s, cite, q, dfn, abbr, time, code, var, samp, kbd, i, b, mark, span, br,
ins, del,
img, iframe, embed, object, video, audio, canvas, map, area,
table, caption, colgroup, tbody, thead, tfoot, tr, td, th,
form, fieldset, legend, label, input, button, select, textarea,
details, summary, command, menu {
    vertical-align: baseline;
    margin: 0;
    padding: 0;
}

table {	border-collapse: collapse;	border-spacing: 0; font-size: 100%;
}

.nobr {
	white-space: nowrap;
	-ms-hyphens:manual;
	-mov-hyphens:manual;
	-webkit-hyphens:manual;
	hyphens: manual;
}

.paren {
	font-style: normal;
}

.highlight, mark {
	background-color: rgba(255,255,0,0.5);
}

/* @end */

/* @group Webfonts */

@font-face {
	font-family: 'Ingeborg';
	src:	url('/webfont/Ingeborg-Fat.woff2') format('woff2'),
			url('/webfont/Ingeborg-Fat.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Premiera';
	src:	url('/webfont/Premiera-Book.woff2') format('woff2'),
			url('/webfont/Premiera-Book.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Premiera';
	src:	url('/webfont/Premiera-Bold.woff2') format('woff2'),
			url('/webfont/Premiera-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Premiera';
	src:	url('/webfont/Premiera-Italic.woff2') format('woff2'),
			url('/webfont/Premiera-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: fallback;
}

@font-face {
	font-family: 'Skolar Sans Cn';
	src:	url('/webfont/SkolarSansCn.woff2') format('woff2'),
			url('/webfont/SkolarSansCn.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Skolar Sans Cn';
	src:	url('/webfont/SkolarSansCn-It.woff2') format('woff2'),
			url('/webfont/SkolarSansCn-It.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: fallback;
}

@font-face {
	font-family: 'Skolar Sans Cn';
	src:	url('/webfont/SkolarSansCn-Sb.woff2') format('woff2'),
			url('/webfont/SkolarSansCn-Sb.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Skolar Sans';
	src:	url('/webfont/SkolarSans.woff2') format('woff2'),
			url('/webfont/SkolarSans.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Skolar Sans';
	src:	url('/webfont/SkolarSans-It.woff2') format('woff2'),
			url('/webfont/SkolarSans-It.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: fallback;
}

@font-face {
	font-family: 'Consolas';
	src:	local('Consolas'),
			url('/webfont/Consolas') format('woff2'),
			url('/webfont/Consolas.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Consolas';
	src:	local('Consolas-Bold'),
			local('Consolas Bold'),
			url('/webfont/Consolas-Bold.woff2') format('woff2'),
			url('/webfont/Consolas-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: fallback;
}

/* @end */

/* @group OpenType features */

body {
	-webkit-font-feature-settings:"liga" 1, "kern" 1, "onum" 1, "pnum" 1 ;
	font-feature-settings:"liga" 1, "kern" 1, "onum" 1, "pnum" 1 ;
}	
h1, h2, h3, h4, table, .lnum, pre code {
	-webkit-font-feature-settings:"lnum" 1;
	font-feature-settings:"lnum" 1;
}
table, .tnum {
	-webkit-font-feature-settings:"tnum" 1;
	font-feature-settings:"tnum" 1;
}
article h5, article h6 {
	-webkit-font-feature-settings:"smcp" 1, "c2sc" 1;
	font-feature-settings:"smcp" 1, "c2sc" 1;
}
.c2sc { /* caps 2 Smallcaps */
	-webkit-font-feature-settings:"c2sc" 1;
	font-feature-settings:"c2sc" 1;
}

.no-c2sc .c2sc, cite .c2sc, blockquote p .c2sc, i .c2sc, dfn .c2sc, em .c2sc, th .c2sc, h1 .c2sc, h2 .c2sc, h3 .c2sc, h4 .c2sc { /* Override small-caps */
	-webkit-font-feature-settings:"c2sc" 0, "lnum" 1;	
	font-feature-settings:"c2sc" 0, "lnum" 1;
}

.no-c2sc.all-caps {
	letter-spacing:0.05em;
}

.smcp { /* Smallcaps */
	-webkit-font-feature-settings:"smcp" 1;
	font-feature-settings:"smcp" 1;
}

.zero, math { /* slashed zero */
	-webkit-font-feature-settings:"zero" 1;
	font-feature-settings:"zero" 1;
}

@supports (font-variant-numeric:oldstyle-nums) and (font-variant-ligatures:common-ligatures) and (font-kerning:normal) and (font-variant-caps: all-small-caps ) {
	body {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-ligatures: common-ligatures;
		font-kerning: normal;
		font-variant-numeric: oldstyle-nums proportional-nums;
	}
	h1, h2, h3, h4, table, .lnum, pre code {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-numeric: lining-nums;
	}
	table, .tnum {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-numeric: tabular-nums;
	}
	article h5, article h6 {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-caps: all-small-caps;
	}
	.c2sc {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-caps: all-small-caps;
	}
	
	.no-c2sc .c2sc, cite .c2sc, blockquote p .c2sc, i .c2sc, dfn .c2sc, em .c2sc, th .c2sc, h1 .c2sc, h2 .c2sc, h3 .c2sc, h4 .c2sc, .isSafari th .c2sc, .isSafari h1 .c2sc, .isSafari h2 .c2sc, .isSafari h3 .c2sc, .isSafari h4 .c2sc, .isSafari .no-c2sc .c2sc {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-caps: normal;
		font-variant-numeric: lining-nums;
	}
	
	.smcp {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-caps: small-caps;
	}
	
	.zero, math {
		-webkit-font-feature-settings: normal;
		font-feature-settings: normal;
		font-variant-numeric: slashed-zero;
	}	
}

/* over-ride for Safari which always synths small-caps with font-variant-caps */

.isSafari .c2sc {
	font-variant-caps: normal;	
	font-feature-settings:"c2sc" 1;
}

.isSafari .smcp {
	font-variant-caps: normal;	
	font-feature-settings:"smcp" 1;	
}

/* subscripts and superscripts */

/* subscripts */
sub { 
	-webkit-font-feature-settings: "subs" 1;
	font-feature-settings: "subs" 1;
 }

@supports (font-variant-position: sub) {
    sub {
    	-webkit-font-feature-settings: normal;
    	font-feature-settings: normal;
    	font-variant-position: sub;
    }   
}
@supports ((font-variant-position: sub) or (font-feature-settings: "subs" 1) or (-webkit-font-feature-settings: "subs" 1)) {
    sub {
    	 vertical-align: inherit;
          font-size: inherit;
    }
}

/* superscripts */
sup { 
	 -webkit-font-feature-settings: "sups" 1;
	 font-feature-settings: "sups" 1;
 }

@supports (font-variant-position: super) {
    sup {
    	-webkit-font-feature-settings: normal;
    	font-feature-settings: normal;
    	font-variant-position: super;
    }   
}
@supports ((font-variant-position: super) or (font-feature-settings: "sups" 1) or (-webkit-font-feature-settings: "sups" 1)) {
    sup { vertical-align: inherit;
          font-size: inherit; }
}

sub.force, sup.force {
	font-size: .833333333em;
	position: relative;
}

sub.force {
	top: 0.25em;
}

sup.force {
	top: -0.3333em;
}

/* @end */


body {
	font-family: "Premiera", "Cambria", "Roboto Slab", "Georgia", "Times New Roman", serif, ".PhoneFallback", "Arial Unicode MS";
	background: #fbf9f1;
	color: #171717;
    line-height: 1.5;
}

.chaptercover {	
	background: #ACBCC8;
	color: #000;
}

article, footer.footer  {
	padding-left: 3%;
	padding-right: 3%;
}

footer.footer {
	clear: both;
}

article section {
	position: relative;
}

a, .toggle__input + label {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	transition: all 0.25s ease;
}

@supports (text-decoration-skip: ink) or (-webkit-text-decoration-skip: ink) {
	a, .toggle__input + label {
		text-decoration: underline rgba(0,0,0,0.2);
		-webkit-text-decoration: underline rgba(0,0,0,0.2);
		text-decoration-skip: ink;
		-webkit-text-decoration-skip: ink;
		border-bottom: 0;
	}
}

a:hover, a:active, a:focus {
	color: rgb(231, 25, 1);
	border-bottom: 1px solid rgba(0,0,0,0.6);
}

/* @group Toggle toc */

.toc {
	margin-top:1.5em;
	font-family: "Skolar Sans", "Avenir Next", "Segoe UI", "Roboto", Verdana, sans-serif;
}

.toggle__input:not(checked) {
    display: none;
}
.toggle__input + label {    
    cursor: pointer;
}
.toggle__input:not(checked) ~ .toggle__content {
    display: none;
}
.toggle__input:checked ~ .toggle__content {       
    display: block;
}
.toggle__input + label .toggle__less, .toggle__input:checked + label .toggle__more  {
    display: none;
}
.toggle__input:checked + label .toggle__less {
    display: inline;
}

/* @end */

@supports (text-decoration-skip: ink) or (-webkit-text-decoration-skip: ink) {
	a:hover, a:active, a:focus {
		text-decoration: underline rgba(0,0,0,0.6);
		-webkit-text-decoration: underline rgba(0,0,0,0.6);
		border-bottom: 0;
	}
}

article:not(#toc) a[href*="/chapter/"] { /* italicise links to other chapters */ 
	font-style: normal;
}

img {
	max-width: 96%;
	vertical-align: bottom;
}

cite, dfn, em {
	font-style: italic;
}

q {
	quotes: '‘' '’' '“' '”';
}

strong {
	font-weight: bold;
	color: rgba(0,0,0,0.85);
}

strong strong {
	text-decoration: underline;
}

pre, code, var, samp, kbd {
	font-family: consolas, "andale mono", "droid sans mono", monospace, "Lucida Grande", "Arial Unicode MS";
	font-size: 14.5px;
	font-size: .90625rem;
	-webkit-hyphens: manual;
	-moz-hyphens: manual;
	-ms-hyphens: manual;
	hyphens: manual;
}

kbd {
	font-size:  13.5px;
	font-size: .84375rem;
}

pre {
	line-height: 1.379310345em; /* 20px */
	margin-left: 1.655172414em; /* 24px */
}

kbd {
	color: #777;
}

kbd img.icon {
	width: 1em;
	height: 1em;
	vertical-align: text-bottom;
	background: none;
	padding: 0;
	box-shadow: none;
}

kbd kbd {
	background: #fff;
	color: #000;
	padding: .111111111em .444444444em;
	box-shadow: 0 .055555556em .055555556em rgba(0,0,0,0.3);
	border-radius: .166666667em;
	margin-left: .111111111em;
	margin-right: .111111111em;
}

.keystrokes--none {
	color: #777;
	padding-left:.84375em;
	font-size: 88.8888889%;
}

.keystrokes--spacechr {
	background: #ccc;
}

sup a { /* footnote */
	padding: 0 0.111em;
	border: 0;
	text-decoration: none;
	color: rgba(0,0,0,0.5);
}

article p, article li, article table, article dl, article figcaption, article caption, article blockquote {
	-webkit-hyphens: auto;
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 3;
	-webkit-hyphenate-limit-chars: 7 4 3;
	-webkit-hyphenate-limit-lines: 2;	
	-webkit-hyphenate-limit-zone: 8%;
	-webkit-hyphenate-limit-last: always;
	
	-moz-hyphens: auto;
	-moz-hyphenate-limit-chars: 7 4 3;
	-moz-hyphenate-limit-lines: 2;	
	-moz-hyphenate-limit-zone: 8%;
	-moz-hyphenate-limit-last: always;
	
	-ms-hyphens: auto;
	-ms-hyphenate-limit-chars: 7 4 3;
	-ms-hyphenate-limit-lines: 2;	
	-ms-hyphenate-limit-zone: 8%;
	-ms-hyphenate-limit-last: always;
	
	hyphens: auto;
	hyphenate-limit-chars: 7 4 3;
	hyphenate-limit-lines: 2;	
	hyphenate-limit-zone: 8%;
	hyphenate-limit-last: always;
}

h1 {
	font-size: 11vmin;
	line-height: 1;
	padding-top: 25vh;
	margin-bottom: 1em;
	font-weight: 900;
	letter-spacing: -0.012345679em; /* 1px */
	font-family: Ingeborg, Premiera, Cambria, "Roboto Slab", Georgia, "Times New Roman", serif;
	color: rgba(0,0,0,0.8);
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1 span {
	font-weight: 800;
	padding-right: 0.5em;
	margin-left: -1em;
	display: none;
}

h1:after {
  content: "";
  border-bottom: 2px solid rgba(0,0,0,0.25);
  display: block;
  width: 25%;
  margin: 1em auto 0 auto;
}

h2 {
	font-size: 25px;
	font-size: 1.5625rem;
	line-height: 1.08em; /* 27px */
	margin-top: 2em;
	margin-bottom: 0.3333em;
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h3 {
	font-size: 21px;
	font-size:1.3125rem;
	line-height:1.143; /* 24px */
	margin-top: 1.143em;
	margin-bottom: .19047619em;
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h4 {
	font-size: 1rem;
	margin-top:1.5em;
	font-weight:bold;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

article h5, article h6 {
	font-weight:normal;
	font-size: 1rem;
	margin-top:1.5em;
}

ul, ol, dl {
	margin-bottom: 0.75em;
}

blockquote {
	margin: 1.5em auto;
}

blockquote+blockquote {
	margin-top: 3em;
}

ul ul, ul ol, ol ol, ol ul {
	margin-bottom: 0;
}

p+ul, p+ol, p+dl, .group-with-aside+ul, .group-with-aside+ol, .group-with-aside+dl {
	margin-top: 0.75em;
}

p+p {
	text-indent: 1.5em;
	margin-top: 0;
}

h1+p+p, p.intro+p {
	text-indent: 0;
}

h1+p, p.intro {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 1.333333333em; /* 24px */
}

ul, ol {
	padding-left: 1.5em;
}

article li {
	padding-right: 1.5em;
}

dt {
	font-weight: bold;
	float: left;
	margin-right: 0.5em;
	clear: left;
}

dd {
	margin-bottom:0.75em;
}

dd p {
	width: auto;
}

figure {
	margin-top: 3em;
	margin-bottom: 3em;
	position: relative;
	text-align: center;
}

figure.pre {
	
}

math {
	font-family: Premiera, Cambria, 'Cambria Math', "Roboto Slab", Georgia, "Times New Roman", serif, "Arial Unicode MS";
	font-size: 1.5em;
	line-height: 1;
	margin: 0;
	font-style: normal;
}

nav.toc, nav.nextprev, h5 {
	font-family: "Skolar Sans Ex", "Avenir Next", "Segoe UI", "Roboto", Verdana, sans-serif;
}

figcaption, caption, article aside, .ex-label, .ex--scale-key, .outlink, ol.outlinks {
	font-family: "Skolar Sans Cn", "Avenir Next Condensed", "PT Sans Narrow", "Arial Narrow", "Roboto Condensed", sans-serif;
}

figure img {
	background: #fff;
	padding: 0.75em 2%;
}

figcaption, figcaption p, caption, caption p, article aside p {
	color: #666;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.371428571; /* 19.2px (5 lines per 4 lines of body text) */
}

article aside {
	border-left: 1px solid rgba(0,0,0,0.25);
	padding-left: 0.5625em;
	margin: 0.75em 0;
}

figcaption p, article aside p {
	margin: 0;
	width: auto;
	text-indent: 0;
}

figcaption p+p, article aside p+p {
	margin-top: .642857143em;
}

.fig-example {
	background:#fff;
	padding:2%;
	border:1px solid #ccc;
}

.ex-label {
	position:absolute;
	background:#fff;
	padding:0 0.25em;
	top:-0.5em;
	left:2%;
	font-size:1rem;
}

blockquote {
	font-style: italic;
	position: relative;
	margin-left: 1.5em;
}

.quoted p {
	quotes: '“' '”' '‘' '’';
}
.quoted p::before {
	content: open-quote;
	margin-left: -0.83ch;
}
.quoted p::after  {
	content: close-quote;
}

blockquote footer {
	text-align: right;
	font-style: normal;
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.714285714em; /* 24px */
}

.fig-table, .fig-pre {
	max-width: 100%;
	overflow-x: auto;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

th, td {
	padding-right: 0.5em;
	padding-left: 0.5em;
	padding-top: 0.25em;
	padding-bottom: 0.5em;
	line-height: 1;
}

figure th, figure td {
	text-align: left;
}

th:first-child, td:first-child {
	padding-left: 0.125em;
}

th:last-child, td:last-child {
	padding-right: 0;
}

td.nums, th.nums, tr.nums th, tr.nums td {
	text-align: right;
}

.typecat-sample img {
	width: 657px;
}

.index-nobullets ul {
	list-style: none;
	padding-left: 0em;
}

/* @group Footnotes */

section.footnotes:before {
  content: "";
  border-top: 2px solid rgba(0,0,0,0.25);
  display: block;
  width: 10%;
  margin: 4em 0 0 0;
  padding-top: 0.5em;
}

section.footnotes ol {
	width: auto;
	font-size: 0.888888889rem;
	line-height: 1.3125em;
}

section.footnotes li {
	margin-bottom: .65625em;
}

section.footnotes a[rev] {
	border: 0;
	text-decoration: none;
	color: rgba(0,0,0,0.5);
}

section.footnotes p {
	width: auto;
}

/* @end */


/* @group Backers */

.backers {padding-left:0}
.backers li {display:inline-block; white-space: nowrap; padding-right: 0.75em}
.backers-big li {
	font-size: 24px;
	font-size:1.5rem; }
.backers-sml li {
	font-size: 14px;
	font-size: .875rem; }

/* @end */

@media only screen and (min-width: 38em) {
/*
	h1 {
		font-size: 51px;
		font-size: 3.1875rem;
	}
*/
	article, footer.footer, h5, nav.nextprev {
		padding: 0 1.5%;
	}
	
	article, nav.nextprev, nav.chaptertoc, h5 {
		max-width: 56rem;
		margin-left: auto;
		margin-right: auto;
	}
	
	h2, h3, h4, article h5, article h6, p, ul, ol, dl, figure, figure.fullwidth figcaption, blockquote, header h5 nav, section.footnotes {
		width: 67.8571429%; /* 38em */
		margin-left: auto;
		margin-right: auto;
	}
	
	li h4, li p, li figure {
		width: auto;
	}
	
	blockquote p {
		width: auto;
		padding-left: 1.5em;
	}
	
	ul, ol {
		padding-left: 3em;
	}
	
	ul ul, ul ol, ol ol, ol ul {
		width: auto;
		padding-left: 1em;
		margin-bottom: 0;
	}
	
	figure {
		text-align: left;
	}
	
	figcaption {
		text-align: right;
		position: absolute;
		bottom: 0.5em;
		left: -23.6842105%;
		width: 22.368421053%;
	}
	
	figure.fullwidth, ul.fullwidth {
		width: auto;
		text-align: center;
	}
	
	figure.fullwidth figcaption {
		padding-top:1px;
		text-align: inherit;
		position: static;
	}
	
	figure.fullwidth table {
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
	
	caption {
		caption-side: bottom;
		border-top: 1px solid #ccc;
		margin-top: 0.5em;
		padding-top: 0.5em;
	}
	
	.group-with-aside {
		position:relative;
	}
	
	article aside {
		text-align: left;
		position: absolute;
		top: 0.25em;
		right: 0;
		width: 13.3928571%;
		margin: 0;
	}
	p+aside+p, .group-with-aside+p, p+.group-with-aside>p {
		text-indent: 1.5em;
	}
	section.footnotes ol {
		padding: 0;
	}
}



@media screen and (min-width:60em) and (min-height:30em) {

	h1 {
		font-size: 78px;
		font-size: 4.875rem;
	}
		
	h2 {
		font-size: 28px;
		font-size: 1.75rem;
	}
	
	h3 {
		font-size: 21px;
		font-size: 1.3125rem;
		margin-top: 1.285714286em; /* 27px */
	}
	
	h4 {
		font-size: 18px;
		font-size: 1.125rem;
	}
	
	h5 {
		font-size: 18px;
		font-size: 1.125rem;
	}
	
	article h5, article h6 {
		font-size: 18px;
		font-size: 1.125rem;
	}
	
	p, li, dl, table {
		font-size: 18px;
		font-size: 1.125rem;
	}
		
	h1+p, p.intro {
		font-size: 21px;
		font-size: 1.3125rem;
		margin-bottom: 1.285714286em; /* 27px */
	}
	
	kbd {
		font-size: 15px;
		font-size: .9375rem;

	}
	
	pre, code, samp {
		font-size: 16.5px;
		font-size: 1.03125rem;
	}
	pre {
		line-height: 1.272727273; /* 21px */
	}

	.ex-label {
		font-size: 18px;
		font-size: 1.125rem;
	}
	
	figcaption, figcaption p, caption, caption p, article aside p {	
		font-size: 18px;
		font-size: 1rem;
		line-height: 1.35; /* 21.6px (5 lines per 4 lines of body text) */
	}	
	
	blockquote footer {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.6875em; /* 27px */
	}
	
	section.footnotes ol {
		font-size: 1rem;
		line-height: 1.3125; /* 21px */
	}
	
	nav.nextprev a {
		font-size: 1rem;
	}
	
	article, nav.nextprev, nav.chaptertoc, h5 {
		max-width: 63rem;
	}	
	
	nav.toc {
		margin-left: -16.875em;
	}
	
	.toc-visible nav.toc {
		width: 16.875em;
	}
	
	.toc-visible main {
		margin-right: -16.875em;
		margin-left: 16.875em;
	}
	
	.backers-big li {
		font-size: 27px;
		font-size: 1.6875rem; }
	.backers-sml li {
		font-size: 16px;
		font-size: 1rem; }
}

.outlink {
	color: rgba(0,0,0,0.5);
	display: inline;
}

@media print {
	.outlink {
		display: inline;
	}
}

@media screen and (min-width:120em) and (min-height:60em) {

	h1 {	
		font-size: 104px;
		font-size: 6.5rem;
	}
		
	h2 {
		font-size: 33px;
		font-size: 2.0625rem;
	}
	
	h3 {
		font-size: 25px;
		font-size: 1.5625rem;
		margin-top: 1.26em; /* 31.5px */
	}
	
	h4 {
		font-size: 21px;
		font-size: 1.3125rem;
	}
	
	h5 {
		font-size: 21px;
		font-size: 1.3125rem;
	}
	
	article h5, article h6 {
		font-size: 21px;
		font-size: 1.3125rem;
	}
	
	p, li, dl, table {
		font-size: 21px;
		font-size: 1.3125rem;
	}
		
	h1+p, p.intro {
		font-size: 25px;
		font-size: 1.5625rem;
		margin-bottom: 1.26em; /* 31.5px */
	}
	
	pre, code, samp {
		font-size: 19px;
		font-size: 1.1875rem;
	}
	kbd {
		font-size: 17.5px;
		font-size: 1.09375rem;
	}
	pre {
		line-height: 1.105263158; /* 21px */
	}

	.ex-label {
		font-size: 21px;
		font-size: 1.3125rem;
	}
	
	figcaption, figcaption p, caption, caption p, article aside p {	
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.326315789; /* 25.2px (5 lines per 4 lines of body text) */
	}
	
	blockquote footer {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.75em; /* 31.5px */
	}	
	
	section.footnotes ol {
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.105263158; /* 21px */
	}
	
	nav.nextprev a {
		font-size: 19px;
		font-size: 1.1875rem;
	}
	
	article, nav.nextprev, nav.chaptertoc, h5 {
		max-width: 73.5rem;
	}
	
	.backers-big li {
		font-size: 32px;
		font-size: 2rem; }
	.backers-sml li {
		font-size: 18px;
		font-size: 1.125rem; }
 }


footer.end:before {
   content: "";
   border-top: 2px solid rgba(0,0,0,0.25);
   display: block;
   width: 25%;
   margin: 4em auto 0 auto;
   padding: 2em 0;
 }



#fss {
	position: absolute;
	left: 2%;
	margin: 0;
	text-align: left;
}

#fss img {
	width: calc(25px + 3vw);
	height: calc(25px + 3vw);
	padding-top: calc(10px + 1.5vw);
	background-color:#961c00;
}
#headings {
	text-align: center;
	position: relative;
	padding: 0 5%;
}
#headings h1 {
	font-size: 15vmin;
	letter-spacing: -0.015em;
	line-height: 0.8em;
	margin: 0;
	padding: 20vmin 0 0 0;
}

#headings h1:after {
  border: none;
  display: none;
  width: auto;
  margin: 0;
}

#headings h2 {
	font-size: calc(0.3em + 4vmin);
	line-height: 1.1em;
	text-align: center;
	width: auto;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 15em;
	font-weight: normal;
}

#headings h3 {
	font-size: calc(0.3em + 3vmin);
	margin-top: 2em;
	font-weight: normal;
}

#headings .ampconf {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	max-width: 50rem;
	background: #fff;
	border-radius:1.5em;
	position: relative;
	top: 1.5em;
}

#headings .ampconf p {
	width: auto;
	padding: 0 1em 0.5em 1em;
}

#headings .ampconf img {
	max-width: 100%;
}

@media screen and (min-width:60em) and (min-height:30em) {
	#headings h1 {
		font-size: 144px;	
	}
	
	#headings h2 {
		max-width: 20em;
	}
}

.embed-container { position: relative; padding-bottom: 56.25%; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.buy {
	text-align: center;
	padding-bottom: 1.5em;
}

.buy-options {
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding-left: 0;
	flex-wrap:wrap;
}

.cta {
	clear: both;
	width: 11.5em;
	margin: 1.5em 0 0 0;
	padding-right: 0;
	border: 4px double rgb(255,255,255);
	text-align: center;
	font-family: inherit;
	background-color: #801d21;
	border-radius: 0.5em;
}

.cta a, .cta span {
	text-decoration: none;
	color: #fff;
	padding: 0.5em 0;
	display: block;
}

.cta:hover, .cta:active, .cta:focus, .cta:hover {
	box-shadow: 0 2px 0.5em rgba(0, 0, 0, 0.75);
}

button.cta {
	margin-top: 0;
	width: auto;
}

button.cta span {
	padding: 0.5em;
}
em.vat, em.soldout {
	font-style: normal;
}