/* fonts */
body {
  font-family: 'Fira Code', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', sans-serif;
  font-weight: 300;
  font-size: 18px;
  margin: 0;
}

h1, h2, h3, h4, h5 {
  font-family: 'Poppins', Helvetica, sans-serif;
}

h1 {
  font-size: 32px;
  font-weight: 900;
}
h2 {
  font-size: 27px;
  font-weight: 600;
}
h3 {
  font-weight: 600;
}

strong {
  font-weight: bold;
}

/* basic layout */
.page {
  max-width: 900px;
  margin: 0 auto 30px;
  padding: 10px;
}

/* header styles */
header {
  font-family: 'Poppins', Helvetica, sans-serif;
  font-weight: 900;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

nav {
  font-size: 22px;
  margin-right: 30px;
  margin-top: 20px;
}

nav > a:not(:last-of-type) {
  padding-right: 8px;
}

/* logo styles */
.logo, .logo > a {
  font-size: 34px;
  display: inline-flex;
  flex-direction: column;
  margin: 0;
  color: inherit;
  text-decoration: inherit;
}

.logo > span, .logo > a > span {
  line-height: 1;
}

.logo > span:nth-of-type(2), .logo > a > span:nth-of-type(2) {
  margin-left: 30px;
}

.logo > span:nth-of-type(3), .logo > a > span:nth-of-type(3) {
  margin-left: 60px;
}

footer {
  margin: 30px 0;
}

/* link styles */
.inline-link-list {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.inline-link-list > li {
  display: block;
  margin: 5px 20px;
}

a {
  color: #000;
  opacity: 0.5;
  transition: opacity 275ms ease-out;
  will-change: opacity;
}

a:hover {
  opacity: 1;
}

a.active {
  opacity: 1;
  text-decoration: none;
}

/* content link styles */
article a {
  font-weight: 700;
}

/* image styles */
article img {
  width: 100%;
}

/* code styles */
.highlight > pre {
  padding: 10px;
  border-radius: 8px;
  overflow-x: auto;
  font-family: inherit;
}

.highlight > pre > code {
  font-family: inherit;
}

/* aside styles */
aside {
  font-style: italic;
  font-size: 16px;
  opacity: .7;
  border-left: 2px solid rgba(0,0,0,.7);
  padding: 3px 9px 3px;
  background-color: #efefef;
}

/* centered-container styles */
.centered-container {
  text-align: center;
}

.centered-container {
  margin: auto;
}

/* .highlight > pre > code.language-go {
  tab-size: 8;
  -o-tab-size: 8;
  -moz-tab-size: 8;
} */

/* page specific styles */
.pages .link-list {
  padding: 0;
}

.pages .link-list > li {
  display: block;
  margin-bottom: 1.5em;
}

.pages .link-list > li > a {
  text-decoration: none;
  appearance: auto;
}

.pages .link-list > li .link-header {
  display: flex;
  flex-direction: column;
}

.pages .link-list > li .link-title {
  flex: 1;
  font-size: 26px;
  text-decoration: underline;
}

.pages .link-list > li .link-desc {
  font-size: 18px;
  text-decoration: none;
}

/* desktop overrides */
@media only screen and (min-width: 615px) {
  .page {
    margin: 100px auto;
  }

  header {
    margin-bottom: 50px;
    flex-direction: row;
    align-items: flex-end;
  }
  footer {
    margin: 50px 0 30px;
  }

  .inline-link-list {
    justify-content: flex-start;
  }

  .inline-link-list > li {
    margin: 0;
  }

  .inline-link-list > li:not(:first-of-type) {
    margin-left: 20px;
  }

  .inline-link-list > li:not(:last-of-type) {
    margin-right: 20px;
  }

  .pages .link-list > li .link-header {
    flex-direction: row;
    align-items: baseline;
  }
}
