/**
 * Purple: #9C2867
 * Red: #AC050F  darker: #7C040C
 * Pink: #E05E77
 * Green: #75722D
 * Brown: #533324
 * Black: #2D1D15
 */

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

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

html, body { height: 100%; }

body {
  background-color: #FFFFFF;
  font: 20.34px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  text-align: left;
  color: #2D1D15;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-family: 'Alef', sans-serif;
  line-height: 1.25em;
  margin-bottom: .5em;
}

h1 { font-size: 3em; }
h2 { font-size: 2em; }
h3 { font-size: 1.5em; }
h4 { font-weight: bold; }

p { margin-bottom: 1em; }

table {
  font-size: inherit;
  font: 100%;
}

a,
a:visited {
  color: #AC050F;
  text-decoration: none;
}
a:hover,
a:visited:hover,
a:hover:visited {
  border-bottom: 2px solid #AC050F;
}

a.abg,
aa.bg:visited {
  background-color: #AC050F;
}
a.abg:hover,
a.abg:visited:hover,
a.abg:hover:visited {
  background-color: #E05E77;
  border-bottom: none;
}

a img {
  border: 2px solid #AC050F;
}
a:hover img {
  border: 2px solid #E05E77;
}

/**
 * http://nicolasgallagher.com/micro-clearfix-hack/
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}

/*****************************************************************************/
/*
/* General
/*
/*****************************************************************************/
ul, ol {
  margin-bottom: 2em;
  margin-left: 2em;
}

ul ul, ol ol {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

ul li,
ol li {
  margin-bottom: 0.25em;
}

blockquote {
  font-style: italic;
  background-color: #EBEBEB;
  padding: 1em;
  border-radius: 5px;
  margin-bottom: 1em;
}


/*****************************************************************************/
/*
/* Tables
/*
/*****************************************************************************/
table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}

table {
  width: 100%;
  margin-bottom: 1em;
}

table th,
table td {
  padding: 8px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #DDDDDD;
}

table th {
  font-weight: bold;
}

table thead th {
  vertical-align: bottom;
}

table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
  background-color: #F9F9F9;
}

/*****************************************************************************/
/*
/* Site
/*
/*****************************************************************************/
.site {
  font-size: 115%;
  width: 960px;
  margin: .5em auto 2em;
  line-height: 1.25em;
}

@media only screen and (max-width: 960px) {
  .site {
    width: auto;
    padding: 0 5px;
  }
}

.site img {
  max-width: 100%;
}

/*****************************************************************************/
/*
/* Header
/*
/*****************************************************************************/
.site .header {
  border-bottom: 10px solid #000000;
  margin-bottom: 1em;
  position: relative;
}

.home .site. header {
  margin-bottom: 3em;
}

.site .header h1 a {
  color: #7C040C;
  line-height: 1em;
}
.site .header h1 {
  margin-bottom: 0;
  z-index: 10;

}
.home .site .header h1 a {
  font-size: 2.5em;
  line-height: 1.5em;
}

@media only screen and (max-width: 530px) {
  .home .site .header h1 a {
    font-size: 2em;
    line-height: 1.5em;
  }
}

@media only screen and (max-width: 375px) {
  .home .site .header h1 a {
    font-size: 1em;
    line-height: 1.5em;
  }
}

.site .header h1 a:hover {
  color: #E05E77;
  border-bottom: none;
}

.site .header .header-image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 7em;
  height: 7em;
  z-index: -10;
}

.home .site .header .header-image {
  width: 300px;
  height: 300px;
}

.site .header .header-image img {
  max-width: 100%;
}

@media only screen and (max-width: 650px) {
  .site .header .header-image img {
    opacity: 0.75;
  }
}
@media only screen and (max-width: 530px) {
  .site .header .header-image img {
    opacity: 0.55;
  }
}

.site .menu {
  margin-bottom: .5em;
  margin-left: 0;
  z-index: 10;
}

.site .menu li {
  list-style: none;
  display: inline;
  margin-right: 1em;
}

/*****************************************************************************/
/*
/* Footer
/*
/*****************************************************************************/
.site .footer {
  font-size: 80%;
  color: #454545;
  border-top: 2px solid #ABABAB;
  margin-top: 2em;
  padding: 1em 0;
  text-align: right;
}

.post .site .footer {
  margin-top: .5em;
}

/*****************************************************************************/
/*
/* Home
/*
/*****************************************************************************/
.home .about {
  text-align: center;
  margin-bottom: 3em;
}

.home .post-list-title {
  text-align: center;
  border-bottom: 1px solid #DBDBDB;
}

/*****************************************************************************/
/*
/* Specific pages
/*
/*****************************************************************************/
.contact p {
  text-align: center;
  margin-bottom: 3em;
}

.four-oh-four .four-oh-four-message {
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 1em;
  line-height: 1.25em;
}

/*****************************************************************************/
/*
/* Posts
/*
/*****************************************************************************/
.posts {
  margin-left: 0;
}
.posts li {
  list-style: none;
  line-height: 1.5em;
  padding: .25em .5em;
  margin-bottom: .25em;
}
.posts li:hover {
  background-color: #EBEBEB;
}
.posts li .display-date {
  display: block;
  float: right;
  text-align: right;
}
.posts li .visual-date.processed {
  display: inline-block;
  width: .75em;
  margin-right: .5em;
  height: .75em;
  border-radius: 3px;
}

.meta {
  font-size: .75em;
  color: #676767;
}

.post .post-title {
  margin-bottom: 0em;
}

.post-nav {
  font-size: .75em;
  margin-top: 2em;
  margin-bottom: 0;
}
.post-nav .post-nav-next,
.post-nav .post-nav-prev {
  display: block;
  width: 50%;
}
.post-nav .post-nav-next {
  float: right;
  text-align: right;
}
.post-nav .post-nav-prev {
  float: left;
}

.post .thumbnails a img {
  float: left;
  width: 10%;
  max-height: 150px;
  margin-right: .5em;
  margin-bottom: .5em;
}

.post .geojson {
  display: none;
}

.post iframe {
  margin-bottom: 1.5em;
}


/*****************************************************************************/
/*
/* Web links
/*
/*****************************************************************************/
.web-links {
  text-align: center;
  margin-bottom: 3.5em;
  line-height: 1em;
}
.web-links a {
  width: 15%;
  padding: .25em .25em;
  display: inline-block;
  border-radius: 5px;
}
.web-links a img {
  max-width: 100%;
}

.footer .web-links {
  text-align: right;
  margin-bottom: 1em;
}
.footer .web-links a {
  width: 5%;
}


/*****************************************************************************/
/*
/* Syntax
/*
/*****************************************************************************/
pre {
  border: 1px solid #ddd;
  background-color: #eef;
  padding: 0 .4em;
}

code {
  border: 1px solid #ddd;
  background-color: #eef;
  padding: 0 .2em;
}

pre code {
  border: none;
}

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

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

.highlight {
  margin-bottom: 1em;
}

.highlight pre {
  overflow-x: auto;
}



/*****************************************************************************/
/*
/* Projects
/*
/*****************************************************************************/
.projects .project {
  margin-bottom: 3em;
}

.projects .project a img {
  display: block;
  margin-bottom: .5em;
  border: 2px solid #BDBDBD;
}
.projects .project a:hover img {
  border: 2px solid #E05E77;
}


/*****************************************************************************/
/*
/* CV
/*
/*****************************************************************************/
.cv h3 {
  margin-bottom: 0;
}

.cv .sub-heading {
  color: #676767;
  margin-bottom: 1em;
  font-size: 0.85em;
}


/*****************************************************************************/
/*
/* Haikus
/*
/*****************************************************************************/
.haikus .loading {
  text-align: center;
  margin: 2em 0;
}

.haiku {
  margin-bottom: 3em;
}

.haiku .haiku-date {
  float: right;
  text-align: right;
  width: 33.3333%;
  color: #898989;
  font-size: .85;
  line-height: 1.5em;
}
