/* ==========================================================================
   0. Normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
   ========================================================================== */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
body {
  margin: 0;
}
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
button,
input { /* 1 */
  overflow: visible;
}
button,
select { /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

/* ==========================================================================
   1. typeplate.css v3.0.2 | CC License | github.com/typeplate/starter-kit
   ========================================================================== */
@charset "UTF-8";
/*!
Typeplate : Starter Kit
URL ........... http://typeplate.com
Version ....... 3.0.2
Github ........ https://github.com/typeplate/starter-kit
Authors ....... Dennis Gaebel (@gryghostvisuals) & Zachary Kain (@zakkain)
License ....... Creative Commmons Attribution 3.0
License URL ... https://github.com/typeplate/starter-kit/blob/master/license.txt
*/
@font-face {
  font-family: "Ampersand";
  src: local("Georgia"), local("Garamond"), local("Palatino"), local("Book Antiqua");
  unicode-range: U+0026;
}
@font-face {
  font-family: "Ampersand";
  src: local("Georgia");
  unicode-range: U+270C;
}
.typl8-tera, .typl8-giga, .typl8-mega, h1, .typl8-alpha, h2, .typl8-beta, h3, .typl8-gamma, h4, .typl8-delta, h5, .typl8-epsilon, .typl8-zeta, h6 {
  text-rendering: optimizeLegibility;
  line-height: 1;
  margin-top: 0;
  color: #222;
}
blockquote + figcaption cite {
  display: block;
  font-size: inherit;
  text-align: right;
}
body {
  word-wrap: break-word;
}
pre code {
  word-wrap: normal;
}
html {
  font: normal 112.5% / 1.65 serif;
}
body {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  color: #444;
}
.typl8-tera {
  font-size: 6.5em;
  margin-bottom: 3.93939rem;
}
.typl8-giga {
  font-size: 5em;
  margin-bottom: 3.0303rem;
}
.typl8-mega, h1 {
  font-size: 4em;
  margin-bottom: 2.42424rem;
}
.typl8-alpha, h2 {
  font-size: 3.33333em;
  margin-bottom: 2.0202rem;
}
.typl8-beta, h3 {
  font-size: 2.66667em;
  margin-bottom: 1.61616rem;
}
.typl8-gamma, h4 {
  font-size: 2em;
  margin-bottom: 1.21212rem;
}
.typl8-delta, h5 {
  font-size: 1.33333em;
  margin-bottom: 0.80808rem;
}
.typl8-epsilon {
  font-size: 1.16667em;
  margin-bottom: 0.70707rem;
}
.typl8-zeta, h6 {
  font-size: 1em;
  margin-bottom: 0.60606rem;
}
p {
  margin: auto auto 1.5rem;
}
p + p {
  text-indent: 1.5rem;
  margin-top: -1.5rem;
}
small {
  font-size: 65%;
}
input,
abbr,
acronym,
blockquote,
code,
kbd,
q,
samp,
var {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
pre {
  white-space: pre;
}
pre code {
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
}
code {
  white-space: pre;
  font-family: monospace;
}
abbr {
  -webkit-font-variant: small-caps;
  -moz-font-variant: small-caps;
  -ms-font-variant: small-caps;
  font-variant: small-caps;
  font-weight: 600;
  text-transform: lowercase;
  color: gray;
}
abbr[title]:hover {
  cursor: help;
}
.typl8-drop-cap:first-letter {
  float: left;
  margin: 10px 10px 0 0;
  padding: 0 20px;
  font-size: 4em;
  font-family: inherit;
  line-height: 1;
  text-indent: 0;
  background: transparent;
  color: inherit;
}
p + .typl8-drop-cap {
  text-indent: 0;
  margin-top: 0;
}

/* ==========================================================================
   2. Undefined | No license | github.com/curiositry/undefined-ghost-theme
   ========================================================================== */

body {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  /*line-height: 1.5;*/
}

img {
  max-width: 100%;
  height:  auto;
}

figure {
  margin-left: auto;
  margin-right: auto;
}

figcaption {
  text-align: center;
}

.inline-block {
  display: inline-block;
}


/* IMAGE WIDTH STYLES */
/* ================== */

/* Style at will... */
/* figure.kg-width-full { } */
/* figure.kg-width-wide { } */
/*
PROTIP:
Try something like as a starting point for centering images that are wider than their parent container's width:

.full-bleed {
	  width: 100vw;
	  position: relative;
	  left: 50%;
	  right: 50%;
	  margin-left: -50vw;
	  margin-right: -50vw;
	}

For large images that aren't full width, but are larger than their parent, just replace 100vw with your max width (say, 1000px), and then replace the -50vw margins with -{NUM}px / 2 (in this case, -500px). You can see a version of this techinique in action in the stylesheet of my MNML Ghost theme:
https://github.com/curiositry/mnml-ghost-theme
*/

/* IMAGE GALLERY STYLES */
/* ==================== */

/* Style at will... */
.kg-gallery-card { }
.kg-gallery-container { }
.kg-gallery-row { }
.kg-gallery-image { }

/*
Docs can be found here: http://themes.ghost.org/docs/ghost-editor#section-gallery-card

The implementation that Ghost recommends is pretty robust, with one caveat: it needs a few lines of JavaScrpt. Example can be found here:
https://github.com/TryGhost/Casper/pull/475/files#diff-ce5e030f2e2e2a50f18199464f07ea70
*/


/* BOOKMARK CARD STYLES */
/* ==================== */

/* Style at will... */
.kg-bookmark-card { }
.kg-bookmark-container { }
.kg-bookmark-content { }
.kg-bookmark-title { }
.kg-bookmark-description,
.kg-bookmark-metadata { }
.kg-bookmark-thumbnail { }
.kg-bookmark-thumbnail img { }
.kg-bookmark-icon { }
.kg-bookmark-author:after { }
.kg-bookmark-publisher { }


/*
Docs can be found here: https://ghost.org/docs/api/v2/handlebars-themes/editor/#bookmark-card

The example implementation in the Ghost docs isn't bad, although you may want to adjust the image styles a bit.

Want something a bit leaner? You can drop the snippet I used in my premium Weblog theme that right in here! Here it is: https://gist.github.com/curiositry/511c84204f136a97d65cf77a39b230bf
*/


/* SUBSCRIPTION & MEMBERSHIP STYLES */
/* ================================= */

.notification-area {
  display: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #99ea02;
  padding: 1rem;
  box-sizing: border-box;
}

.billing-cancel .notification-area {
  background-color: #ccc;
}

.message-success,
.message-error {
  display: none;
}

.message-error,
[data-members-error] {
  color: red;
}

.message-success {
  color: green;
}

.loading button span,
.error button span,
.success button span {
  display: none;
}

.loading button::after {
  content: "Loading...";
}

.error button::after {
  content: "Error :(";
}

.success button::after {
  content: "Success :)";
}

.success ~ .message-success,
.invalid ~ .message-error,
.error ~ .message-error {
  display: block;
}

/* ==========================================================================
   3. General - Basic style setup
   ========================================================================== */

:root {
  --black: #212121;
  --blue: #1972e6;
  --bone: #fffffb;
  --gray: #827d7d;
  --gray_dark: #5b5757;
  --gray_light: #8f8a8a;
  --red: #d83218;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background-color: var(--bone);
  color: var(--black);
  font-family: "EB Garamond", serif;
  font-size: 21px;
  hyphens: none;
  -webkit-hyphens: none;
  max-width: 800px;
  overflow-x: hidden; /* Get rid of scrollbars created by full bleed */
}

main {
  counter-reset: sidenote-counter;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  text-align: center;
}

/* Link style from Tufte CSS | MIT License | https://edwardtufte.github.io/tufte-css/ */
a {
  color: inherit;
  text-decoration: none;
  background: -webkit-linear-gradient(#fffffb, #fffffb), -webkit-linear-gradient(#fffffb, #fffffb), -webkit-linear-gradient(currentColor, currentColor);
  background: linear-gradient(#fffffb, #fffffb), linear-gradient(#fffffb, #fffffb), linear-gradient(currentColor, currentColor);
  -webkit-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
  -moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
  background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
  background-repeat: no-repeat, no-repeat, repeat-x;
  text-shadow: 0.03em 0 #fffffb, -0.03em 0 #fffffb, 0 0.03em #fffffb, 0 -0.03em #fffffb, 0.06em 0 #fffffb, -0.06em 0 #fffffb, 0.09em 0 #fffffb, -0.09em 0 #fffffb, 0.12em 0 #fffffb, -0.12em 0 #fffffb, 0.15em 0 #fffffb, -0.15em 0 #fffffb;
  background-position: 0% 93%, 100% 93%, 0% 93%;
}

a:hover {
  color: var(--red);
  text-decoration: none;
  background: unset;
  text-shadow: unset;
}

/* Book-style paragraphing */
p + p, figure + p {
  text-indent: 1.5rem;
  margin-top: -1.5rem;
}

h2 + p, h3 + p, blockquote + p, ul + p, ol + p {
  text-indent: 1.5rem;
}

blockquote {
  color: var(--gray_dark);
  margin: -.75rem 0 0.75rem -1.8rem;
  padding: 0 0 0 1.65rem;
  border-left: var(--red) 3px double;
}

blockquote p {
  margin: 0;
}

/* Style on every post's <article> tag */
.post {
  position: relative;
  max-width: 740px;
  margin: 0.825rem auto;
  padding: 0 1.65rem;
  word-break: break-word;
}

.post__box {
  padding: 0 1.65rem;
}

.post__box p {
  margin: 0;
  text-indent: 0;
}

.post__excerpt a, .post__title a, .post__tags a, .main-header a, .site-footer a, .archive a {
  background: unset;
  text-shadow: unset;
}

.post__excerpt a:hover, .post__title a:hover {
  color: inherit;
}

.post__tags a:hover, .main-header a:hover, .site-footer a:hover, .archive a:hover {
  color: var(--red);
  text-decoration: none;
}

.post__title {
	margin: 0.5rem  0 0.66rem 0;
}

.post--meta {
  text-align: center;
}

.post__excerpt {
  margin: auto auto 0.5rem;
}

.post__tags, .post__date {
  color: var(--gray_light);
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
}

.post__tags svg {
  fill: var(--gray_light);
  position: relative;
  top: 0.1em;
}

.post__border {
  border-bottom: var(--gray_light) 1px solid;
  margin: 1.65rem auto;
  max-width: 740px;
}

.post__border-small {
  border-bottom: var(--gray_light) 1px solid;
  margin: 1.65rem auto;
  max-width: 456px;
}

.post__border-tiny {
  border-bottom: var(--gray_light) 1px solid;
  margin: 1.65rem auto;
  max-width: 115px;
}

.style-smallcaps {
  font-variant: small-caps;
  letter-spacing: 0.06em;
}

.style-allcaps {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.style-mono {
  font-family: "Roboto Mono", monospace;
}

/* ==========================================================================
   4. Utilities - CSS helpers
   ========================================================================== */

/* Extends object across entire viewport */
.full-bleed {
  max-width: 100vw;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Wrapper for full bleed and scaling */
.wrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   5. Header - Site header, menu, and navigation
   ========================================================================== */

.main-header {
  color: var(--black);
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  margin: 0 0 0.825rem 0;
}

.main-header__ribbon {
  border-top: var(--gray_light) 1px solid;
  border-bottom: var(--gray_light) 1px solid;
  padding: 0.66rem 0;
}

.main-header__container {
  display: flex;
  justify-content: space-between;
}

.main-header nav {
  margin: auto 0;
  text-align: left;
}

nav ul {
  margin: 0;
  padding: 0;
}

nav li {
  display: inline;
  list-style-type: none;
}

nav ul::before {
  content: "\00A0\25FC";
  color: var(--red);
  display: inline;
}

/* ==========================================================================
   6. Post - Individual content layout
   ========================================================================== */

.post__header {
  margin: 0 0 1.65rem 0;
  text-align: center;
}

.post__content h2, .page__content h2 {
  font-size: 1.7em;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  margin-top: 2rem;
  margin-bottom: 1.4rem;
  text-align: left;
}
.post__content h3, .page__content h3 {
  font-size: 1.33333em;
  font-style: italic;
  font-weight: 400;
  margin-top: 1.21212rem;
  margin-bottom: 0.80808rem;
  line-height: 1;
  text-align: left;
}

figcaption {
  color: var(--gray_dark);
  font-style: italic;
}

.post ul, .post ol {
  margin-top: -0.75rem;
  margin-bottom: 0.75rem;
}

/* Drop cap */
.post__content > p:first-of-type::first-letter {
  font-size:4rem;
  margin: 0.66rem .5rem 0 0;
  line-height: 0.9;
  float:left;
  -webkit-margin-before: 0;
  -webkit-margin-after: -0.66rem;
}

/* End mark */
.post__content > p:last-of-type::after {
  content: "\00A0\220E";
  color: var(--red);
  display: inline;
}

.afterthought, .epigraph, .forethought{
  color: inherit;
  font-style: italic;
  margin-top: 1rem;
  margin-bottom: 1.65rem;
}

.post .kg-image {
  display:  block;
  margin-left: auto;
  margin-right: auto;
  height:  auto;
}

.post .kg-width-wide {
  max-width: 100vw;
  width: 900px;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -450px;
  margin-right: -450px;
}

.post .kg-width-wide .kg-image {
  max-width: 900px;
  width: 900px;
}

figure.kg-width-full {
  max-width: 100vw;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

figure.kg-width-full .kg-image {
  max-width: 100vw;
  width: 100vw;
}

/* ==========================================================================
   7. Page - Content layout for tag system and one-off pages
   ========================================================================== */

.page, .tag-info {
  position: relative;
  max-width: 740px;
  margin: 0.825rem auto;
  padding: 0 1.65rem;
  word-break: break-word;
}

.page__header {
  margin: 0 0 1.65rem 0;
  text-align: center;
}

.extra-margin {
  margin-top: 1.65rem;
}

.tag-info__intro, .tag-info__meta {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
}

.tag-info__meta svg {
  position: relative;
  top: 0.1em;
}

.post-label {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  margin-bottom: 0.825rem;
}

.archive h4 {
  font-size: 1em;
  line-height: 1;
  margin-left: 1.65rem;
  margin-bottom: 0.60606rem;
  text-align: left;
}

/* Date display for archive page */
.post-date-1 + .post-date-1 .post-label,
.post-date-2 + .post-date-2 .post-label,
.post-date-3 + .post-date-3 .post-label,
.post-date-4 + .post-date-4 .post-label,
.post-date-5 + .post-date-5 .post-label,
.post-date-6 + .post-date-6 .post-label,
.post-date-7 + .post-date-7 .post-label,
.post-date-8 + .post-date-8 .post-label,
.post-date-9 + .post-date-9 .post-label,
.post-date-10 + .post-date-10 .post-label,
.post-date-11 + .post-date-11 .post-label,
.post-date-12 + .post-date-12 .post-label {
  display: none;
}

/* ==========================================================================
   8. Share - Share buttons for social media
   ========================================================================== */

.share ul {
  list-style: none;
  margin: 0.825rem auto;
  text-align: center;
  padding: 0;
  /*align-items: center;*/
}

.share ul li {
  display: inline-block;
  padding: 0 5px;
}

.share svg {
  fill: var(--gray_light);
  vertical-align: top;
  height: 1.8rem;
}

.share a {
  text-decoration: none;
  background: unset;
  text-shadow: unset;
}

.share svg:hover {
  fill: var(--red);
}

.share__fb {
  height: 1.5rem;
}

/* ==========================================================================
   9. Footer - Site footer
   ========================================================================== */

.site-footer {
  position: relative;
  margin: 1.65rem 0 0 0;
  padding: 0 0 2.457rem 0;
  line-height: 1;
  max-width: none;
}

.site-footer__border {
  border-top: #827D7D 1px solid;
}

.site-footer__attribution{
  margin-left: 0.825rem;
}

.site-footer__attribution--contact{
  margin-top: 1rem;
}

.site-footer label {
  display: block;
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  margin-bottom: 0.2rem;
}

.site-footer__attribution--copyright {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  margin-top: 1.65rem;
}

/* ==========================================================================
   10. Pagination - Prev/next page links
   ========================================================================== */

.pagination {
  color: #212121;
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
  text-align: center;
}

.page-number {
  display: inline-block;
}

/* Push the previous/next links out to the left/right */
.older-posts,
.newer-posts {
  /*position: absolute;*/
  /*display: inline-block;*/
  /*padding: 0px 15px 5px 15px;*/
}

/* ==========================================================================
   11. Sidneotes based on Tufte CSS | MIT License | https://edwardtufte.github.io/tufte-css/ 
   ========================================================================== */

.sidenote {
  float: right;
  clear: right;
  display: none;
  margin-right: -60%;
  width: 50%;
  margin-top: 0.3rem;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.1;
  vertical-align: baseline;
  position: relative;
}

.sidenote-number {
  counter-increment: sidenote-counter;
  cursor: pointer;
}

.sidenote-number:hover {
  color: var(--red);
}

.sidenote-number:after,
.sidenote:before {
  font-family: "EB Garamond", serif;
  position: relative;
  vertical-align: baseline;
}

.sidenote-number:after {
  content: counter(sidenote-counter);
  font-size: 0.8rem;
  top: -0.5rem;
  left: 0.1rem;
}

.sidenote:before {
  content: counter(sidenote-counter) " ";
  font-size: 0.8rem;
  top: -0.5rem;
}

blockquote .sidenote {
  margin-right: -82%;
  min-width: 59%;
  text-align: left;
}

.sidenote > code {
  font-size: 1rem;
}

input.margin-toggle {
  display: none;
}

label.sidenote-number {
  display: inline;
}

label.margin-toggle:not(.sidenote-number) {
  display: inline;
}

.margin-toggle:checked + .sidenote {
  display: block;
  float: left;
  left: 1rem;
  clear: both;
  width: 95%;
  margin: 1rem 2.5%;
  vertical-align: baseline;
  position: relative;
}

/* ==========================================================================
   12. Support, Subscription, Membership 
   ========================================================================== */
#btn-support {
  border: var(--gray_light) 1px solid;
  border-radius: 48px;
  margin: auto 1rem auto 1rem;
  padding: 1px 10px;
  text-align: center;
}

#btn-support:hover, #btn-support:active  {
  border-color: var(--red);
  background-color: var(--red);
  color: var(--bone);
}

/* ==========================================================================
   13. Media - Mobile rendering
   ========================================================================== */
@media only screen and (max-width: 900px) {
  html {
    font-size:80%;
  }

  .post, .page {
    padding: 0 1.5rem;
  }

  .post__box {
    margin: 1rem auto;
  }

  .main-header, .post__tags, .post__date, .site-footer label, .site-footer__attribution--copyright, .pagination, .tag-info__meta, .post-label {
    font-size: 1rem;
  }

  blockquote {
    margin-left: -0.825rem;
    padding-left: 0.675rem;
  }

  .post__content > p:first-child::first-letter {
    font-size: 5.65rem;
  }

  .post .kg-width-wide {
    max-width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
  }

  .post .kg-width-wide .kg-image {
    width: 100vw;
  }
}
