/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html {
 font-family:sans-serif;
 line-height:1.15;
 -ms-text-size-adjust:100%;
 -webkit-text-size-adjust:100%
}
body {
 margin:0
}
article,aside,footer,header,nav,section {
 display:block
}
h1 {
 font-size:2em;
 margin:0.67em 0
}
figcaption,figure,main {
 display:block
}
figure {
 margin:1em 40px
}
hr {
 box-sizing:content-box;
 height:0;
 overflow:visible
}
pre {
 font-family:monospace, monospace;
 font-size:1em
}
a {
 background-color:transparent;
 -webkit-text-decoration-skip:objects
}
a:active,a:hover {
 outline-width:0
}
abbr[title] {
 border-bottom:none;
 text-decoration:underline;
 text-decoration:underline dotted
}
b,strong {
 font-weight:inherit
}
b,strong {
 font-weight:bolder
}
code,kbd,samp {
 font-family:monospace, monospace;
 font-size:1em
}
dfn {
 font-style:italic
}
mark {
 background-color:#ff0;
 color:#000
}
small {
 font-size:80%
}
sub,sup {
 font-size:75%;
 line-height:0;
 position:relative;
 vertical-align:baseline
}
sub {
 bottom:-0.25em
}
sup {
 top:-0.5em
}
audio,video {
 display:inline-block
}
audio:not([controls]) {
 display:none;
 height:0
}
img {
 border-style:none
}
svg:not(:root) {
 overflow:hidden
}
button,input,optgroup,select,textarea {
 font-family:sans-serif;
 font-size:100%;
 line-height:1.15;
 margin:0
}
button,input {
 overflow:visible
}
button,select {
 text-transform:none
}
button,html [type="button"],[type="reset"],[type="submit"] {
 -webkit-appearance:button
}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
 border-style:none;
 padding:0
}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
 outline:1px dotted ButtonText
}
fieldset {
 border:1px solid #c0c0c0;
 margin:0 2px;
 padding:0.35em 0.625em 0.75em
}
legend {
 box-sizing:border-box;
 color:inherit;
 display:table;
 max-width:100%;
 padding:0;
 white-space:normal
}
progress {
 display:inline-block;
 vertical-align:baseline
}
textarea {
 overflow:auto
}
[type="checkbox"],[type="radio"] {
 box-sizing:border-box;
 padding:0
}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
 height:auto
}
[type="search"] {
 -webkit-appearance:textfield;
 outline-offset:-2px
}
[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
 -webkit-appearance:none
}
::-webkit-file-upload-button {
 -webkit-appearance:button;
 font:inherit
}
details,menu {
 display:block
}
summary {
 display:list-item
}
canvas {
 display:inline-block
}
template {
 display:none
}
[hidden] {
 display:none
}
*,*:before,*:after {
 box-sizing:border-box
}
h1,h2,h3,h4,h5,h6 {
 font-family:'Merriweather', serif
}
p,small,li {
 font-family:'Fira Sans', sans-serif
}
pre {
 display:block
}
pre,code {
 overflow:auto;
 font-family:'Fira Mono', monospace;
 margin-bottom:0
}
code {
 padding:0 5px;
 background-color:rgba(0,0,0,0.04);
 border-radius:5px;
 font-size:85%
}
pre {
 padding:1rem
}
pre>code {
 display:block;
 border:none;
 font-style:normal;
 font-size:1rem
}
* {
 line-height:1.7;
 margin-bottom:15.5px
}
@media (max-width: 640px) {
 * {
  line-height:1.6
 }
}
@media (max-width: 640px) {
 * {
  margin-bottom:13px
 }
}
html {
 font-size:18px;
 color:#333
}
@media (max-width: 1023px) {
 html {
  font-size:16px
 }
}
h1 {
 line-height:1.5;
 font-size:45px;
 margin-top:93px;
 margin-bottom:31px
}
@media (max-width: 1023px) {
 h1 {
  font-size:40px
 }
}
@media (max-width: 640px) {
 h1 {
  margin-top:78px
 }
}
@media (max-width: 640px) {
 h1 {
  margin-bottom:26px
 }
}
h2 {
 line-height:1.5;
 font-size:30.375px;
 margin-top:62px;
 margin-bottom:15.5px
}
@media (max-width: 1023px) {
 h2 {
  font-size:27px
 }
}
@media (max-width: 640px) {
 h2 {
  margin-top:52px
 }
}
@media (max-width: 640px) {
 h2 {
  margin-bottom:13px
 }
}
h3 {
 line-height:1.5;
 font-size:24.75px;
 margin-top:46.5px;
 margin-bottom:15.5px
}
@media (max-width: 1023px) {
 h3 {
  font-size:22px
 }
}
@media (max-width: 640px) {
 h3 {
  margin-top:39px
 }
}
@media (max-width: 640px) {
 h3 {
  margin-bottom:13px
 }
}
h4 {
 line-height:1.5;
 font-size:21.6px;
 margin-top:31px;
 margin-bottom:15.5px
}
@media (max-width: 1023px) {
 h4 {
  font-size:19.2px
 }
}
@media (max-width: 640px) {
 h4 {
  margin-top:26px
 }
}
@media (max-width: 640px) {
 h4 {
  margin-bottom:13px
 }
}
h5 {
 line-height:1.5;
 font-size:18px;
 margin-top:77.5px;
 margin-bottom:15.5px
}
@media (max-width: 1023px) {
 h5 {
  font-size:16px
 }
}
@media (max-width: 640px) {
 h5 {
  margin-top:65px
 }
}
@media (max-width: 640px) {
 h5 {
  margin-bottom:13px
 }
}
h6 {
 line-height:1.5;
 font-size:18px;
 margin-top:77.5px;
 margin-bottom:15.5px
}
@media (max-width: 1023px) {
 h6 {
  font-size:16px
 }
}
@media (max-width: 640px) {
 h6 {
  margin-top:65px
 }
}
@media (max-width: 640px) {
 h6 {
  margin-bottom:13px
 }
}
h1+h2 {
 margin-top:31px
}
@media (max-width: 640px) {
 h1+h2 {
  margin-top:26px
 }
}
h2+h3,h3+h4,h4+h5 {
 margin-top:15.5px
}
@media (max-width: 640px) {
 h2+h3,h3+h4,h4+h5 {
  margin-top:13px
 }
}
h5+h6 {
 margin-top:-15.5px
}
@media (max-width: 640px) {
 h5+h6 {
  margin-top:-13px
 }
}
h6 {
 font-style:italic;
 font-weight:normal
}
ul,ol {
 padding-left:31px
}
@media (max-width: 640px) {
 ul,ol {
  padding-left:26px
 }
}
ul li,ol li {
 margin-bottom:15.5px
}
@media (max-width: 640px) {
 ul li,ol li {
  margin-bottom:13px
 }
}
em,i {
 line-height:0;
 position:relative;
 vertical-align:baseline
}
p+p {
 margin-top:-15.5px
}
@media (max-width: 640px) {
 p+p {
  margin-top:-13px
 }
}
a {
 cursor:pointer;
 color:#ac4142;
 text-decoration:none
}
a:hover {
 text-decoration:underline
}
a:visited {
 color:#ac4142
}
blockquote {
 font-style:italic;
 padding-left:1rem;
 border-left:10px solid #333;
 margin-left:0
}
blockquote p {
 padding:1rem 0
}
.article-container p,.article-container li {
 margin-top:0
}
.article-container p,.article-container ul,.article-container img,.article-container blockquote,.article-container pre,.article-container .contained,.article-container h1,.article-container h2,.article-container h3,.article-container h4,.article-container h5,.article-container #disqus_thread {
 max-width:38rem;
 transition:max-width linear 0.2s
}
.article-container #disqus_thread {
 margin-top:2rem
}
.article-container .contained {
 margin-top:2rem;
 margin-bottom:2rem
}
.article-container pre:hover {
 max-width:100%
}
.article-container p>img {
 margin-top:1rem;
 vertical-align:bottom
}
.article-container img {
 max-width:100%
}
.article-container pre {
 border-radius:15px
}
@media (max-width: 640px) {
 .article-container .article-container__title {
  margin-top:2rem
 }
 .article-container pre>code {
  max-width:100%
 }
}
.article-container table {
 border-collapse:collapse
}
.article-container table th,.article-container table td {
 vertical-align:top;
 border:1px solid #ccc;
 padding:0.5rem
}
.content {
 margin-left:16rem;
 margin-right:3rem;
 padding-bottom:4rem
}
.sidebar {
 position:fixed;
 top:-10%;
 left:0;
 bottom:0;
 width:13rem;
 padding:0% 1.5%;
 text-align:right;
 margin-bottom:0;
 background-color:#ac4142;
 color:white;
 display:-ms-flexbox;
 display:flex;
 -ms-flex-align:top;
 flex-direction: column;
 justify-content: center;
}
.sidebar h1 {
 line-height:1.1
}
.sidebar .active a {
 border-color:white
}
.sidebar__nav {
 list-style:none;
 padding-top:15%
}
.sidebar__nav li {
 margin:0
}
.sidebar__nav a {
 color:white;
 border-bottom:2px solid transparent;
 transition:border-color 0.3s ease;
 padding-bottom:2px
}
.sidebar__nav a:hover {
 text-decoration:none;
 border-color:white
}
.sidebar__social {
 text-align:center;
 font-size:24px;
 padding-top:15%;
}
@media (max-width: 1023px) {
 .sidebar__social {
  font-size:24px
 }
}
.sidebar__social a {
 color:rgba(255,255,255,0.7);
 transition:color 0.2s linear
}
.sidebar__social a:hover {
 color:#fff
}
@media (max-width: 640px) {
 .sidebar {
  display:block;
  position:inherit;
  width:100%;
  text-align:center
 }
 .sidebar h1 {
  margin-top:0
 }
 .sidebar__content,.sidebar__social {
  margin-bottom:0
 }
 .content {
  margin:0 1rem
 }
}
.projects,.resume {
 max-width:38rem
}
@font-face {
 font-family:'vincent';
 src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");
 font-weight:normal;
 font-style:normal
}
[class^="icon-"]:before,[class*=" icon-"]:before {
 font-family:"vincent";
 font-style:normal;
 font-weight:normal;
 speak:none;
 display:inline-block;
 text-decoration:inherit;
 width:1em;
 margin-right:.2em;
 text-align:center;
 font-variant:normal;
 text-transform:none;
 line-height:1em;
 margin-left:.2em;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale
}
.icon-rss:before {
 content:'\e800'
}
.icon-mail:before {
 content:'\e801'
}
.icon-globe:before {
 content:'\e802'
}
.icon-github:before {
 content:'\f300'
}
.icon-twitter:before {
 content:'\f309'
}
.icon-linkedin:before {
 content:'\f318'
}
.post__title {
 margin-bottom:10px
}
.list-posts {
 max-width:38rem
}
.article-container__title {
 margin-bottom:10px
}
.article-container .post-meta {
 margin-bottom:2rem
}
.article-container pre {
 margin-bottom:1rem
}
.post-meta {
 display:block;
 margin-top:-0.5rem;
 margin-bottom:1rem;
 color:#9a9a9a
}
.projects h2 {
 border-bottom:2px solid #ccc
}
.projects .project {
 margin-top:2rem
}
.projects .project__logo {
 margin:0 auto;
 display:block
}
.projects .project h3 {
 text-align:center;
 margin-top:1rem;
 margin-bottom:0.5rem
}
.projects .project .badges {
 text-align:center
}
.projects .project .badges img {
 margin-bottom:0
}
.projects blockquote {
 margin-left:0
}
