
/*****************************************************************************/
/*
/* Common
/*
/*****************************************************************************/

/*/* Global Reset */
* {
  margin: 0;
  padding: 0;
}

html, body { height: 100%; }

body {
  background-color: #FFF;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6em;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  color: #474647;
}

h1 { margin-top: 1em; }
p { padding-top: 1.5em; }

a         { color: #2972BF; text-decoration: none; }
a:   { color: #2972BF; }
a:hover   { color: #2972BF; text-decoration: underline; }

/* elements */
h1 { font-size: 2em; line-height: 1.2em;}
h2 { font-size: 1.5em; margin-top: 2em; line-height: 1.3em;}
h3 { font-size: 1.2em; margin-top: 2em; line-height: 1em;}
h4 { font-size: 1.0em; margin-top: 2em;}

blockquote {
  margin-left: 1em;
  margin-top: 1.5em;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  padding-left: 1em;
  border-left: 1em solid #97CC04;
}

blockquote > p {
  padding-top: 0;
}

.footnotes {
  margin-top: 2em;
  font-size: 0.85em;
  border-top: 1px solid #EEE;
}

time {
  color: #575657;
}

table {
  margin-top: 0.5em;
  border-collapse: collapse;
}

th, td {
  padding: 10px;
}

table, th, td {
  border: 1px solid #DDD;
}

code {
  font-family: 'Roboto Mono', monospace;
}

.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #0099FF; font-style: italic } /* Comment */
.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #006699; font-weight: bold } /* Keyword */
.highlight .o { color: #555555 } /* Operator */
.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #009999 } /* Comment.Preproc */
.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.highlight .go { color: #AAAAAA } /* Generic.Output */
.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #99CC66 } /* Generic.Traceback */
.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #006699 } /* Keyword.Pseudo */
.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #FF6600 } /* Literal.Number */
.highlight .s { color: #CC3300 } /* Literal.String */
.highlight .na { color: #330099 } /* Name.Attribute */
.highlight .nb { color: #336666 } /* Name.Builtin */
.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */
.highlight .no { color: #336600 } /* Name.Constant */
.highlight .nd { color: #9999FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #a300cc } /* Name.Function */
.highlight .nl { color: #9999FF } /* Name.Label */
.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #003333 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #cc5200 } /* Literal.Number.Float */
.highlight .mh { color: #cc5200 } /* Literal.Number.Hex */
.highlight .mi { color: #cc5200 } /* Literal.Number.Integer */
.highlight .mo { color: #cc5200 } /* Literal.Number.Oct */
.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */
.highlight .sc { color: #CC3300 } /* Literal.String.Char */
.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #CC3300 } /* Literal.String.Double */
.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */
.highlight .si { color: #AA0000 } /* Literal.String.Interpol */
.highlight .sx { color: #CC3300 } /* Literal.String.Other */
.highlight .sr { color: #33AAAA } /* Literal.String.Regex */
.highlight .s1 { color: #CC3300 } /* Literal.String.Single */
.highlight .ss { color: #c59d25 } /* Literal.String.Symbol */
.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #003333 } /* Name.Variable.Class */
.highlight .vg { color: #003333 } /* Name.Variable.Global */
.highlight .vi { color: #003333 } /* Name.Variable.Instance */
.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */

.bigfoot-footnote__button {
  position: relative;
  z-index: 5;
  top: -0.1em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  display: inline-block;
  padding: 0.35em;
  margin: 0 0.1em 0 0.2em;
  border: none;
  border-radius: 0.3em;
  cursor: pointer;
  background-color: rgba(110, 110, 110, 0.2);
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  font-size: 1rem;
  line-height: 0;
  vertical-align: middle;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
}

.bigfoot-footnote__button:hover,
.bigfoot-footnote__button:focus {
  outline: none;
  background-color: rgba(110, 110, 110, 0.5);
}

.bigfoot-footnote__button:active {
  background-color: rgba(110, 110, 110, 0.5);
}

.bigfoot-footnote__button.is-active {
  background-color: #6e6e6e;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.bigfoot-footnote__button:after {
  content: '';
  display: table;
  clear: both;
}

.bigfoot-footnote__button__circle {
  display: inline-block;
  width: 0.25em;
  height: 0.25em;
  margin-right: 0.25em;
  float: left;
}

.bigfoot-footnote__button__circle:last-child {
  margin-right: 0;
}

.bigfoot-footnote__container {
  display: inline-block;
  position: relative;
  text-indent: 0;
}

@media not print {
  .footnote-print-only {
    display: none !important;
  }
}

@media print {
  .bigfoot-footnote,
  .bigfoot-footnote__button {
    display: none !important;
  }
}

.bigfoot-footnote {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 90%;
  margin: 1.96924em 0;
  background: #fafafa;
  opacity: 0;
  border-radius: 0.5em;
  border: 1px solid #c3c3c3;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  line-height: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transform: scale(0.1) translateZ(0);
  -ms-transform: scale(0.1) translateZ(0);
  transform: scale(0.1) translateZ(0);
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
}

.bigfoot-footnote.is-positioned-top {
  top: auto;
  bottom: 0;
}

.bigfoot-footnote.is-active {
  -webkit-transform: scale(1) translateZ(0);
  -ms-transform: scale(1) translateZ(0);
  transform: scale(1) translateZ(0);
  opacity: 0.97;
}

.bigfoot-footnote.is-bottom-fixed {
  position: fixed;
  bottom: 0;
  top: auto;
  left: 0;
  right: auto;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  width: 100%;
  margin: 0;
  border-radius: 0;
  opacity: 1;
  border-width: 1px 0 0;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
}

.bigfoot-footnote.is-bottom-fixed.is-active {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.bigfoot-footnote.is-bottom-fixed .bigfoot-footnote__wrapper {
  margin: 0 0 0 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  max-width: 100%;
}

.bigfoot-footnote.is-bottom-fixed .bigfoot-footnote__wrapper,
.bigfoot-footnote.is-bottom-fixed .bigfoot-footnote__content {
  border-radius: 0;
}

.bigfoot-footnote.is-bottom-fixed .bigfoot-footnote__tooltip {
  display: none;
}

.bigfoot-footnote.is-scrollable:after {
  content: '';
  position: absolute;
  bottom: 0.3375em;
  left: 0.3375em;
  z-index: 14;
  display: block;
  height: 0.78125em;
  width: 0.625em;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIxNXB4IiB2aWV3Qm94PSIwIDAgMTIgMTUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4iPgogICAgPGcgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkFycm93IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMS4wMDAwMDApIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNSwwIEw1LDExLjUiIGlkPSJMaW5lIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjUsNy41IEw1LjAyNzY5Mjc5LDEyLjAyNzY5MjgiIGlkPSJMaW5lIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjUsNy41IEw5LjAyNzY5Mjc5LDEyLjAyNzY5MjgiIGlkPSJMaW5lLTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMDAwMDAwLCAxMC4wMDAwMDApIHNjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCAtMTAuMDAwMDAwKSAiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
  -webkit-background-size: cover;
  background-size: cover;
  opacity: 0.1;
  transition-properties: opacity;
  -webkit-transition-duration: 0.25s;
  transition-duration: 0.25s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.bigfoot-footnote.is-scrollable .bigfoot-footnote__wrapper:before,
.bigfoot-footnote.is-scrollable .bigfoot-footnote__wrapper:after {
  content: '';
  position: absolute;
  width: 100%;
  z-index: 12;
  left: 0;
}

.bigfoot-footnote.is-scrollable .bigfoot-footnote__wrapper:before {
  top: -1px;
  height: 1.1em;
  border-radius: 0.5em 0.5em 0 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(rgba(250, 250, 250, 0)));
  background-image: -webkit-linear-gradient(top, #fafafa 50%, rgba(250, 250, 250, 0) 100%);
  background-image: linear-gradient(to bottom, #fafafa 50%, rgba(250, 250, 250, 0) 100%);
}

.bigfoot-footnote.is-scrollable .bigfoot-footnote__wrapper:after {
  bottom: -1px;
  height: 1.2em;
  border-radius: 0 0 0.5em 0.5em;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#fafafa), to(rgba(250, 250, 250, 0)));
  background-image: -webkit-linear-gradient(bottom, #fafafa 50%, rgba(250, 250, 250, 0) 100%);
  background-image: linear-gradient(to top, #fafafa 50%, rgba(250, 250, 250, 0) 100%);
}

.bigfoot-footnote.is-scrollable ::-webkit-scrollbar {
  display: none;
}

.bigfoot-footnote.is-fully-scrolled:after,
.bigfoot-footnote.is-fully-scrolled:before {
  opacity: 0;
  -webkit-transition-delay: 0;
  transition-delay: 0;
}

.bigfoot-footnote__wrapper {
  position: relative;
  z-index: 14;
  width: 22em;
  display: inline-block;
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  overflow: hidden;
  margin: 0;
  background-color: #fafafa;
  border-radius: 0.5em;
  line-height: 0;
}

.bigfoot-footnote__content {
  position: relative;
  z-index: 8;
  display: inline-block;
  max-height: 15em;
  padding: 1.1em 1.3em 1.2em;
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: #fafafa;
  border-radius: 0.5em;
  -webkit-font-smoothing: subpixel-antialiased;
  line-height: normal;
}

.bigfoot-footnote__content img {
  max-width: 100%;
}

.bigfoot-footnote__content *:last-child {
  margin-bottom: 0 !important;
}

.bigfoot-footnote__content *:first-child {
  margin-top: 0 !important;
}

.bigfoot-footnote__tooltip {
  position: absolute;
  z-index: 12;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-left: -0.65em;
  width: 1.3em;
  height: 1.3em;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #fafafa;
  border: 1px solid #c3c3c3;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  border-top-left-radius: 0;
}

.is-positioned-bottom .bigfoot-footnote__tooltip {
  top: -0.65em;
}

.is-positioned-top .bigfoot-footnote__tooltip {
  bottom: -0.65em;
}

.bigfoot-footnote__button {
  position: relative;
  height: 0.95em;
  width: 1.5em;
  border-radius: 0.475em;
}

.bigfoot-footnote__button:after {
  content: attr(data-footnote-number);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  font-size: 0.57em;
  font-weight: bold;
  color: rgba(110, 110, 110, 0.5);
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}

.bigfoot-footnote__button:hover:after,
.bigfoot-footnote__button.is-active:after {
  color: white;
}

.bigfoot-footnote__button__circle {
  display: none;
}


/*****************************************************************************/
/*
/* Home
/*
/*****************************************************************************/

.about {
  padding-left: 140px;
  margin-top: 2em;
  height: 120px;
  position: relative;
}

.content-block {
  display: block;
  margin: 0 auto;
  width: 640px;
}

.about img {
  position: absolute;
  left: 0px;
  top: 0px;
  border-radius: 60px;
  border: 1px solid rgba(0,0,0,.1);
}

.posts {
  list-style-type: none;
  margin-bottom: 2em;
  margin-top: 1em;
}

.posts li {
  margin-bottom: 0.56em;
  padding-left: 95px;
}

.posts li time {
  position: absolute;
  margin-left: -95px;
}

.posts.projects li time {
  position: absolute;
  margin-left: -48px;
}
.posts.projects li {
  padding-left: 48px;
}

.posts .subtitle {
  display: block;
  font-size: 13px;
  line-height: 1.2em;
}


/*****************************************************************************/
/*
/* Layout
/*
/*****************************************************************************/

h1.title {
  font-size: 1.5em;
  margin-top: 0;
}

.header {
  background-color: #DE5501;
  padding: 1em 0 1em;
}

.header h1,
.header {
  color: white;
}

.header a {
  font-weight: bold;
  text-decoration: none;
}

.footer {
  font-size: 0.85em;
  border-top: 1em solid #97CC04;
  margin-top: 4em;
  padding-bottom: 2em;
  overflow: hidden;
}

.footer ul {
  list-style-type: none;
}

.footer .column {
  float: left;
  width: 30%;
  margin-right: 5%;
}

.footer .content-block > :last-child {
  margin-right: 0;
}

@media (max-width: 43em) {
  .content-block {
    width: 92%;
    margin: 0 4%;
  }

  .footer .column {
    float: none;
    width: 100%;
    margin: 0;
  }

  .post img {
    width: 100%;
  }
}

.meta {
  margin-top: 1.5em;
  display: block;
}

/*****************************************************************************/
/*
/* Posts
/*
/*****************************************************************************/

/* standard */
.post pre {
  background-color: #F6F6F6;
  border-radius: 4px;
  padding: 10px 15px 10px 15px;
  margin-top: 1.2em;
  overflow-x: auto;
  font-size: 0.92em;
}

.post ul, .post ol {
  margin-left: 1.35em;
  margin-top: 0.3em;
}

.post li {
  margin-top: 0.2em;}
}

.post code {
  font-family: 'Droid Sans Mono', monospace;
  border: 1px solid #ddd;
  background-color: #FCFCFC;
  font-size: 14px;
}


.post figure img {
  display:block;
  margin: 0 auto;
  width: 100%;
}

.post figure {
  margin-top: 1.5em;
  margin-bottom: .5em;
}

.post figure.zoomable a img {
  cursor: -moz-zoom-in;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.post figcaption {
  background-color: #FFF8E8;
  font-size: 0.93em;
  padding: 12px;
}

.post pre code {
  border: none;
}

/* terminal */
.post pre.terminal {
  border: 1px solid #000;
  background-color: #333;
  color: #FFF;
}

.post pre.terminal code {
  background-color: #333;
}

.read-more {
  display: inline-block;
  padding-top: 2em;
}

cite {
  display: block;
  margin-top: 1em;
  text-align: right;
}

cite::before {
  content: "— ";
}

/* bigfoot */

.bigfoot-footnote__content p {
  padding-top: 0px;
}

.bigfoot-footnote__button {
  height: 1em;
}

.bigfoot-footnote__button:after {
  color: #111;
  font-size: 11px;
}
