@keyframes bounce {
  0% {
    transform: translatey(0);
  }
  25% {
    transform: translatey(-5px);
  }
  50% {
    transform: translatey(0);
  }
  75% {
    transform: translatey(-2px);
  }
  100% {
    transform: translatey(0);
  }
}
* {
  border: 0;
  margin: 0;
  padding: 0;
}

body {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

main {
  margin-bottom: 1.5em;
}
main * + * {
  margin-top: 1.2em;
}

ul,
ol {
  margin-left: 1.5em;
}

li * {
  margin-top: 0;
}

li + li {
  margin-top: 0.5em;
}

body {
  background: #e4e8ec;
  color: #3b444f;
  font: normal 125%/1.5 -apple-system, BlinkMacSystemFont, sans-serif;
  margin: 0 auto;
  max-width: 50rem;
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
}
body::before {
  background: #359567;
  content: "";
  height: 12.5rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

::selection {
  background: #e4e8ec;
  color: rgb(15.3913043478, 17.7391304348, 20.6086956522);
  text-shadow: none;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Roboto Condensed", -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.15;
  text-transform: uppercase;
  text-wrap: balance;
}

h1 {
  color: rgb(15.3913043478, 17.7391304348, 20.6086956522);
  font-size: 1.75em;
  margin-bottom: 1em;
  text-align: center;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.3em;
}

h4 {
  font-size: 1.2em;
}

h5 {
  font-size: 1.1em;
}

h6 {
  font-size: 1em;
}

a {
  color: rgb(15.3913043478, 17.7391304348, 20.6086956522);
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(102.6086956522, 118.2608695652, 137.3913043478);
}

blockquote {
  border-left: 3px solid rgb(102.6086956522, 118.2608695652, 137.3913043478);
  padding-left: 1rem;
}
blockquote cite {
  color: rgb(102.6086956522, 118.2608695652, 137.3913043478);
}

code {
  word-break: break-word;
}

.emoji {
  margin-top: 0;
  vertical-align: middle;
}

.o-hor-nav {
  display: flex;
  flex-flow: row wrap;
  grid-gap: 0.5rem;
  list-style: none;
  margin: 0;
}
.o-hor-nav__item {
  margin: 0;
}

.o-media,
pre,
.c-article picture {
  margin-left: -3.125rem;
  margin-right: -3.125rem;
  width: calc(100% + 6.25rem);
}
@media screen and (max-width: 50rem) {
  .o-media,
  pre,
  .c-article picture {
    margin-left: -1.5625rem;
    margin-right: -1.5625rem;
    width: calc(100% + 3.125rem);
  }
}

.c-header {
  display: flex;
  flex-flow: row wrap;
  grid-gap: 0.625rem;
  margin: 3.125rem;
  place-content: center space-between;
}
@media screen and (max-width: 50rem) {
  .c-header {
    margin: 1.875rem;
  }
}
.c-header__logo svg {
  display: block;
  fill: #f8f8f8;
  width: 2.1875rem;
}
.c-header__logo:hover, .c-header__logo:focus {
  animation: bounce 0.5s ease-out;
}

.c-nav-item {
  color: rgb(39.6188118812, 111.3811881188, 76.995049505);
  display: block;
  padding: 0.5rem;
}
.c-nav-item__icon {
  display: block;
  fill: currentColor;
  width: 1.2rem;
}
.c-nav-item:hover, .c-nav-item:focus {
  animation: bounce 0.5s ease-out;
  color: #f8f8f8;
}

.c-article {
  background: #f8f8f8;
  border-radius: 1px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  padding: 3rem 3.125rem 1.5rem;
}
.c-article__footer {
  text-align: right;
}
.c-article a:not(.u-link-default) {
  background: rgb(197.0965346535, 234.4034653465, 216.5272277228);
  color: rgb(39.6188118812, 111.3811881188, 76.995049505);
  font-size: 0.8em;
  font-weight: bold;
  padding: 2px 4px;
}
.c-article a:not(.u-link-default):hover, .c-article a:not(.u-link-default):focus {
  box-shadow: 2px 2px 0 #359567;
  color: #359567;
}
.c-article picture {
  display: flex;
  justify-content: center;
  background: #e4e8ec;
}
.c-article picture * {
  max-width: 100%;
  height: auto;
  margin: 0;
}
@media screen and (max-width: 50rem) {
  .c-article {
    border-radius: 0;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
  }
}

.c-article-list {
  display: flex;
  gap: 36px;
  align-items: baseline;
}
.c-article-list .c-article-list__anchor {
  flex: 1;
}
.c-article-list .c-article-list__date {
  flex: 0 0 auto;
  font-size: 0.8em;
  margin: 0;
  color: rgb(102.6086956522, 118.2608695652, 137.3913043478);
}
@media (max-width: 600px) {
  .c-article-list .c-article-list__date {
    display: none;
  }
}

.c-meta {
  color: rgb(102.6086956522, 118.2608695652, 137.3913043478);
  font-size: 0.8em;
}

.c-media {
  align-items: center;
  background-color: rgb(197.0965346535, 234.4034653465, 216.5272277228);
  background-size: cover;
  display: flex;
  justify-content: center;
}
.c-media::before {
  content: "";
  padding-bottom: 62.5%;
}
.c-media__play {
  fill: #359567;
  width: 3.125rem;
}
.c-media__play--thumbnail {
  fill: rgba(255, 255, 255, 0.7);
  filter: drop-shadow(1px 1px 1px rgba(100, 100, 100, 0.7));
}
.c-media:hover .c-media__play {
  fill: rgb(39.6188118812, 111.3811881188, 76.995049505);
}
.c-media:hover .c-media__play--thumbnail {
  fill: #f8f8f8;
}
.c-media--playing {
  padding: 0;
}

.footer-nav {
  display: flex;
  justify-content: space-around;
}

.footer-nav__item {
  font-weight: bold;
  margin: 0;
  position: relative;
  text-transform: uppercase;
}
.footer-nav__item::before {
  color: #3b444f;
  content: attr(title);
  position: absolute;
  transition: transform 150ms ease-in-out, opacity 150ms ease-in-out;
}
.footer-nav__item:hover, .footer-nav__item:focus {
  color: #f8f8f8;
}
.footer-nav__item:hover::before, .footer-nav__item:focus::before {
  opacity: 0;
  transform: scale(0.9);
}

pre {
  padding: 1.5rem 3.125rem;
  font: 1.2rem monospace;
  overflow: scroll;
  background: #f8f8f8;
}
@media screen and (max-width: 50rem) {
  pre {
    padding: 1.5rem 1.5625rem;
  }
}

code {
  color: #4e9a06;
}

/**
 * Gruvbox light theme
 *
 * Based on Gruvbox: https://github.com/morhetz/gruvbox
 * Adapted from PrismJS gruvbox-dark theme: https://github.com/schnerring/prism-themes/blob/master/themes/prism-gruvbox-dark.css
 *
 * @author Michael Schnerring (https://schnerring.net)
 * @version 1.0
 */
code[class*=language-],
pre[class*=language-] {
  color: #3c3836; /* fg1 / fg */
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: 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;
}

pre[class*=language-]::-moz-selection,
pre[class*=language-] ::-moz-selection,
code[class*=language-]::-moz-selection,
code[class*=language-] ::-moz-selection {
  color: #282828; /* fg0 */
  background: #a89984; /* bg4 */
}

pre[class*=language-]::selection,
pre[class*=language-] ::selection,
code[class*=language-]::selection,
code[class*=language-] ::selection {
  color: #282828; /* fg0 */
  background: #a89984; /* bg4 */
}

/* Code blocks */
pre[class*=language-] {
  overflow: auto;
}

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

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

.token.comment,
.token.prolog,
.token.cdata {
  color: #7c6f64; /* fg4 / gray1 */
}

.token.delimiter,
.token.boolean,
.token.keyword,
.token.selector,
.token.important,
.token.atrule {
  color: #9d0006; /* red2 */
}

.token.operator,
.token.punctuation,
.token.attr-name {
  color: #7c6f64; /* fg4 / gray1 */
}

.token.tag,
.token.tag .punctuation,
.token.doctype,
.token.builtin {
  color: #b57614; /* yellow2 */
}

.token.entity,
.token.number,
.token.symbol {
  color: #8f3f71; /* purple2 */
}

.token.property,
.token.constant,
.token.variable {
  color: #9d0006; /* red2 */
}

.token.string,
.token.char {
  color: #797403; /* green2 */
}

.token.attr-value,
.token.attr-value .punctuation {
  color: #7c6f64; /* fg4 / gray1 */
}

.token.url {
  color: #797403; /* green2 */
  text-decoration: underline;
}

.token.function {
  color: #b57614; /* yellow2 */
}

.token.regex {
  background: #797403; /* green2 */
}

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

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

.token.inserted {
  background: #7c6f64; /* fg4 / gray1 */
}

.token.deleted {
  background: #9d0006; /* red2 */
}

.u-margin-extra {
  margin-top: 3rem;
}