@import "https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css";
@import "https://thegreatrazz.github.io/hk-grotesk-webfont/css/hk-grotesk.css";
@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css";
@import "https://cdn.jsdelivr.net/font-hack/2.020/css/hack-extended.min.css";
* {
  box-sizing: border-box;
}
:root {
  font-family: "Font Awesome", "HK Grotesk", sans-serif;
  font-size: 14px;
  background: #CCC;
  color: #212121;
}
body > nav {
  background-color: #212121;
  color: #FAFAFA;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  font-size: 0;
  text-align: center;
}
body > nav a {
  font-size: 1rem;
  padding: 20px;
  padding-top: 18px;
  display: inline-block;
  color: inherit;
  border-top: 2px solid transparent;
  transition: border-top-color 0.2s;
}
body > nav a:hover {
  border-top-color: rgba(255, 255, 255, 0.5);
  color: inherit;
}
body > nav a:active,
body > nav a.active {
  border-top-color: rgba(255, 255, 255, 0.75);
  color: inherit;
}
body > nav.smaller {
  text-align: center;
}
body > nav.smaller a {
  padding: 15px;
  padding-top: 13px;
}
@media only screen and (max-width: 480px) {
  body > nav {
    text-align: center;
  }
  body > nav a {
    padding: 15px;
    padding-top: 13px;
  }
  body > nav .txtextra {
    display: none;
  }
}
body.index {
  background-image: url("../img/main.jpeg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  width: 100vw;
  height: 100vh;
  min-width: 320px;
  justify-content: center;
  align-items: center;
}
body.index > nav {
  background-image: url("../img/main_fd.jpeg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
body.index > footer {
  background-color: #212121;
  color: #FAFAFA;
  background-image: url("../img/main_fd.jpeg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  text-align: center;
  padding: 15px;
}
body.index > main {
  background-color: #FAFAFA;
  color: #212121;
  background-image: url("../img/main_fl.jpeg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  display: block;
  padding: 50px;
  text-align: center;
  width: auto;
  border-radius: 2px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  transition: width 0.2s, border-radius 0.2s;
}
body.index > main h1,
body.index > main h2,
body.index > main h3,
body.index > main h4,
body.index > main h5,
body.index > main h6,
body.index > main p {
  margin: 10px 0;
}
@media only screen and (max-width: 480px) {
  body.index > main {
    padding: 50px 10px;
    width: 100vh;
    border-radius: 0;
  }
}
body.page {
  background: #CCC;
}
body.page > nav {
  background: transparent;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
  z-index: 10;
}
body.page > nav.opaque {
  background-color: rgba(33, 33, 33, 0.9);
  color: #FAFAFA;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}
body.page > .page-background {
  background-size: cover;
  background-position: center;
  perspective: 10px;
  height: 75vh;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  will-change: top, opacity;
}
body.page > header {
  position: relative;
  font-size: 1.1em;
  margin-top: 92px;
  margin-bottom: 52px;
  text-align: center;
  color: #FAFAFA;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}
body.page > header .button {
  text-shadow: none;
}
body.page > main,
body.page .disqus-comments {
  background: #FAFAFA;
  color: #212121;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  width: 70vw;
  min-width: 300px;
  margin: 0 auto;
  position: relative;
}
body.page > main.blog-entry,
body.page .disqus-comments.blog-entry {
  padding: 10px;
}
body.page > footer {
  background-color: #212121;
  color: #FAFAFA;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  width: 70vw;
  min-width: 300px;
  padding: 15px;
  margin: 15px auto;
  text-align: center;
  position: relative;
}
body.page .disqus-comments {
  margin-top: 5px;
  padding: 0 10px;
}
.project-list .project {
  display: block;
  background: #FAFAFA;
  color: #212121;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  width: 70vw;
  min-width: 300px;
  position: relative;
  border-radius: 2px;
  padding: 15px;
  margin: 10px auto;
  transition: box-shadow 0.2s, background-color 0.2s, transform 0.2s;
}
.project-list .project .project-title {
  display: block;
  font-size: 24px;
}
.project-list .project .project-title code {
  font-size: 16px;
}
.project-list .project .project-title code.wip {
  color: darkgoldenrod;
}
.project-list .project .project-title code.wip::after {
  content: "[WIP]";
}
.project-list .project .project-title code.old {
  color: gray;
}
.project-list .project .project-title code.old::after {
  content: "[OLD]";
}
.project-list .project .project-title code.pro {
  color: darkgreen;
}
.project-list .project .project-title code.pro::after {
  content: "[PRD]";
}
.project-list .project .project-description {
  display: block;
}
.project-list .project:hover {
  color: #212121;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.project-list .project:active {
  background: #e1e1e1;
  color: #212121;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.blog-pagination {
  margin: auto;
  width: 70vw;
  min-width: 300px;
  position: relative;
  height: 40px;
}
.blog-pagination .older {
  position: absolute;
  right: 0;
  top: 0;
}
.blog-pagination .newer {
  position: absolute;
  left: 0;
  top: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
}
a {
  text-decoration: none;
  color: #3F51B5;
}
a:hover {
  color: #5C6BC0;
}
a:active {
  color: #303F9F;
}
code,
pre {
  font-family: "Hack";
}
input[type=submit],
input[type=reset],
input[type=button],
button,
.button {
  font: inherit;
  font-size: 1rem;
  padding: 10px;
  display: inline-block;
  background: #FAFAFA;
  color: #212121;
  text-align: center;
  min-width: 100px;
  border: none;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.2s, background-color 0.2s, transform 0.2s;
}
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
button:hover,
.button:hover {
  color: #212121;
  z-index: 1;
}
input[type=submit]:active,
input[type=reset]:active,
input[type=button]:active,
button:active,
.button:active {
  background: #e1e1e1;
  color: #212121;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
input[type=submit].button-dark,
input[type=reset].button-dark,
input[type=button].button-dark,
button.button-dark,
.button.button-dark {
  background: #212121;
  color: #FAFAFA;
}
input[type=submit].button-dark:hover,
input[type=reset].button-dark:hover,
input[type=button].button-dark:hover,
button.button-dark:hover,
.button.button-dark:hover {
  color: #FAFAFA;
}
input[type=submit].button-dark:active,
input[type=reset].button-dark:active,
input[type=button].button-dark:active,
button.button-dark:active,
.button.button-dark:active {
  background: #3b3b3b;
  color: #FAFAFA;
}
input[type=submit].button-icon,
input[type=reset].button-icon,
input[type=button].button-icon,
button.button-icon,
.button.button-icon {
  min-width: unset;
  border-radius: 50%;
}
.avatar {
  display: inline-block;
  background: url(../img/avatar.jpeg);
  background-size: contain;
  background-position: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}
hr {
  border: none;
  border-bottom: 1px solid darkgray;
}
.blog-search input {
  vertical-align: middle;
}
.blog-search input[type=text] {
  border: none;
  font: inherit;
  font-size: 14px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  border-radius: 2px;
  padding: 10px;
  transition: box-shadow 0.2s, background 0.2s;
}
.blog-search input[type=text]:hover {
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.5);
}
.blog-search input[type=text]:focus {
  background: #eee;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.blog-search input[type=submit] {
  width: auto;
  min-width: unset;
}
/*# sourceMappingURL=data:application/json;base64,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 */