/* Reset some basic elements */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0; }

/* Basic styling */
body {
  font-weight: 200;
  font-size: 18px;
  line-height: 1.5;
  font-family: "Hammersmith One", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #888;
  background-color: #090909; }

/* Images */
img {
  max-width: 100%;
  vertical-align: middle; }

/* Lists */
ul, ol {
  margin-left: 30px; }

/* Disable margin for lists */
li > ul, li > ol {
  margin-bottom: 0; }

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: 200; }

/* Links */
a {
  color: #e82;
  text-decoration: none; }
  a:visited {
    color: #b6620e; }
  a:hover {
    color: #888;
    text-decoration: underline; }

/**
 * Blockquotes
 */
blockquote {
  color: #828282;
  border-left: 4px solid #e8e8e8;
  font-size: 18px;
  letter-spacing: -1px;
  font-style: italic;
  margin: 1rem 0;
  padding: 1em; }
  blockquote > :last-child {
    margin-bottom: 0; }

/* do not put padding around the table with line numbers and the code */
code table {
  margin: -8px -12px; }

pre table.rouge-table td {
  padding: 0; }

pre {
  padding: 8px 12px;
  overflow-x: auto; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }

/* pull a nice monospace font from the internets, plus set font and
 * background */
pre, code {
  font-size: 0.95rem;
  background: #424242;
  font-family: "Source Code Pro", monospace; }

/* Disable borders between line numbers and code when 
 * line numbers are shown */
code .rouge-table, code .rouge-table td {
  border: 0;
  border-radius: 0; }

code .rouge-table {
  border-spacing: 0;
  border-collapse: collapse; }

/**
 * Basic layout rules
 */
/* Padding for the main content in the page */
.container {
  padding: 0 4em; }

/* Header sizes */
h1 {
  font-size: 3rem;
  margin-bottom: 1rem; }

h2 {
  font-size: 2.75rem; }

h3 {
  font-size: 2.4rem; }

h4 {
  font-size: 1.8rem; }

h5 {
  font-size: 1rem; }

h6 {
  font-size: 0.8rem; }

/**
 * General style for the content inside main
 */
/* separate article metadata to the article itself with some space */
article .post-header {
  margin-bottom: 3rem; }

/* put some space at the end of each article and at the end of each section */
main article, main section {
  margin-bottom: 2rem; }

/* justify text */
p {
  text-align: justify; }

/* put a space between paragraphs and images */
p, figure {
  margin-top: 1.2rem; }

/* the first paragraph has no space at the top (since that is provided
 * by either main or h? */
p:first-child {
  margin-top: 0; }

/* make strongly emphasized elements REALLY STRONG */
strong {
  background: #aa2222; }

body {
  background-color: #333;
  font-family: 'Hammersmith One', sans-serif;
  color: white;
  display: flex;
  min-height: 100vh;
  flex-direction: column; }

main {
  flex: 1 0 auto; }

.navbar-list .navbar-item {
  text-transform: uppercase;
  font-weight: 400;
  display: inline-block;
  margin: 1em; }

ul.navbar-list {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 2rem; }

.header {
  padding: 4rem 0 .5rem 0;
  text-align: center; }

.head {
  margin-bottom: 2.66rem; }

@media (min-width: 700px) {
  .header {
    padding-top: 6rem; }

  .head {
    margin-bottom: 4rem; } }
@media (max-width: 700px) {
  .navbar-list .navbar-item {
    width: calc(100% - 2em); } }
.navbar-item a {
  color: #e82; }

ul.post-list, ul.navbar-list {
  list-style-type: none;
  margin-left: 0;
  margin-right: 0; }

ul.post-list li {
  padding-top: 2rem; }

ul.post-list li:first-child {
  padding-top: 0; }

.header, footer {
  background-color: rgba(0, 0, 0, 0.25); }

footer {
  padding-top: 1rem; }

footer .author {
  text-align: center;
  text-transform: uppercase; }

.container {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.icons {
  text-align: center; }

a.icon {
  display: inline-table;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 1.75em;
  width: 3.5em;
  height: 3.5em;
  text-align: center;
  line-height: 3.5em;
  margin: .5em;
  color: white;
  cursor: pointer; }

/* Disable underlining in icon links inside the footer */
a.icon:link, a.icon:hover, a.icon:visited, a.icon:active {
  text-decoration: none; }

/* Light up footer icon links when hovering */
a.icon:hover {
  background-color: #bbbbbb; }

a.icon i.fa {
  font-size: 2em;
  display: table-cell;
  vertical-align: middle; }

/* Utility class for centering block elements */
.block-center {
  display: block;
  margin: auto; }

/**
 * Syntax highlighting styles
 */
.highlight {
  background: #fff; }
  .highlighter-rouge .highlight {
    background: #eef; }
  .highlight td.code > pre {
    background: #424242; }
  .highlight pre.lineno {
    background: #212121;
    text-align: right; }
  .highlight .c {
    color: #aaa;
    font-style: italic; }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2; }
  .highlight .k {
    font-weight: bold; }
  .highlight .o {
    font-weight: bold; }
  .highlight .cm {
    color: #998;
    font-style: italic; }
  .highlight .cp {
    color: #999;
    font-weight: bold; }
  .highlight .c1 {
    color: #998;
    font-style: italic; }
  .highlight .cs {
    color: #999;
    font-weight: bold;
    font-style: italic; }
  .highlight .gd {
    color: #000;
    background-color: #fdd; }
  .highlight .gd .x {
    color: #000;
    background-color: #faa; }
  .highlight .ge {
    font-style: italic; }
  .highlight .gr {
    color: #a00; }
  .highlight .gh {
    color: #999; }
  .highlight .gi {
    color: #000;
    background-color: #dfd; }
  .highlight .gi .x {
    color: #000;
    background-color: #afa; }
  .highlight .go {
    color: #888; }
  .highlight .gp {
    color: #555; }
  .highlight .gs {
    font-weight: bold; }
  .highlight .gu {
    color: #aaa; }
  .highlight .gt {
    color: #a00; }
  .highlight .kc {
    font-weight: bold; }
  .highlight .kd {
    font-weight: bold; }
  .highlight .kp {
    font-weight: bold; }
  .highlight .kr {
    font-weight: bold; }
  .highlight .kt {
    color: #458;
    font-weight: bold; }
  .highlight .m {
    color: #099; }
  .highlight .s {
    color: #d14; }
  .highlight .na {
    color: #008080; }
  .highlight .nb {
    color: #00a6d3; }
  .highlight .nc {
    color: #458;
    font-weight: bold; }
  .highlight .no {
    color: #008080; }
  .highlight .ni {
    color: #800080; }
  .highlight .ne {
    color: #900;
    font-weight: bold; }
  .highlight .nf {
    color: #900;
    font-weight: bold; }
  .highlight .nn {
    color: #555; }
  .highlight .nt {
    color: #0000d0; }
  .highlight .nv {
    color: #00d0d0; }
  .highlight .ow {
    font-weight: bold; }
  .highlight .w {
    color: #bbb; }
  .highlight .mf {
    color: #099; }
  .highlight .mh {
    color: #099; }
  .highlight .mi {
    color: #099; }
  .highlight .mo {
    color: #099; }
  .highlight .sb {
    color: #f54; }
  .highlight .sc {
    color: #f54; }
  .highlight .sd {
    color: #f54; }
  .highlight .s2 {
    color: #f54; }
  .highlight .se {
    color: #f54; }
  .highlight .sh {
    color: #f54; }
  .highlight .si {
    color: #f54; }
  .highlight .sx {
    color: #f54; }
  .highlight .sr {
    color: #009926; }
  .highlight .s1 {
    color: #f54; }
  .highlight .ss {
    color: #990073; }
  .highlight .bp {
    color: #999; }
  .highlight .vc {
    color: #008080; }
  .highlight .vg {
    color: #008080; }
  .highlight .vi {
    color: #008080; }
  .highlight .il {
    color: #099; }
