/* Ported from the Angular app's styles.scss + component styles. */

/* Fonts */
@font-face {
  font-family: 'FuturaLTRegular';
  src: url('/assets/fonts/futuralt-webfont.eot');
  src: url('/assets/fonts/futuralt-webfont.eot?#iefix') format('embedded-opentype'),
       url('/assets/fonts/futuralt-webfont.woff') format('woff'),
       url('/assets/fonts/futuralt-webfont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Museo Sans';
  src: url('/assets/fonts/museosans-300-webfont.eot');
  src: url('/assets/fonts/museosans-300-webfont.eot?#iefix') format('embedded-opentype'),
       url('/assets/fonts/museosans-300-webfont.woff') format('woff'),
       url('/assets/fonts/museosans-300-webfont.ttf') format('truetype'),
       url('/assets/fonts/museosans-300-webfont.svg#museo_sans_300regular') format('svg');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Helvetica Neue Light';
  src: url('/assets/fonts/helveticaneue-light-webfont.eot');
  src: url('/assets/fonts/helveticaneue-light-webfont.eot?#iefix') format('embedded-opentype'),
       url('/assets/fonts/helveticaneue-light-webfont.woff') format('woff'),
       url('/assets/fonts/helveticaneue-light-webfont.ttf') format('truetype'),
       url('/assets/fonts/helveticaneue-light-webfont.svg#HelveticaNeue45Light') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Milo';
  src: url('/assets/fonts/mitxtf__-webfont.eot');
  src: url('/assets/fonts/mitxtf__-webfont.eot?#iefix') format('embedded-opentype'),
       url('/assets/fonts/mitxtf__-webfont.woff') format('woff'),
       url('/assets/fonts/mitxtf__-webfont.ttf') format('truetype'),
       url('/assets/fonts/mitxtf__-webfont.svg#MiloTF-TextRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}

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

html, body {
  height: 100%;
}

body {
  font-family: 'Milo';
  font-size: 13px;
  text-align: center;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-size: 1em;
}

h1 {
  padding: 2px 0 0 0px;
  margin-bottom: 1em;
  font-family: 'FuturaLTRegular';
  font-weight: normal;
  color: #343434;
  text-transform: uppercase;
  background: url('/assets/images/diagonal.gif') repeat;
}

h1.title {
  margin-bottom: 0;
}

h2 {
  margin: 2em 0 1em 0;
  font-family: 'FuturaLTRegular';
  text-transform: uppercase;
  font-weight: bold;
  color: #343434;
  border-bottom: 2px solid #efefef;
}

h3 {
  margin: 0 0 2px 0;
  font-family: 'FuturaLTRegular';
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: bold;
  color: #343434;
  font-size: 13px;
}

h3.subheader {
  margin: 10px 20px 0;
}

h4 {
  font-family: 'Museo Sans';
  color: #888888;
  margin-bottom: 1em;
}

p {
  margin: 1em 0;
  line-height: 24px;
  color: #333333;
  font-size: 14px;
  font-family: 'Museo Sans';
}

li {
  line-height: 22px;
  color: #333333;
  font-size: 14px;
  font-family: 'Museo Sans';
}

a {
  color: #0052A1;
  text-decoration: none;
}

a:visited {
  color: #0052A1;
}

a:hover {
  color: black;
}

blockquote {
  padding: 0 0 0 20px;
  margin: 0 0 0 8px;
  border-left: 4px solid #cecece;
}

strong {
  font-family: 'FuturaLTRegular';
  background: url('/assets/images/diagonal.gif') repeat;
  padding: 0 3px;
}

em {
  font-family: inherit;
}

.justify {
  text-align: justify;
  text-align-last: justify;
}

/* Site */
.site {
  font-size: 110%;
  text-align: justify;
  margin: 0;
  padding: 0;
  line-height: 1.5em;
}

.site .content {
  margin: 50px 1.5em 0 1.5em;
  padding-bottom: 60px;
}

.site .content a,
.site .content a:visited {
  text-decoration: none;
  border-bottom: 2px solid #a0a0a0;
  padding-bottom: 2px;
  color: #a0a0a0;
}

.site .content a:hover {
  color: #000000;
  border-bottom: 2px solid #000000;
  transition: color 1s, border-bottom 1s;
}

.site h1 {
  font-size: 1.5em;
}

div.header {
  background: #000000;
}

div.header h1 {
  padding: 0;
  margin: 34px 0 0 20px;
  background: none;
  font-size: 24px;
}

div.title {
  color: #fff;
  font-weight: bold;
  margin-bottom: 10px;
  background-color: #000000;
  padding: 0px;
}

.site div.title a {
  color: #ffffff;
  text-decoration: none;
  font-family: 'FuturaLTRegular';
  font-size: 24px;
  font-weight: normal;
  margin-left: 0px;
}

.site div.title a:hover {
  color: #e4e4e4;
}

.site p.meta {
  font-family: Monaco, "Courier New", monospace;
  font-size: 80%;
  color: #aaa;
  margin-top: 0;
}

#page .site .header {
  background: transparent url('/assets/images/diagonal.gif') repeat;
  height: 64px;
}

#page .site .container .title {
  position: relative;
  top: -40px;
}

#page .site .container .title img {
  display: block;
}

@media (min-width: 900px) {
  #page .site .container {
    margin: 0 auto;
    max-width: 800px;
  }

  .left-column {
    width: 225px;
    float: left;
  }

  .right-column {
    width: 550px;
    float: right;
  }
}

@media (max-width: 900px) {
  #page .site .container {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0 5%;
  }

  #page .site .container .left-column {
    width: 25%;
    float: left;
  }

  #page .site .container .right-column {
    width: 72%;
    float: right;
  }

  #page .site .container .content {
    margin: 20px 0.5em 0 0.5em;
  }
}

.container::after {
  content: "";
  display: table;
  clear: both;
}

/* Sidebar */
ul#sidebar {
  margin: -10px 0 0 0;
  list-style: none;
}

ul#sidebar > li > a {
  display: block;
  margin: 0 0 5px 0;
  background-color: #e0e0e0;
  color: #000000;
  transition: background-color 1s;
  padding: 7px;
  line-height: 14px;
  text-transform: uppercase;
  text-align: left;
}

ul#sidebar > li > a:hover {
  background-color: #c0c0c0;
}

ul#sidebar > li > a.active {
  background-color: #c0c0c0;
}

ul#sidebar > li > a.active.overview-menu {
  background-color: #e0e0e0;
}

/* Content lists (posts, letters) */
ul.posts {
  list-style-type: none;
  margin-bottom: 2em;
}

ul.posts li {
  line-height: 1.75em;
}

ul.posts span {
  color: #aaa;
  font-family: Monaco, "Courier New", monospace;
  font-size: 80%;
}

#post ul,
#post ol {
  margin-left: 1.35em;
}

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

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

#post pre code {
  border: none;
}

#post img {
  max-width: 100%;
}
