@font-face {
  font-family: "Libre Baskerville";
  font-weight: normal;
  src: url(/fonts/Libre_Baskerville/LibreBaskerville-Regular.ttf);
}

@font-face {
  font-family: "Libre Baskerville";
  font-weight: bold;
  src: url(/fonts/Libre_Baskerville/LibreBaskerville-Bold.ttf);
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  src: url(/fonts/Libre_Baskerville/LibreBaskerville-Italic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-Light.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-Regular.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-Medium.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-SemiBold.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-Bold.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-ExtraBold.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-Black.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-LightItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-RegularItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-MediumItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-SemiBoldItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-BoldItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 800;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-ExtraBoldItalic.ttf);
}

@font-face {
  font-family: "Rubik";
  font-weight: 900;
  font-style: italic;
  font-display: swap;
  src: url(/fonts/Rubik/static/Rubik-BlackItalic.ttf);
}

body {
  max-width: 40em !important;
  margin: 0 auto;
  padding: 10px;
  font-family: Rubik, sans-serif;
  font-size: 18px;
  line-height: 1.6em;
  color: black;
}

h1, h2, h3 {
  font-family: 'Libre Baskerville', serif;
  font-size: 22px;
  font-weight: 600;
  text-transform: uppercase;
}

h1:first-letter, h2:first-letter, h3:first-letter {
  font-size: 28px;
}

small {
  font-size: 16px;
  font-family: 'Libre Baskerville', serif;
  color: #808080;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
  text-decoration: underline;
}

header figure {
  margin: 0;
}

figure img.left {
  float: left;
  margin-right: 20px;
}

figure img.right {
  float: right;
  margin-left: 20px;
}

/* Post-specific styles */
.post-date {
  margin-top: -1em;
  margin-bottom: 1.5em;
}

article img {
  max-width: 100%;
  height: auto;
}

/* Homepage and writing index */
main > ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.45;
}

main > ul > li {
  margin: 0;
  padding: 0;
}

main > h2 {
  margin-bottom: 0.2em;
}

main > p {
  margin-top: 0;
  margin-bottom: 0.4em;
}

main > hr {
  margin: 0.8em 0;
}

/* Footer */
footer {
  margin-top: 3em;
  padding-top: 1em;
  border-top: 1px solid #eee;
}

footer > p {
  margin-bottom: 2em;
}
