/**
 * /* rendall.dev styles
 *
 * @format
 */
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size (opinionated).
*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
}

/*
Sections
========
*/
/**
1. Remove the margin in all browsers.
2. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  margin: 0; /* 1 */
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* 2 */
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/* resets and common styles across rendall.dev & blog.rendall.dev */
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.eot");
  src: url("../fonts/Montserrat-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Bold.woff2") format("woff2"), url("../fonts/Montserrat-Bold.woff") format("woff"), url("../fonts/Montserrat-Bold.ttf") format("truetype"), url("../fonts/Montserrat-Bold.svg#Montserrat") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.eot");
  src: url("../fonts/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Regular.woff2") format("woff2"), url("../fonts/Montserrat-Regular.woff") format("woff"), url("../fonts/Montserrat-Regular.ttf") format("truetype"), url("../fonts/Montserrat-Regular.svg#Montserrat") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Italic.eot");
  src: url("../fonts/Montserrat-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Italic.woff2") format("woff2"), url("../fonts/Montserrat-Italic.woff") format("woff"), url("../fonts/Montserrat-Italic.ttf") format("truetype"), url("../fonts/Montserrat-Italic.svg#Montserrat") format("svg");
  font-weight: normal;
  font-style: italic;
  font-display: fallback;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bolditalic.eot");
  src: url("../fonts/Montserrat-Bolditalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Montserrat-Bolditalic.woff2") format("woff2"), url("../fonts/Montserrat-Bolditalic.woff") format("woff"), url("../fonts/Montserrat-Bolditalic.ttf") format("truetype"), url("../fonts/Montserrat-Bolditalic.svg#montserratbold_italic") format("svg");
  font-weight: bold;
  font-style: italic;
  font-display: fallback;
}
.normal-text {
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #403434;
}

html {
  background-color: #efeeee;
}

body {
  margin: 0;
  padding: 0;
}

ul {
  padding: 0;
  list-style: none;
  margin: 0;
}

a {
  color: #403434;
}
a:visited {
  color: #786262;
}

@media print {
  html {
    background-color: white;
    font-family: Arial, Helvetica, sans-serif;
  }
  .no-print {
    display: none !important;
  }
}
/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+typescript */
/**
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */
code[class*=language-],
pre[class*=language-] {
  color: #ccc;
  background: none;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*=language-] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

:not(pre) > code[class*=language-],
pre[class*=language-] {
  background: #2d2d2d;
}

/* Inline code */
:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #999;
}

.token.punctuation {
  color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
  color: #e2777a;
}

.token.function-name {
  color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
  color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
  color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
  color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
  color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
  color: #67cdcc;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

.token.inserted {
  color: green;
}

/**
 * MIT License
 * Copyright (c) 2018 Sarah Drasner
 * Sarah Drasner's[@sdras] Night Owl
 * Ported by Sara vieria [@SaraVieira]
 * Added by Souvik Mandal [@SimpleIndian]
 */
code[class*=language-],
pre[class*=language-] {
  color: #d6deeb;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  font-size: 1em;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre[class*=language-]::-moz-selection,
pre[class*=language-] ::-moz-selection,
code[class*=language-]::-moz-selection,
code[class*=language-] ::-moz-selection {
  text-shadow: none;
  background: rgba(29, 59, 83, 0.99);
}

pre[class*=language-]::selection,
pre[class*=language-] ::selection,
code[class*=language-]::selection,
code[class*=language-] ::selection {
  text-shadow: none;
  background: rgba(29, 59, 83, 0.99);
}

@media print {
  code[class*=language-],
  pre[class*=language-] {
    text-shadow: none;
  }
}
/* Code blocks */
pre[class*=language-] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

:not(pre) > code[class*=language-],
pre[class*=language-] {
  color: white;
  background: #011627;
}

:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.token.comment,
.token.prolog,
.token.cdata {
  color: rgb(99, 119, 119);
  font-style: italic;
}

.token.punctuation {
  color: rgb(199, 146, 234);
}

.namespace {
  color: rgb(178, 204, 214);
}

.token.deleted {
  color: rgba(239, 83, 80, 0.56);
  font-style: italic;
}

.token.symbol,
.token.property {
  color: rgb(128, 203, 196);
}

.token.tag,
.token.operator,
.token.keyword {
  color: rgb(127, 219, 202);
}

.token.boolean {
  color: rgb(255, 88, 116);
}

.token.number {
  color: rgb(247, 140, 108);
}

.token.constant,
.token.function,
.token.builtin,
.token.char {
  color: rgb(130, 170, 255);
}

.token.selector,
.token.doctype {
  color: rgb(199, 146, 234);
  font-style: italic;
}

.token.attr-name,
.token.inserted {
  color: rgb(173, 219, 103);
  font-style: italic;
}

.token.string,
.token.url,
.token.entity,
.language-css .token.string,
.style .token.string {
  color: rgb(173, 219, 103);
}

.token.class-name,
.token.atrule,
.token.attr-value {
  color: rgb(255, 203, 139);
}

.token.regex,
.token.important,
.token.variable {
  color: rgb(214, 222, 235);
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

div#simple-comment-area {
  max-width: 50rem;
}

html {
  background-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M82.42 180h-1.415L0 98.995v-2.827L6.167 90 0 83.833V81.004L81.005 0h2.827L90 6.167 96.167 0H98.996L180 81.005v2.827L173.833 90 180 96.167V98.996L98.995 180h-2.827L90 173.833 83.833 180H82.42zm0-1.414L1.413 97.58 8.994 90l-7.58-7.58L82.42 1.413 90 8.994l7.58-7.58 81.006 81.005-7.58 7.58 7.58 7.58-81.005 81.006-7.58-7.58-7.58 7.58zM175.196 0h-25.832c1.033 2.924 2.616 5.59 4.625 7.868C152.145 9.682 151 12.208 151 15c0 5.523 4.477 10 10 10 1.657 0 3 1.343 3 3v4h16V0h-4.803c.51.883.803 1.907.803 3 0 3.314-2.686 6-6 6s-6-2.686-6-6c0-1.093.292-2.117.803-3h10.394-13.685C161.18.938 161 1.948 161 3v4c-4.418 0-8 3.582-8 8s3.582 8 8 8c2.76 0 5 2.24 5 5v2h4v-4h2v4h4v-4h2v4h2V0h-4.803zm-15.783 0c-.27.954-.414 1.96-.414 3v2.2c-1.25.254-2.414.74-3.447 1.412-1.716-1.93-3.098-4.164-4.054-6.612h7.914zM180 17h-3l2.143-10H180v10zm-30.635 163c-.884-2.502-1.365-5.195-1.365-8 0-13.255 10.748-24 23.99-24H180v32h-30.635zm12.147 0c.5-1.416 1.345-2.67 2.434-3.66l-1.345-1.48c-1.498 1.364-2.62 3.136-3.186 5.14H151.5c-.97-2.48-1.5-5.177-1.5-8 0-12.15 9.84-22 22-22h8v30h-18.488zm13.685 0c-1.037-1.793-2.976-3-5.197-3-2.22 0-4.16 1.207-5.197 3h10.394zM0 148h8.01C21.26 148 32 158.742 32 172c0 2.805-.48 5.498-1.366 8H0v-32zm0 2h8c12.15 0 22 9.847 22 22 0 2.822-.53 5.52-1.5 8h-7.914c-.567-2.004-1.688-3.776-3.187-5.14l-1.346 1.48c1.09.99 1.933 2.244 2.434 3.66H0v-30zm15.197 30c-1.037-1.793-2.976-3-5.197-3-2.22 0-4.16 1.207-5.197 3h10.394zM0 32h16v-4c0-1.657 1.343-3 3-3 5.523 0 10-4.477 10-10 0-2.794-1.145-5.32-2.992-7.134C28.018 5.586 29.6 2.924 30.634 0H0v32zm0-2h2v-4h2v4h4v-4h2v4h4v-2c0-2.76 2.24-5 5-5 4.418 0 8-3.582 8-8s-3.582-8-8-8V3c0-1.052-.18-2.062-.512-3H0v30zM28.5 0c-.954 2.448-2.335 4.683-4.05 6.613-1.035-.672-2.2-1.16-3.45-1.413V3c0-1.04-.144-2.046-.414-3H28.5zM0 17h3L.857 7H0v10zM15.197 0c.51.883.803 1.907.803 3 0 3.314-2.686 6-6 6S4 6.314 4 3c0-1.093.292-2.117.803-3h10.394zM109 115c-1.657 0-3 1.343-3 3v4H74v-4c0-1.657-1.343-3-3-3-5.523 0-10-4.477-10-10 0-2.793 1.145-5.318 2.99-7.132C60.262 93.638 58 88.084 58 82c0-13.255 10.748-24 23.99-24h16.02C111.26 58 122 68.742 122 82c0 6.082-2.263 11.636-5.992 15.866C117.855 99.68 119 102.206 119 105c0 5.523-4.477 10-10 10zm0-2c-2.76 0-5 2.24-5 5v2h-4v-4h-2v4h-4v-4h-2v4h-4v-4h-2v4h-4v-4h-2v4h-4v-2c0-2.76-2.24-5-5-5-4.418 0-8-3.582-8-8s3.582-8 8-8v-4c0-2.64 1.136-5.013 2.946-6.66L72.6 84.86C70.39 86.874 69 89.775 69 93v2.2c-1.25.254-2.414.74-3.447 1.412C62.098 92.727 60 87.61 60 82c0-12.15 9.84-22 22-22h16c12.15 0 22 9.847 22 22 0 5.61-2.097 10.728-5.55 14.613-1.035-.672-2.2-1.16-3.45-1.413V93c0-3.226-1.39-6.127-3.6-8.14l-1.346 1.48C107.864 87.987 109 90.36 109 93v4c4.418 0 8 3.582 8 8s-3.582 8-8 8zM90.857 97L93 107h-6l2.143-10h1.714zM80 99c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6zm20 0c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6z' fill='%23ababab' fill-opacity='0.13' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.Site.grid-layout {
  display: grid;
  grid-template-columns: 23rem auto;
  grid-template-rows: 20rem 1fr 20rem;
  grid-template-areas: "nav header" "nav main" "nav footer";
  min-height: 100vh;
}
.Site .grid-header {
  grid-area: header;
}
.Site .grid-nav {
  grid-area: nav;
}
.Site .grid-main {
  grid-area: main;
}
.Site .grid-footer {
  grid-area: footer;
}
.Site__Header {
  font-weight: bold;
}
.Site__Header.banner {
  display: block;
  height: 100%;
  border-radius: 0;
}
.Site__Header.banner img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: bottom;
  max-width: 73rem;
}
.Site__Side {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  left: 0;
  overflow-y: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 23rem;
  box-shadow: 1px 0 0.5rem rgba(0, 0, 0, 0.3);
}
.Site__Side .avatar {
  border-radius: 100%;
  display: block;
  margin: 0 auto 2.25rem auto;
  overflow: hidden;
  width: 8em;
}
.Site__Side .avatar img {
  border-radius: 100%;
  display: block;
  width: 100%;
}
.Site__Side a {
  transition: none;
  border: 0;
  display: block;
  padding: 0.85rem 0;
}
.Site__Side a:link {
  text-decoration: none;
}
.Site__Side header {
  flex-shrink: 0;
  padding: 3rem;
}
.Site__Side header h1 {
  font-size: 2rem;
  margin: 0;
}
.Site__Side nav {
  flex-grow: 1;
}
.Site__Side nav > ul > li {
  border-top: solid 1px #6a5151;
}
.Site__Side nav ul {
  margin: 0;
  padding: 0;
}
.Site__Side nav ul li {
  display: block;
  padding: 0;
}
.Site__Side nav ul li:first-child {
  border-top: 0;
}
.Site__Side nav ul li a:active, .Site__Side nav ul li a.active {
  background-color: #403434;
  color: #efeeee;
  font-weight: bold;
}
.Site__Side footer {
  flex-shrink: 0;
  padding: 2rem;
  width: 100%;
}
.Site__Main section {
  margin-left: 5rem;
  max-width: 50rem;
}
.Site__Message form input,
.Site__Message textarea, .Site__SocialList form input,
.Site__SocialList textarea {
  display: block;
  border: solid gray 1px;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  font-size: 1rem;
  color: #6a5151;
  min-height: 2rem;
  max-width: 30rem;
  min-width: 15rem;
  width: 100%;
  box-sizing: border-box;
}
.Site__Message fieldset, .Site__SocialList fieldset {
  border: none;
  margin: 0 0 1rem 0;
  padding: 0;
}
.Site__Message fieldset.hide, .Site__SocialList fieldset.hide {
  display: none;
}
.Site__Message .contain-form, .Site__SocialList .contain-form {
  display: none;
}
.Site__Message .contain-form.is-visible, .Site__SocialList .contain-form.is-visible {
  display: inherit;
}
.Site__Message .contain-form.is-success, .Site__SocialList .contain-form.is-success {
  display: none;
}
.Site__Message img.icon, .Site__SocialList img.icon {
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
  margin-right: 1rem;
}
.Site__Message .notify-invalid, .Site__SocialList .notify-invalid {
  display: none;
}
.Site__Message .notify-invalid.is-invalid, .Site__SocialList .notify-invalid.is-invalid {
  display: block;
  color: red;
}
.Site__Message .notify-success, .Site__SocialList .notify-success {
  display: none;
}
.Site__Message .notify-success.is-success, .Site__SocialList .notify-success.is-success {
  display: block;
}
.Site__Message .notify-error, .Site__SocialList .notify-error {
  display: none;
}
.Site__Message .notify-error.is-error, .Site__SocialList .notify-error.is-error {
  display: block;
  color: red;
}

.Blog__Nav {
  list-style-type: none;
}
.Blog__Nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}
.Blog__NavItem {
  display: inline;
}
.Blog__NavItem--Active {
  color: gray;
}
.Blog__Article,
.Blog article {
  margin-bottom: 1rem;
}
.Blog__Article img,
.Blog article img {
  margin: 0;
  margin-right: 1rem;
  max-height: 400px;
  max-width: 50%;
}
.Blog__Article img:nth-child(2),
.Blog article img:nth-child(2) {
  float: left;
  margin: 0;
  margin-right: 1rem;
}
.Blog__Article ul,
.Blog article ul {
  list-style-position: outside;
  margin-bottom: 1rem;
}
.Blog__Article li,
.Blog article li {
  margin-bottom: 0;
}
.Blog__Article li > ul,
.Blog article li > ul {
  margin-top: 1rem;
}
.Blog__Article > ul,
.Blog article > ul {
  list-style-type: disc;
}
.Blog__Article > ul ul,
.Blog article > ul ul {
  list-style-type: circle;
}
.Blog__Article > ul ul ul,
.Blog article > ul ul ul {
  list-style-type: square;
}
.Blog__Header a {
  text-decoration: none;
}
.Blog__Header a:hover {
  text-decoration: underline;
}
.Blog__Post .Post__Header {
  margin-bottom: 0.75rem;
}
.Blog__Post .Post__Title {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.Blog__Post .Post__SubTitle {
  font-style: italic;
  margin: 0 0 1rem;
  font-size: 1.25rem;
}
.Blog__Post .Post__Article {
  max-width: 50rem;
}
.Blog__Post .Post__Article a.direct-link {
  visibility: hidden;
}
.Blog__Post .Post__Article p {
  margin: 0 0 1rem 0;
}
.Blog__Post .Post__Article ul {
  list-style-position: outside;
  margin-bottom: 0.5rem;
}
.Blog__Post .Post__Article li {
  margin-bottom: 0.25rem;
}
.Blog__Post .Post__Article li > ul {
  margin-top: 0.5rem;
}
.Blog__Post .Post__Article > ul {
  list-style-type: disc;
}
.Blog__Post .Post__Article > ul ul {
  list-style-type: circle;
}
.Blog__Post .Post__Article > ul ul ul {
  list-style-type: square;
}
.Blog__Form {
  max-width: 50rem;
}
.Blog__Form .comment__list {
  list-style-type: none;
  padding: 0;
}
.Blog__Form .comment__list .comment {
  padding: 0 0 1rem 0;
  background-color: #f2f2f2;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}
.Blog__Form .comment__list .comment__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 1rem 1rem 0 1rem;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.Blog__Form .comment__list .comment__header--awaiting-moderation {
  background-color: #e6e5e5;
  padding-bottom: 1rem;
}
.Blog__Form .comment__list .comment__header > * {
  margin: 0;
  padding: 0;
}
.Blog__Form .comment__list .comment__notice {
  font-style: italic;
}
.Blog__Form .comment__list .comment__author {
  font-weight: bold;
}
.Blog__Form .comment__list .comment__date {
  color: gray;
}
.Blog__Form .comment__list .comment__text {
  margin-bottom: 0.5rem;
  padding: 0 1rem;
}
.Blog__Postlist {
  list-style-type: none;
  counter-reset: 3;
  padding: 0;
  margin: 0;
  list-style-type: none;
  max-width: 50rem;
}
.Blog__Postlist .Postlist__Item {
  margin-bottom: 1.5rem;
}
.Blog__Postlist .Postlist__Item header.Item__Header {
  margin-bottom: 0.75rem;
}
.Blog__Postlist .Postlist__Item header.Item__Header h2.Item__Headline {
  margin: 0 0 0.25rem 0;
}
.Blog__Postlist .Postlist__Item header.Item__Header h2.Item__Headline a.Headline__Link {
  text-decoration: none;
}
.Blog__Postlist .Postlist__Item header.Item__Header h2.Item__Headline a.Headline__Link:hover {
  text-decoration: underline;
}
.Blog__Postlist .Postlist__Item article.Item__Teaser p {
  display: inline;
  margin-right: 0.5rem;
}
.Blog form input,
.Blog form textarea {
  display: block;
  border: solid gray 1px;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  font-size: 1rem;
  color: #6a5151;
  min-height: 2rem;
  max-width: 30rem;
  min-width: 15rem;
  width: 100%;
  box-sizing: border-box;
}
.Blog form textarea {
  width: 50rem;
  max-width: 50rem;
  height: 7rem;
}
.Blog fieldset {
  border: none;
  margin: 0 0 1rem 0;
  padding: 0;
}
.Blog fieldset.hide {
  display: none;
}
.Blog .contain-form {
  display: none;
}
.Blog .contain-form.is-visible {
  display: inherit;
}
.Blog .contain-form.is-success {
  display: none;
}
.Blog .notify-invalid {
  display: none;
}
.Blog .notify-invalid.is-invalid {
  display: block;
  color: red;
}
.Blog .notify-success {
  display: none;
}
.Blog .notify-success.is-success {
  display: block;
}
.Blog .notify-error {
  display: none;
}
.Blog .notify-error.is-error {
  display: block;
  color: red;
}
.Blog code[class*=language-],
.Blog pre[class*=language-] {
  width: fit-content;
  min-width: 50rem;
}

.Resume__Side nav > ul ul > li {
  text-align: right;
}
.Resume__Side .icon {
  width: 3rem;
  height: 3rem;
  vertical-align: middle;
  border: solid 1px #403434;
  border-radius: 9px;
  margin: 0 1rem;
}
.Resume__Side svg.icon {
  fill: #403434;
}
.Resume__Side span.icon {
  display: inline-block;
}
.Resume__Side a:active .icon {
  border: solid 1px #efeeee;
}
.Resume__Side a:active svg.icon {
  fill: #efeeee;
}
.Resume__Side a:active span.icon {
  display: inline-block;
  background-color: #efeeee;
}
.Resume__Main {
  max-width: 50rem;
  margin-left: 5rem;
}
.Resume__Main h1,
.Resume__Main h2,
.Resume__Main h3,
.Resume__Main h4,
.Resume__Main h5 {
  page-break-after: avoid;
}
.Resume__Main h1 {
  margin: 0;
  margin-top: 2rem;
}
.Resume__Main > ul, .Resume__Main > p, .Resume__Main > h3 {
  margin-left: 1rem;
}
.Resume__Main ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.Resume__Main li {
  margin-bottom: 0.5rem;
}
.Resume__Main .organization {
  display: inline;
  page-break-before: always;
}
.Resume__Main .position,
.Resume__Main .degree,
.Resume__Main .dates {
  display: inline;
  margin-left: 1rem;
}
.Resume__Main p.nb {
  margin: 0 0 0 1rem;
}
.Resume__Main a {
  font-weight: bold;
}
.Resume__Main a:hover {
  text-decoration: underline;
}

.h15rem {
  height: 15rem;
}

.h2rem {
  height: 2rem;
}

.pad-top-05rem {
  padding-top: 0.5rem;
}

.max-width-35rem {
  max-width: 35rem;
}

.font-weight-bold {
  font-weight: bold;
}

.display-inline {
  display: inline;
}

ul.comma-separated-list {
  display: inline-flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
ul.comma-separated-list > li {
  white-space: nowrap;
  margin: 0;
  margin-right: 0.25rem;
}
ul.comma-separated-list > li:after {
  content: ", ";
}
ul.comma-separated-list > li:last-child:after {
  content: "";
}

ul.semicolon-separated-list {
  display: inline;
}
ul.semicolon-separated-list > li {
  display: inline;
}
ul.semicolon-separated-list > li:after {
  content: "; ";
}
ul.semicolon-separated-list > li:last-child:after {
  content: "";
}

.append-colon:after {
  content: ": ";
}

.u-indent-2rem {
  margin-left: 2rem;
}

.u-hide {
  display: none;
}

@media screen and (max-width: 768px) {
  .Site.grid-layout {
    grid-template-columns: 100%;
    grid-template-rows: 10rem 1fr 20rem;
    grid-template-areas: "header" "main" "footer";
  }
  .Site .grid-nav {
    display: none;
  }
  .Site__Main section {
    max-width: unset;
    margin: 0 1rem;
  }
  .Resume__Main {
    max-width: unset;
    margin: 0 0.25rem;
  }
  .Resume__Main h1,
  .Resume__Main h2,
  .Resume__Main h3,
  .Resume__Main h4,
  .Resume__Main p {
    margin: 0;
  }
  .Blog__Nav ul {
    flex-direction: column;
    text-align: center;
  }
  .Blog__Form h2 {
    margin: 0;
  }
  .Blog__Form .comment__list .comment__header {
    flex-direction: column;
  }
  .Blog form textarea {
    width: 100%;
  }
}
