body {
  background-color: #E9E9E9;
  font-family: 'Montserrat', sans-serif;
}

a {
  color: inherit;
}

h2, h3, h4, h5, h6 {
  margin-bottom: 2px;
}

p {
  margin-top: 0;
}

/* For some old posts */
img {
  max-width: 100%;
}

header, #content, footer {
  box-sizing: border-box;
  width: 640px;
  margin: 0 auto;
  padding: 0 16px;
}

header a, footer a {
  text-decoration: none;
}

header {
  color: #FFF;
  background-color: #000;
  height: 64px;
  line-height: 64px;
  font-size: 30px;
}

#header-name {
  font-weight: bold;
}

#header-icons {
  float: right;
}

#header-icons a {
  margin-left: 20px;
}

#header-icons a:hover {
  color: #999;
}

#content {
  background-color: #FFF;
  padding-top: 16px;
  padding-bottom: 16px;
  min-height: 100px;
}

footer {
  padding-top: 10px;
  color: #777;
  font-size: 12px;
  min-height: 80px;
}

#footer-contact:hover {
  text-decoration: underline;
}

#footer-copyright {
  float: right;
}

/* Home Page */
.biglist {
  margin: 0 0 8px 0;
  padding: 0;
}

.biglist li {
  list-style: none;
  border-top: 2px solid #999;
  margin-top: 10px;
  padding-top: 10px;
}

.biglist li:first-child {
  border: 0;
  margin-top: -6px;
  padding-top: 0;
}

.biglist a {
  text-decoration: none;
  overflow: hidden;
  display: inline-block;
  width: 100%;
  line-height: 40px;
}

.biglist a:hover .biglist-label {
  text-decoration: underline;
}

.biglist .biglist-label {
  font-size: 28px;
  float: left;
}

.biglist .biglist-sublabel {
  font-size: 16px;
  line-height: 16px;
  float: left;
  clear: left;
}

.biglist .biglist-pull {
  float: right;
}

/* Home Nav */
.biglist .home-speaking, .biglist .home-consulting, .biglist .home-training {
  display: inline-block;
  width: calc(100% / 3);
  float: none;
  font-weight: bold;
}

.home-speaking:hover, .home-consulting:hover, .home-training:hover {
  text-decoration: underline;
}

.home-speaking {
  text-align: left;
}

.home-consulting {
  text-align: center;
}

.home-training {
  text-align: right;
}

/* Content Styles */
#content {
  padding-bottom: 1px; /* Really I want 0 but with border-box that drops the p margin */
}

#content ul {
  padding-left: 1em;
}

#content ol {
  padding-left: 1.5em;
}

#content ol li {
  margin-bottom: 5px;
}

#content .biglist {
  padding-left: 0; /* Undo the above padding */
}

#content .well {
  background-color: #E9E9E9;
  padding: 12px;
}

#content table.examples {
  font-size: 90%;
}

#content table.examples td {
  padding-left: 20px;
}

#content table.examples td:first-child {
  padding-left: 0;
}

#content a.no-underline {
  text-decoration: none;
}

/* Post Header */
#content h1 {
  margin-top: 0;
  line-height: 28px;
  font-weight: bold;
  font-size: 28px;
}

#content h1 .date {
  float: right;
  font-size: 16px;
  font-weight: normal;
}

#content .subtitle {
  font-size: 16px;
  margin-top: -16px;
}

/* Code Highlight, based on the 'bw' style from Pygments */
pre code {
  font-family: 'Inconsolata', monospace;
  display: inline-block;
  width: 100%;
  word-wrap: normal;
  white-space: pre;
  overflow-x: auto;
}

code .c  { color: #888; font-style: italic; } /* Comment */
code .err { border: 1px solid #F00; } /* Error */
code .k  { font-weight: bold; } /* Keyword */
code .cm { color: #888; font-style: italic; } /* Comment.Multiline */
code .c1 { color: #888; font-style: italic; } /* Comment.Single */
code .cs { color: #888; font-style: italic; } /* Comment.Special */
code .ge { font-style: italic; } /* Generic.Emph */
code .gh { font-weight: bold; } /* Generic.Heading */
code .gp { font-weight: bold; } /* Generic.Prompt */
code .gs { font-weight: bold; } /* Generic.Strong */
code .gu { font-weight: bold; } /* Generic.Subheading */
code .kc { font-weight: bold; } /* Keyword.Constant */
code .kd { font-weight: bold; } /* Keyword.Declaration */
code .kn { font-weight: bold; } /* Keyword.Namespace */
code .kr { font-weight: bold; } /* Keyword.Reserved */
code .s  { font-style: italic; } /* Literal.String */
code .nc { font-weight: bold; } /* Name.Class */
code .ni { font-weight: bold; } /* Name.Entity */
code .ne { font-weight: bold; } /* Name.Exception */
code .nn { font-weight: bold; } /* Name.Namespace */
code .nt { font-weight: bold; } /* Name.Tag */
code .ow { font-weight: bold; } /* Operator.Word */
code .sb { font-style: italic; } /* Literal.String.Backtick */
code .sc { font-style: italic; } /* Literal.String.Char */
code .sd { font-style: italic; } /* Literal.String.Doc */
code .s2 { font-style: italic; } /* Literal.String.Double */
code .se { font-style: italic; } /* Literal.String.Escape */
code .sh { font-style: italic; } /* Literal.String.Heredoc */
code .si { font-style: italic; } /* Literal.String.Interpol */
code .sx { font-style: italic; } /* Literal.String.Other */
code .sr { font-style: italic; } /* Literal.String.Regex */
code .s1 { font-style: italic; } /* Literal.String.Single */
code .ss { font-style: italic; } /* Literal.String.Symbol */

/* Contact */
.contact-icon {
  font-size: 20px;
  color: #999;
  margin-right: 7px;
}

a:hover .contact-icon {
  color: #000;
}

.contact-key {
  margin-bottom: -7px;
}

.contact-key .contact-icon {
  margin-top: -100px;
  margin-right: 1px;
}

.contact-key .contact-fingerprint {
  display: inline-block;
  overflow: hidden;
}

a:hover .contact-key.biglist-label {
  text-decoration: none;
}

a:hover .contact-fingerprint {
  text-decoration: underline;
}
