/** {
  transition: all 0.5s ease;
}
*/
@font-face {
    font-family: "ETBembo";
    src: url("../fonts/ETBembo-RomanLF.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "ETBembo";
    src: url("../fonts/ETBembo-DisplayItalic.ttf") format("truetype");
    font-weight: normal;
    font-style: italic;
}
html { font-size: 17.5px }
body {
    font-family: ETBembo, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
    background-color: #f4f4f4;
    color: #2e2e2e;
    counter-reset: sidenote-counter;
    width: 100%;
    padding: 0;
    margin: 0;
    min-width: 800px;
    /*max-width: inherit;*/
    /*position: relative;*/
    transition: all 0.5s ease;
}
h1 {
    font-weight: bold;
    margin-top: 2rem;
    margin-bottom: 1.25rem;
    font-size: 28px;
    line-height: 1;
}
h2 {
    font-style: italic;
    font-weight: bold;
    margin-top: 1.5rem;
    margin-bottom: 0;
    font-size: 26px;
    line-height: 1;
}
h3 {
    font-style: italic;
    font-weight: bold;
    font-size: 21px;
    margin-top: 2rem;
    margin-bottom: 0;
    line-height: 1;
}

.post-title {}

p.subtitle {
    font-style: italic;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 2.1rem;
    display: block;
    line-height: 1;
}
table {
    width: 98%;
    width: 800px;
    text-align: right;
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 1.4rem 1%;
    border-collapse: separate;
    border-spacing: 0 5px;
    -webkit-font-feature-settings: 'tnum'; /* This is technically redundant */
    -moz-font-feature-settings: 'tnum';
    -ms-font-feature-settings: 'tnum';
}
thead th {
    border-bottom: 1px solid #AAAAAA;
    font-weight: 400;
    border-collapse: separate;
    border-spacing: 5px 5px;
}
td.text { text-align: left }
hr { border-color: #636363 }
article {
    position: relative;
    padding: 2rem 0rem 0rem 0rem;
}
section {
    padding-top: .5rem;
    padding-bottom: 1rem;
}
p,
ol,
ul { font-size: 21px; }
p {
    line-height: 1.75;
    margin-top: 1em;
    margin-bottom: .5rem;
    padding-right: 0;
    vertical-align: baseline;
}
blockquote {
    margin: .5em 0;
    padding: .25em 2em;
    border-left: 5px solid rgba(95, 95, 95, 0.23);
}
blockquote p { font-size: 21px }
blockquote p:first-of-type { margin-top: .65em }
blockquote ol {
  /*width: 65%*/
  /*width: 800px;*/
}
blockquote footer {
    width: 100%;
    text-align: left;
    padding-bottom: 1em;
    font-size: 19px;
    /*opacity: .75;*/
    font-style: italic;
    line-height: 1.5;
}
ul {
    /*width: 45%;*/
    -webkit-padding-start: 5%;
    -webkit-padding-end: 5%;
    list-style-type: none;
}
li { padding: 0.5rem 0 }
figure {
    margin-top: -.5em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    margin-bottom: 2em;
    font-style: italic;
}
figcaption {
    float: right;
    clear: right;
    margin-right: -48%;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.0rem;
    line-height: 1.6;
    vertical-align: baseline;
    position: relative;
}
figure.fullwidth figcaption { margin-right: 24% }
a {
    color: #176ced;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
img { max-width: 100% }

.kg-width-wide {
    max-width: 85vw;
    margin-left: calc(50% - 42.5vw);
}
.kg-width-full {
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
}
.kg-width-wide img,
.kg-width-full img {
    max-width: 100%;
}

.code {
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 1.125rem;
    line-height: 1.6;
}
h1 .code,
h2 .code,
h3 .code { font-size: 0.80em }
.marginnote .code,
.sidenote .code { font-size: 1rem }
pre.code {
    width: 52.5%;
    padding-left: 2.5%;
}
pre {
    white-space: pre;
    font-size: 17.5px;
    line-height: 1.5;
    /*overflow: auto;*/
}
.video {
    max-width: 500px;
    border: .5em solid white;
}

.lb-data {
    margin-top: 10px;
}

.lb-data .lb-caption {
    font-size: 1.25em;
    color: white;
    display: inline-block;
    margin-top: .5em;
}

.content {
    margin: 0 auto;
    width: 600px;
    padding: 0 2em;
}

.nav {
    box-sizing: border-box;
    width: 100%;
    /*background: white;*/
    position: relative;
    padding: 1em 2em;

    margin: 0 auto;
    max-width: 600px;
    padding: 1em 0;
}
.nav h2 {
    padding: .5em .25em;
    margin-top: 0;
    font-weight: bold;
    font-size: 32px;
    padding-left: 0;
}
.nav a {
    color: black;
}

.nav-current { color: black }
.nav-current:hover {
    color: #176ced;
    text-decoration: none;
}
.post img {
    /*width: 100%;*/
    max-width: 500px;
    text-align: center;
    /*border: .5em solid white;*/
}

.pagination {
  margin-top: 2em;
}

.site-footer {
    padding: 1em;
    width: 500px;
    margin: 4rem 0 0 0;
    /*width: 50%;*/
    margin: 6rem auto 0 auto;
    /*min-width: 350px;*/
/*/    max-width: 800px;*/
    width: 600px;
}


.switchery, .js-switch {
  position: absolute;
  right: 1em;
  top: 35%;
}

.dark-theme {
  background: #1c1c1f;
  color: #dcd7d2;
}

.dark-theme a {
  color: #21a0e2;
}

.dark-theme .nav a {
  color: white;
}

.dark-theme .nav-current {
  color: black;
}

.dark-theme .number {
  background: none;
}

.number {
  /*background: white;*/
  padding: 1em 0;
  box-sizing: border-box;
  margin: 0 0 0;
}

.number h2 {
  font-size: 2.5em;
  margin: 0;
  color: #1cbb86;
  text-align: center;
}

.number h2 span {
  font-size: .65em;
}

.number p {
  width: 320px;
  margin: 10px auto 0 auto;
  font-style: italic;
  text-align: center;
  line-height: 1.5;
}

@media (max-width: 800px) {
  body {
    min-width: inherit;
  }

  .nav {
    max-width: inherit;
    padding: .5em 1em;
  }

  .switchery {
    top: 34%;
  }

  .content {
    width: 100%;
    box-sizing: border-box;
    padding: 0 1.5em;
  }

  article {
    margin-top: 0;
    padding-top: 1em;
  }

  p {
    /*font-size: 1.125rem;*/
  }

  pre {
    /*white-space: pre-line;*/
    overflow: auto;
    padding: 10px 5px;
    font-size: 13px;
    line-height: 1.85;
    /*box-shadow: inset -10px 0px 10px 3px #e1e1e4;*/
    /*border-right: 1px solid white;*/
  }

  blockquote {
    padding: .25em 0 .25em .85em;
  }

  .post img {

  }

  .video {
    width: 90%;
  }

  .site-footer {
    box-sizing: border-box;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .post img {
    max-width: 320px;
  }
}