/****************** reset *****************/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
img + em,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
div.section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
img + em,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
div.section {
  display: block;
}
body {
  line-height: 1;
}
/* ol, ul { */
/* 	list-style: none; */
/* } */
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/****************** kortina *****************/

/* stylelint-disable */
body {
  /* stylelint-enable */
  text-align: center;
  font-family: 'Helvetica-Neue', Helvetica, sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: subpixel-antialiased;
  color: rgb(0, 0, 0);
  font-size: 22px;
  /* letter-spacing: 0.1599999964237213px; */
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
article p > img,
img.w-article,
hr,
aside,
blockquote,
details,
pre,
ul,
ol,
time,
label,
footer,
section,
table,
div.section {
  text-align: left;
  display: block;
  margin: 0 auto;
  margin-bottom: 40px;
}

ul ul, .b-notes ul ul {
  /* don't put space below nested lists */
  margin-bottom: 0;
  /* set the indent on lists */
  margin-left: 1em;
}

figcaption,
img + em {
  margin: 0 auto;
  display: block;
  text-align: center;
}

/* alt caption style */
img + em {
  margin-top: -30px; /* offset the 40px margin-bottom of img outside of figure, leaving 10px */
}

iframe {
  border: none;
}

.b-notes {
  font-size: 18px;
}
.b-notes h1,
.b-notes h2,
.b-notes h3,
.b-notes h4,
.b-notes h5,
.b-notes h6,
.b-notes p,
.b-notes article p > img,
.b-notes img.w-article,
.b-notes hr,
.b-notes aside,
.b-notes blockquote,
.b-notes details,
.b-notes pre,
.b-notes ul,
.b-notes ol,
.b-notes time,
.b-notes label,
.b-notes footer,
.b-notes section,
.b-notes table,
.b-notes div.section {
  margin-bottom: 1em;
}
.b-notes img + em {
  margin-top: -1em;
}

.b-notes header h1,
.b-notes header h2,
.b-notes header time,
.b-notes header .time {
  margin-bottom: 0;
}

article li p, .b-notes article li p {
  margin-bottom: 0; /* cause the li has margin bottom too */
}

/****************** b-index *****************/
.b-index header h2 {
    font-weight: normal;
    font-size: 16px;
    color: #666;
}
.b-index h1 {
    font-size: 36px;
}
.b-index p { 
    margin-bottom:.6em;
}
.b-index .time {
    display: none;
}
.b-index h6 {
  font-size: 14px;
  margin-bottom: 0.1rem;
  font-weight: 100;
  color: #666;
  border-top: 1px solid #efefef;
  padding: 0.5rem 0;
}

/****************** flex-grid *****************/
.flex-grid {
  display: flex;
  max-width: 700px;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-grid > div {
  flex: 1;
  flex-basis: 48%;
}
.flex-grid > div:not(:first-child) {
  margin-left: 5px;
}
/* Target the first child when there are an odd number of children */
.flex-grid > div:first-child:nth-last-child(odd) {
  flex-basis: 100%;
}
.flex-grid > div img {
  max-width: 100%;
  border: 1px solid #222;
}

/****************** film-body *****************/
  body.film-body {
    font-family: 'Zen Kaku Gothic New', sans-serif;
  }
  body.film-body h1, body.film-body h2, body.film-body h3, body.film-body h4, body.film-body h5, body.film-body h6 {
    font-family: 'Zen Old Mincho', serif;
  }
  body.film-body h4 {
    margin-bottom: 0;
  }
  body.film-body iframe.video-embed {
    margin-top: 10px;
  }

/****************** not-mobile *****************/
@media (min-width: 700px) {
  figure img {
    max-width: 100vw;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  article p > img,
  img.w-article,
  hr,
  aside,
  blockquote,
  details,
  pre,
  ul,
  ol,
  time,
  label,
  figcaption,
  img + em,
  footer,
  section,
  table,
  div.section {
    max-width: 700px;
  }
  img.mw-1000 {
    max-width: min(1000px, 100vw);
  }
}

details {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

details > summary {
  font-style: italic;
  color: #666;
}

figure {
  display: block;
  margin: 0 auto;
  margin-bottom: 40px;
}

label,
figcaption,
img + em {
  color: #999;
  font-size: 12px;
  margin-bottom: 0;
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1;
}

h1 {
  font-size: 64px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 16px;
}

hr {
  border: 0;
  border-top: 1px solid #eee;
}

hr.fleuron {
  border: 0;
}
hr.fleuron:before {
  content: ' ⥂ ❧ ⇲ ';
  margin: 0 auto 0 auto;
  display: block;
  color: #bbb;
  font-size: smaller;
  letter-spacing: 2em;
  text-align: center;
  width: 100%;
}

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

/****************** nav & links *****************/
nav, nav h2, nav a {
  font-size: 18px;
}

nav h2 {
  display: inline;
  padding: 0;
}

a {
  color: #428bca;
  text-decoration: none;
}

nav a {
  color: #666;
  text-decoration: underline;
}

nav h2 a {
  font-weight: normal;
  text-decoration: none;
}

a:visited,
a:active {
  color: #428bca;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

nav a:visited,
nav a:active {
  color: #666;
}

/****************** lists *****************/
li p {
  margin-bottom: 0;
}

ul,
ol {
  position: relative;
}

/****************** blockquote, aside, pre *****************/
aside,
blockquote,
pre,
pre.highlight {
  background-color: rgba(248, 248, 248, 0.4);
  border: 0;
  border-radius: 0;
  border-left: 4px solid #f5f5f5;
  padding: 20px;
}

pre,
pre.highlight {
  word-break: normal;
  word-wrap: normal;
  white-space: pre;
  overflow-x: scroll;
}

pre.highlight span {
  font-size: 80%;
}

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
}

pre code {
  background-color: transparent;
  padding: 0;
  margin: 0;
}

p code,
li code {
  white-space: normal;
  padding: 2px 4px;
  font-size: 80%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
  overflow-x: scroll;
}

aside {
  border-left: 2px solid #f2f2f2;
  font-size: 80%;
  color: #999;
  padding: 8px;
}
/****************** table *****************/

article table {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  width: max-content;
}
article table td, article table th {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0.5em;
}
article table th {
  background: #fafafa;
}

/****************** header *****************/
header h1,
header h2,
header time,
header .time {
  margin-bottom: 0;
}

header {
  margin-bottom: 40px; /* match h1, h2, p, etc */
  padding-top: 20px;
}

header {
  font-size: 18px;
}
header time,
header .time {
  color: #ddd;
  padding-bottom: 20px;
  font-size: 14px;
}

header .notes-header {
  display: none;
  margin-bottom: 0;
  margin-top: 0;
}

.b-notes .notes-header {
  display: block;
  margin-bottom: 0 !important;
}

header h2 {
  /* subtitle: */
  margin-top: 4px;
}

label.smalltop {
  margin-bottom: 40px;
}

/****************** footer *****************/
footer {
  margin-bottom: 0;
  z-index: 1000;
  background: #fff;
  position: -webkit-sticky; /* Safari */
  position: sticky;
  left: 0;
  right: 0;
  bottom: 0;
  padding:5px 0;
  text-align: center;
  max-width: 100vw;
  width: 100vw;
  border-top: 1px solid #f8f8f8;
}
footer nav {
  max-width: 700px;
  margin: 0 auto;
}
.b-notes .post-tags label, .b-notes .read-next label {
  margin-bottom: 0;
}


/****************** post-tag *****************/
.post-tags {
  font-size: 12px;
}
.post-tags p {
  margin-bottom: 20px;
}
a.post-tag {
  font-size: 12px;
}

/****************** share *****************/

.s-button {
  -webkit-font-smoothing: subpixel-antialiased;
  border-radius: 4px;
  font-weight: 400;
  border: 1px solid rgba(0, 0, 0, 0.5);
  color: rgba(0, 0, 0, 0.5);
  padding: 6px 10px;
  font-size: 16px;
  /* line-height: 20px; */
  -webkit-transition: all 0.1s ease-out;
  margin-right: 10px;
  display: inline-block;
  /* top: -8px; */
  /* position: relative; */
  /* height: 35px; */
}

.s-buttons, .b-notes section.s-buttons {
  display: inline-block;
  margin-bottom: 30px;
  padding-bottom: 20px;
  margin-top: -20px;
  border-bottom: 1px solid #eee;
  width: 700px;
}

@media (max-width: 700px) {
  .s-buttons .s-button {
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

.s-button:hover {
  background-color: rgba(66, 139, 202, 1);
  border: 1px solid rgba(66, 139, 202, 0.8);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  margin-right: 10px;
}

a.s-button:hover,
a.s-button:active,
a.s-button:visited {
  text-decoration: none;
}

.b-notes hr.s-buttons-hr {
  margin-bottom: 30px;
}

/****************** blink *****************/
/**
 * Emulating <blink> using WebKit CSS3 animation        
 *   This code is part of John Smith's blog
 *
 * Copyright 2010 by John Smith, All Rights Reserved
 *
 * @link   http://www.john-smith.me/emulating--lt-blink-gt--using-webkit-css3-animation
 * @date   18th October 2010 at 11:01 p.m.
 * @author John Smith
 */
@-webkit-keyframes blinker {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes blinker {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.blink {
  text-decoration: blink;

  -webkit-animation-name: blinker;
  animation-name: blinker;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1);
  animation-timing-function: cubic-bezier(1, 0, 0, 1);
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

/* see also: hint--top aria-label /  http://kushagragour.in/lab/hint/ */
.hinttip {
  font-size: 90%;
  cursor: help;
}
.hint-cursor {
  cursor: help;
}

/* fix issue where hint was changing the viewport on small displays */
@media (max-width: 700px) {
  [class*='hint--']:after,
  [class*='hint--']:before {
    display: none !important;
  }
  [class*='hint--']:hover:after,
  [class*='hint--']:hover:before {
    display: unset !important;
  }
}

/****************** b-dark *****************/
.b-dark {
  background: #000;
}
.b-dark h1,
.b-dark h2,
.b-dark h3,
.b-dark h4,
.b-dark h5,
.b-dark h6,
.b-dark p {
  color: #666;
}
.b-dark header time,
.b-dark header .time {
  color: #333;
}

.b-dark pre {
  background-color: #111;
  color: #666;
  border-left-color: #222;
}

.b-dark .s-button {
  border-color: #333;
  color: #333;
}

.b-dark .s-buttons {
  border-bottom-color: #222;
}

.b-dark hr {
  border-top-color: #222;
}

/****************** about-andrew-kortina  *****************/
@media (min-width: 700px) {
  .about-andrew-kortina iframe {
    max-width: 700px;
    height: auto;
  }
  /* .player-overlay { */
  /*   max-width: 700px; */
  /* } */
}

.player-overlay {
  background-color: rgb(0, 0, 0);
  position: relative;
  margin: 0 auto;
  opacity: 0.85;
  color: #fff;
  font-size: xx-large;
  text-align: left;
}

/****************** b-home *****************/
p.grey-link a, p.grey-link a:visited, p.grey-link a:hover,
a.grey-link, a.grey-link:visited, a.grey-link:hover {
  color: #565656;
}

.b-home h1, 
.b-home h2,
.b-home p {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}
.b-home article h1 {
  margin-top: 20px;
}
.b-home article h2 {
  margin-top: 20px;
  font-weight: normal;
  font-size:small;
}
.b-home h1.blink {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 0);
  animation-timing-function: cubic-bezier(1, 0, 0, 0);
}
.b-home article > p {
  hyphens: auto;
  overflow-wrap: break-word;
  text-align: justify;
  font-size: 1.1rem;
}
.b-home article > p a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.b-home figure {
  padding-bottom: 200px;
}
.b-home .fleuron {
  margin-top: 100px;
  margin-bottom: 100px;
}
.b-home p code {
  background-color: transparent;
  color: #a87783;
}


/****************** mobile *****************/
@media (max-width: 700px) {
  body {
    font-size: 18px;
    padding: 0 2px;
  }
  h1 {
    font-size: 36px;
  }
  figure iframe,
  figure img {
    max-width: 100%;
    height: auto;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  article p > img,
  img.w-article,
  hr,
  aside,
  blockquote,
  details,
  pre,
  ul,
  ol,
  time,
  label,
  figcaption,
  img + em,
  figure,
  footer,
  section,
  table,
  div.section {
    max-width: 100vw;
    padding: 0 4px;
  }
  footer {
    border-top: 1px solid #efefef;
    padding: 5px 0;
  }
  img.mw-1000 {
    max-width: min(100vw, 1000px);
  }
  ul,
  ol {
    position: relative;
    padding-left: 30px;
  }
  .mobile-hide {
    display:none;
  }
}
/****************** end mobile *****************/

article details:focus,
article details summary:focus {
  outline: none;
}
article details {
  padding-top: 0.5em;
}
article details summary {
  cursor: pointer;
}
article details:not([open]),
article details:not([open]) summary,
article details:not([open]) summary p {
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
  margin: 0;
  display: inline;
}
article details {
  margin-bottom: 40px !important;
  padding-left: 10px;
}
article details[open] {
  border-left: 1px dotted #efefef;
}
article details[open] summary {
  padding-bottom: 10px;
}

/****************** subscribe form *****************/
#gsfs-form {
  margin: 0;
  display: block;
  margin-bottom: 10px;
}
#gsfs-form input,
#gsfs-form input[type='submit'] {
  -webkit-appearance: none;
  -webkit-font-smoothing: subpixel-antialiased;
  border-radius: 0;
  border: 0;
  color: #ccc;
  display: inline;
  font-size: 12px;
  font-weight: 200;
  height: 20px; /* height of fb like button is 27px */
  line-height: 12px;
  margin: 0;
  padding: 0;
}
#gsfs-form input[type='email'] {
  border-bottom: 1px solid #ccc;
  font-family: 'Helvetica-Neue', Helvetica, sans-serif;
  margin-right: 6px;
  padding-left: 3px;
  width: 160px; /* update #gsfs-msg.width when changing */
}
#gsfs-form input[type='submit'] {
  -webkit-appearance: none;
  background: #000;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  color: #fff;
  cursor: pointer;
  font-family: Arial, sans-serif;
  width: 130px; /* update #gsfs-msg.padding-right when changing */
}
#gsfs-msg {
  text-align: right;
  color: green;
  font-size: 12px;
  line-height: 16px;
  padding: 0;
  padding-right: 58px;
  padding-top: 4px;
}

/****************** exceptions *****************/
/* stylelint-disable */
aside p:last-child,
aside ul:last-child,
aside ol:last-child,
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  /* stylelint-enable */
  margin-bottom: 0;
}
.b-notes img {
  max-width: 100%;
}
