@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200;
  src: local('Nunito ExtraLight'), local('Nunito-ExtraLight'), url(./ViLndXkIxpZ-HIR2QN6RxYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200;
  src: local('Nunito ExtraLight'), local('Nunito-ExtraLight'), url(./435LE6RouaKgurFqwBpF2oX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200;
  src: local('Nunito ExtraLight'), local('Nunito-ExtraLight'), url(./BCVslGnw-rd3HMmA07k035Bw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Light'), local('Nunito-Light'), url(./ZvK1I6E_n0tqLlSfX5iQt4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Light'), local('Nunito-Light'), url(./Ve-3R8cx10m4Gk92esWKKoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Light'), local('Nunito-Light'), url(./1TiHc9yag0wq3lDO9cw0vpBw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Regular'), local('Nunito-Regular'), url(./DbmoEiLFv2l2THgnoltNxn-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Regular'), local('Nunito-Regular'), url(./Ja-W2r1mUFvMx9Mn05mLi3-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Regular'), local('Nunito-Regular'), url(./6TbRXKWJjpj6V2v_WyRbMevvDin1pK8aKteLpeZ5c0A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  src: local('Nunito SemiBold'), local('Nunito-SemiBold'), url(./jW9QvBetW8QNJxYXLrtuIYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  src: local('Nunito SemiBold'), local('Nunito-SemiBold'), url(./rHcc7iSXLXa-OOVBKYktooX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  src: local('Nunito SemiBold'), local('Nunito-SemiBold'), url(./NcqjkPJTQZlJIFxZdZcTe5Bw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Bold'), local('Nunito-Bold'), url(./xcW9OnmNQS2wUr2mZnW3-IX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Bold'), local('Nunito-Bold'), url(./uGMHL94-PyB0HAplpWqScIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Bold'), local('Nunito-Bold'), url(./TttUCfJ272GBgSKaOaD7KpBw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  src: local('Nunito ExtraBold'), local('Nunito-ExtraBold'), url(./YBEkJR8d131Y7Twl5tOP8IX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  src: local('Nunito ExtraBold'), local('Nunito-ExtraBold'), url(./5mhSNH8mQPt4rCLVvIPPg4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  src: local('Nunito ExtraBold'), local('Nunito-ExtraBold'), url(./uWPftrNW4xALzHc_KE-W1JBw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Black'), local('Nunito-Black'), url(./y5mmzJj8dLv6xnj9DmxpsYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Black'), local('Nunito-Black'), url(./-k0ZoRll4vPYwdNYm4v9B4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Black'), local('Nunito-Black'), url(./Cj2facSP9LFhbctU5GJ2WJBw1xU1rKptJj_0jans920.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: local('PT Serif'), local('PTSerif-Regular'), url(./5hX15RUpPERmeybVlLQEWBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: local('PT Serif'), local('PTSerif-Regular'), url(./fU0HAfLiPHGlZhZpY6M7dBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: local('PT Serif'), local('PTSerif-Regular'), url(./CPRt--GVMETgA6YEaoGitxkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: local('PT Serif'), local('PTSerif-Regular'), url(./I-OtoJZa3TeyH6D9oli3iXYhjbSpvc47ee6xR_80Hnw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(./QABk9IxT-LFTJ_dQzv7xpPZraR2Tg8w2lzm7kLNL0-w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(./QABk9IxT-LFTJ_dQzv7xpF4sYYdJg5dU2qzJEVSuta0.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(./QABk9IxT-LFTJ_dQzv7xpKE8kM4xWR1_1bYURRojRGc.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(./QABk9IxT-LFTJ_dQzv7xpIgp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}

* {
	box-sizing:border-box;
}
body {
	counter-reset: chapternum figurenum;
	padding:0;
	margin:0;
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
}
::selection {
  background: #fffd54;
}
::-moz-selection {
  background: #fffd54;
}
.highlight {
	background:#fffd54;
}
.cover a {
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
}
h1,h2,h3,h4,h5 {
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	font-weight:800;
	color:#333;
	line-height:1.25;
}
a { 
	color:#2a80b9;
	color:#48a6e4;
	text-decoration:none;
	font-weight:bold;
}
a:hover {
	text-decoration:underline;
}
h1 {
	font-size:3em;
}
a.xref:after {
  content: " (page " target-counter(attr(href, url), page) ")";
}
body {
	-webkit-print-color-adjust: exact; 
	font:20px/30px 'PT Serif',Georgia,serif;
	background:#f9f9f9;
	text-rendering: optimizeLegibility;
	color:#4c4c4c;
}
.chapter {
	padding:1em;
	/*string-set: doctitle content(); */
	margin:0 auto;
	/*border-top:1px solid #efefef;*/
	padding-bottom: 4em;
	padding-top: 0em;
}
.chapter:before {
	/*counter-increment: chapternum;*/
	/*content: counter(chapternum) ". ";*/
}
.cover {
	min-height:100vh;
	page-break-before: always;
	page-break-after: always;
	z-index:98;
	margin-bottom:4em;
}
.cover#make {
	margin-bottom:0;
}
html:not(.sidebar-expanded) .cover#make {
	z-index:1002;
}

p {
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
img {
	position:relative;
	background:#fff;
	margin:0 auto;
	margin-top:2em;
	margin-bottom:2em;
	display:block;
	width:100vw;
	max-width: 1200px;
}
img.lazyload {
	min-height:550px;
	background:#262626;
}
@media (max-width:600px) {
	img.lazyload {
		min-height:250px;
	}
}
p,h1,h2,h3,h4,h5,li,ul {
	margin:1em auto;
	width:100%;
	max-width:700px;
}
h1,h2,h3,h4,h5,li,ul,table,blockquote {
	page-break-after: avoid;
}

ul {
	width:auto;
}
table,blockquote,img {
	page-break-inside: avoid;
	max-width:700px;
	margin:0 auto;
	/*counter-increment: figurenum;*/
}
table td {
	padding:0.5em;
	font-size:1.25em;
}
h1,h2,h3,h4,h5 {
	margin-bottom:0.5em;
	max-width:calc(700px + 1em);
}
blockquote {
	margin:0 auto;
	display:block;
	margin-left:2em auto;
	padding:1em;
	border-left:8px solid #ddd;
}
blockquote.code {
	border: 2px solid #e3e3e9;
	border-radius:16px;
	font-size:0.85em;
	padding:1em;
	background-color: #f7f7f9;
	color: #ce1b52;
	display: block;
	font-family: "Consolas", "Ubuntu Mono", "monaco", "courier", "monospace" !important;
}
blockquote.code pre {
	font-family:inherit;
	font-size:inherit;
	margin:0;
}
.bold {
	font-weight:bold;
}
.materials {
	page-break-before: always;
	page-break-after: always;
}

table,
.box,
.materials,
.exercise {
	background-color:#fff;
	border-radius:5px;
	border: 1px solid #e3e3e9;
	padding:2em;
	padding-left:3em;
	margin:0 auto;
	margin-top:2em;
	margin-bottom:2em;
	max-width:900px;
	width:90%;
}
.box h3,
.materials h3,
.exercise  h3 {
	margin-top:0;
}
.cover {
	height:100vh;
	min-height:100vh;
	max-height:100vh;
	width:100%;
	background:#262626;
	position:relative;
	color:#ff4742;
}

.cover#make h1 {
	font-size:20vw;
	width:100%;
}
.cover#make .line {
	background:#ff4742;
	height:2.5vw;
	width:96.5%;
	left:0.5%;
	position:relative;
	display:block;
	display:none;
	margin:0 auto;
}
.cover#make h2 {
	font-size:3.725vw;
}
.cover .center {
	margin:0;
	padding:0;
	position:absolute;
	top:47.5%;
	max-width:none;
	width:100%;
	left:50%;
	color:#ff4742;
	transform:translateX(-50%) translateY(-50%);
	font-size:15vw;
	font-size:6em;
    text-align: center;
    display:block;
}
.cover a {
	color:#ff4742;
	border-bottom:2px solid #ff4742;
	text-decoration:none;
}
.cover a:hover {
	text-decoration:none;
}
.cover h1 {
	margin:0;
	padding:0;
	max-width:none;
	color:#ff4742;
    text-align: center;
    display:block;
    overflow:hidden;
    margin-bottom:-0.175em;
    margin-top:-0.25em;
    font-size:1em;
}
@media (max-width:600px) {
	.cover h1 {
		font-size:0.5em;
	}
}

.cover h2 {
	margin:0;
	padding:0;
	max-width:none;
	color:#fff;
	font-size:2.8vw;
    text-align: center;
    display:block;
    text-transform:uppercase;
    overflow:hidden;
}
.cover h3,
.cover h4 {
	margin:0;
	padding:0;
	max-width:none;
	color:#fff;
	font-size:2.5vw;
	margin-top:0.5em;
    text-align: center;
    display:block;
    font-weight:100;
    overflow:hidden;
}
.cover h4 {
	font-size:1.5vw;
    font-weight:100;
	margin-top:1em;
}

.cover.reverse {
	background:#ff4742;
}
.cover.reverse h1 {
	color:#333;
	color:#fff;
}
html,body {
	overflow-x:hidden;
}
.pay-modal .avatar,
.cover .author .avatar {
	background-size:cover;
	width:50px;
	height:50px;
	background-color:#fff;
	border-radius:100%;
	vertical-align:middle;
	display:inline-block;
	border:1.5px solid #fff;
}
.pay-modal .avatar {
	width:30px;
	height:30px;
}

.cover .author a {
	color:#fff;
	border:none;
	text-decoration:none;
}
.cover .author {
	padding:2em;
	text-align:center;
	color:#fff;
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	font-size:1em;
	position:absolute;
	bottom:1em;
	width:100%;
	font-weight:400;
	text-align:center;
}
.cover .top {
	padding:2em;
	text-align:center;
	color:#fff;
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	font-size:1em;
	position:absolute;
	top:1em;
	width:100%;
	font-weight:400;
	text-align:center;
}
.cover .author a {
	font-weight:400;
}
.cover .author .credentials {
	font-size:1em;
	font-weight:400;
	margin-top:0em;
	margin
	display:inline-block;
}
.cover .author .credentials a {
	color:#ff4742;
	border-bottom:2px solid #ff4742;
}
.todo-box {
	max-width:700px;
	margin:0 auto;
}
.table-of-contents .subset {
	max-width:700px;
	margin:0 auto;
	padding-left:1em;
}
.table-of-contents .subset-h2 {
	margin-bottom:1em;
}
.table-of-contents .subset-h3 {
}
.table-of-contents .subset a {
	display:block;
	color:#4c4c4c;
	font-weight:400;
}
.table-of-contents .subset a.active,
.table-of-contents .subset a:hover {
	color:#4c4c4c;
	text-decoration:underline;
}
.table-of-contents a.chapter-heading {
	font-weight:bold;
}
.table-of-contents a.h1 {
	font-weight:900;
}
.table-of-contents a.h2 {
	font-weight:900;
}
.table-of-contents a.h3 {
	font-weight:400;
}
.table-of-contents a.h4 {
	font-weight:400;
}
.intro {
	font-weight:800;
}
.cover a.dotted {
	border:none;
	display:inline-block;
	text-decoration:underline;
	color:#ff4742;
	font-weight:700;
	text-decoration-skip:ink;
	text-decoration-style:dotted;
}
.todo {
	width:100vw;
	height:100vh;
	background-color:green;
	color:#fff;
	display:block;
}
@media (max-width:600px) {
	.cover#make h1 {
		font-size:34vw;
	}
	.cover#make h2 {
		font-size:5.55vw;
	}
	.cover#make h3 {
		font-size:5.35vw;
	}
	.cover#make h4 {
		font-size:4.35vw;
	}
}
.sidebar-toc {
	left:0;
	top:0;
	height:100vh;
	background:#fff;
	width:25vw;
	z-index:100;
	font-size:0.9em;
	position:fixed;
	border-right:1px solid #ededed;
	padding:1.5em;
	overflow-y:scroll;
	display:none;
	opacity:0.7;
}
.sidebar-toc .gradient {
	position:fixed;
	bottom:0;
	left:0;
	width:25vw;
	height:10vh;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+100 */
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}
.cover .author img {
	background:none;
	vertical-align:middle;
	width:60px;
	height:60px;
	margin:0;
	margin-top:0;
	margin-right:5px;
	margin-left:0px;
	display:inline;
}
.action-toggle-sidebar {
	display:none;
}
@media (min-width:1100px) {
	html.sidebar-expanded .sidebar-toc {
		display:block;
	}
	html.sidebar-expanded body {
		padding-left:25vw;
	}	
	.action-toggle-sidebar {
		display:block;
		background:#fff;
		padding:0.5em;
		font-size:0.75em;
		cursor:pointer;
		z-index:999;
		font-weight:bold;
		color:#808080;
		position:fixed;
		left:0;
		top:calc(25vh - 2em);
	}
	html.sidebar-expanded .action-toggle-sidebar {
		left:25vw;
		left:calc(25vw - 1px);
		border-top:1px solid #ededed;
		border-right:1px solid #ededed;
		border-bottom:1px solid #ededed;
		border-top-right-radius:5px;
		border-bottom-right-radius:5px;
	}
	html.sidebar-expanded .action-toggle-sidebar .fold {
		display:block;
	}
	html.sidebar-expanded .action-toggle-sidebar .expand {
		display:none;
	}
	html:not(.sidebar-expanded) .action-toggle-sidebar .fold {
		display:none;
	}
	html:not(.sidebar-expanded) .action-toggle-sidebar .expand {
		display:block;
	}
	html:not(.sidebar-expanded) .action-toggle-sidebar {
		border-top:1px solid #ededed;
		border-right:1px solid #ededed;
		border-bottom:1px solid #ededed;
		border-top-right-radius:5px;
		border-bottom-right-radius:5px;
	}
	.action-toggle-sidebar:hover {
		background-color:#efefef;
	}
}

/*.cover {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}*/
.page-counter {
	position:fixed;
	top:1em;
	right:1em;
	font-size:0.85em;
	opacity:0.5;
}


.pay-cta {
	position:fixed;
	left:0;
	bottom:0;
	width:100vw;
	padding:14px;
	background:rgba(255,71,66,0.95);
	color:#fff;
	font-weight:600;
	z-index:1000;
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	text-align:center;
}
.cover .button,
.pay-cta .button {
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	background:#fff;
	font-weight:800;
	cursor:pointer;
	color:#ff4742;
	border:2px solid #fff;
	display:inline-block;
	margin-left:14px;
	margin-right:14px;
	padding:14px;
	border-radius:5px;
}
.cover .button {
	font-size:20px;
    display: inline-block;
    font-family: "Nunito";
    background:#ff4742;
    border:2px solid #ff4742;
    color:#fff;
}
.cover .button:hover {
	background:none;
	color:#ff4742;
}
@media (max-width:1000px) {
	.pay-cta .button {
		margin-top:14px;
	}
}
@media (max-width:600px) {
	.pay-cta .button {
		display:block;
	}
}
.pay-modal .button {
	background:#ff4742;
	font-weight:800;
	cursor:pointer;
	color:#fff;
	border:2px solid #ff4742;
	display:inline-block;
	margin:14px;
	padding:14px;
	display:block;
	border-radius:5px;
	width:100%;
	margin-top:0;
	margin-left:0;
	margin-right:0;
}
.pay-modal .button.disabled {
	filter:saturate(0%);
	opacity:0.5;
}
.pay-modal .button:hover {
	background:#fff;
	border:2px solid #ff4742;
	color:#ff4742;
}
.pay-modal .button:active {
	color:#fff;
	background:#ff4742;
	border:2px solid #ff4742;
	opacity:0.75;
}
.pay-cta .button:hover {
	background:#ff4742;
	border:2px solid #fff;
	color:#fff;
}
.pay-cta .button:active {
	color:#ff4742;
	background:#fff;
	border:2px solid #fff;
	opacity:0.75;
}
.pay-modal-backdrop {
	position:fixed;
	z-index:2000;
	background:rgba(0,0,0,0.75);
	top:0;
	left:0;
	display:none;
	width:100vw;
	height:100vh;
	cursor:pointer;
}
.pay-modal {
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	position:fixed;
	width:100%;
	display:none;
	max-width:856px;
	background:#fff;
	top:50%;
	top:calc(50% - 2.5em);
	left:50%;
	transform:translateX(-50%) translateY(-50%);
	z-index:2002;
	padding:28px;
	padding-left:56px;
	padding-right:56px;
	overflow:hidden;
	border-radius:5px;
}
.pay-modal-head {
	font-weight:800;
	font-size:1.5em;
	margin-bottom:0.5em;
}
.pay-modal-subhead {
	font-weight:400;
	font-size:0.9em;
	color:#8c8c8c;
}
.pay-modal-list {
	margin-top:1em;
}
.pay-modal-list-item {
	margin-top:0.5em;
	margin-bottom:0.5em;
	padding-left:14px;
}
.pay-modal .left {
	width:calc(50% - 14px);
	text-align:left;
	padding-right:28px;
	padding-top:14px;
}
.pay-modal .left a {
	color:#4c4c4c;
}
.pay-modal .right {
	border-left:1px solid #efefef;
	width:calc(50% - 14px);
	padding-left:28px;
	text-align:center;
	padding-top:28px;
}
.pay-modal .right #card-element,
.pay-modal .right input {
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	appearance:none;
	-webkit-appearance:none;
	font-size:16px;
	padding:14px;
	padding-top:19px;
	padding-bottom:19px;
	border-radius:5px;
	outline:none;
	box-shadow:none;
	border:1px solid #efefef;
	width:100%;
	margin:14px;
	margin-left:0;
	margin-right:0;
}
.pay-modal .right input.name,
.pay-modal .right #card-element {
	margin-top:0;
}
.pay-modal .right .pay-modal-head {
	font-size:2em;
}
.pay-modal .left .pay-modal-subhead.author {
	float:right;
	margin-top:1px;
}
.pay-modal .left,
.pay-modal .right {
	display:inline-block;
	vertical-align:top;
	font-size:16px;
}
@media (max-width:800px) {
	.pay-modal {
		position:relative;
		border-radius:0;
		top:0;
		left:0;
		transform:none;
		padding:14px;
	}
	.pay-modal .left {
		display:none;
	}
	.pay-modal .right {
		width:calc(100% - 14px);
		border:none;
		padding:14px;
		height:100vh;
	}
}
.pay-cta .encrypted {
	font-family: monospace;
	background:#fff;
	color:#ff4742;
	padding-left:0.5em;
	padding-right:0.5em;
	transform:rotate(-1deg);
	display:inline-block;
}

.pay-modal-subhead.disclaimer {
	text-align:center;
	width:100%;
	font-size:0.75em;
	color:#afafaf;
    margin-bottom: -0.5em;
    margin-top: 0.5em;
}

.pay-modal .stripe a {
	font-weight:normal;
	color:#4c4c4c;
}


.feedback-popup {
	position:fixed;
	border:1px solid #ededed;
	bottom:0;
	font-family:"Nunito","Helvetica Neue","Helvetica","sans-serif";
	left:2em;
	margin:0;
	width:19em;
	text-align:left;
	padding:0.5em;
	padding-left:0.75em;
	padding-right:0.75em;
	z-index:99;
	border-radius:5px;
	border-bottom-left-radius:0;
	border-bottom-right-radius:0;
	border-bottom:0;
	background:#fff;
	cursor:pointer;
}
.feedback-popup {
	font-size:15px;
}
.feedback-popup * {
	display:none !important;
	box-sizing:border-box;
}
.feedback-popup .action-expand-feedback-popup {
	background:#808080;
	border-radius:5px;
	padding:0.5em;
	color:#fff;
	font-size:10px;
	position:absolute;
	top:0.85em;
	right:0.85em;
	display:block !important;
}
.feedback-popup .title {
	display:block !important;
	font-weight:bold;
}
.feedback-popup.expanded .title {
}
.feedback-popup .title:hover {
	text-decoration:underline;
}
.feedback-popup.expanded * {
	display:block !important;
}
.feedback-popup.expanded a {
	display:inline !important;
}
.feedback-popup.expanded {
	cursor:normal;
	min-height:18em;
}
.feedback-popup .text {
	margin-top:15px;
	margin-bottom:5px;
	font-size:14px;
}
.feedback-popup input,
.feedback-popup textarea {
	width:100% !important;
	border: 1px solid #ededed !important;
    padding: 7px !important;
    margin-bottom: 5px !important;
    font-size: 14px !important;
    border-radius: 5px !important;
	box-shadow:none !important;
	font-weight:normal !important;
	outline:none !important;
}
.feedback-popup textarea {
	min-height:7em;
}
.feedback-popup .button {
	float:right;
	font-weight:bold;
	padding:0.25em;
	padding-left:0.75em !important;
	padding-right:0.75em !important;
	border-radius:5px !important;
	background:#ff4742;
	border:2px solid #ff4742;
	color:#fff;
	margin-top:5px;
	text-transform:none !important;
}
.feedback-popup .button:hover {
	color:#ff4742;
	background:none;
}
.feedback-popup .success-text {
	font-size:14px;
	margin-top:15px;
	display:none !important;
}
.feedback-popup.success * {
	display:none !important;
}
.feedback-popup.success .fa,
.feedback-popup.success .title,
.feedback-popup.success .success-text {
	display:block !important;
}
.feedback-popup:not(.expanded) .success-text {
	display:none !important;
}

@media (max-width:600px) {
	.feedback-popup {
		display:none;
	}
	.cover .author {
		font-size:0.85em;
		bottom:0;
	}
}
@media (max-width:600px) {
	.cover .author {
		font-size:0.75em;
	}
	body {
		font:15px/23px 'PT Serif',Georgia,serif;
	}
}

@media (max-width:350px) {
	.cover .author {
		font-size:0.85em;
	}
	.pay-cta .button {
	    font-size: 0.85em;
		padding: 7px;
		margin-top:7px;
	}
	.hide-before-400px {
		display:none;
	}
	ul {
		width:calc(100% - 14px);
		padding:1em;
	}
	body {
		font:15px/25px 'PT Serif',Georgia,serif
	}
}
@media (max-height:500px) {
	.hide-before-400px {
		display:none;
	}
	.cover#make h1,
	.cover h1 {
		font-size:34vh;
	}
	.cover#make h2 {
		font-size:5.55vh;
	}
	.cover#make h3 {
		font-size:5.35vh;
	}
	.cover .author {
		padding:14px;
		bottom:0;
		font-size:5.55vh;
	}
	.cover .author .avatar {
		width:35px;
		height:35px;
	}
}

@page {
	margin:28px;
	/*.cover {
		margin:0;
	}*/
    size: 8.5in 15.11in; /* iphone */
    /* size: 8.5in 14; /* ebook/ipad */
	/*@bottom-left {
		margin: 10pt 0 30pt 0;
		border-top: .25pt solid #666;
		content: "MAKE book";
		font-size: 9pt;
		color: #333;
	}
	@bottom-right {
		content: counter(page);
	}
	@top-right {
		content: string(doctitle);
		margin: 30pt 0 10pt 0;
		font-size: 8pt;
	}*/
}

@media print
{    
    .page-counter
    {
        display: none !important;
    }
    body {
    	 font:30px/45px 'PT Serif',Georgia,serif; /* iphone 
    	/* font:20px/30px 'PT Serif',Georgia,serif; /* ipad */
    }
}
@media (max-height:800px) {
	.cover {
		font-size:0.75em;
	}
}


.producthunt-voter {
	z-index:10000;
	top:1em;
	left:1em;
	position:absolute;
}
@media (max-width:600px) {
	.producthunt-voter {
		display:none;
	}
}