@keyframes shake {
  50% {
    transform: translateX(4px); }
  100% {
    transform: translateX(-4px); } }

@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

div#profile-pic-container {
  width: fit-content;
  animation-name: spin;
  animation-duration: 10000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear; }

img#profile-pic {
  max-width: 128px;
  border-radius: 50%; }
  img#profile-pic:hover {
    animation-name: shake;
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear; }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("DM Mono Light"), local("DMMono-Light"), url(/fonts/DMMono-Light.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("DM Mono Regular"), local("DMMono-Regular"), url(/fonts/DMMono-Regular.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("DM Mono Medium"), local("DMMono-Medium"), url(/fonts/DMMono-Medium.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local("DM Mono Light Italic"), local("DMMono-LightItalic"), url(/fonts/DMMono-LightItalic.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("DM Mono Italic"), local("DMMono-Italic"), url(/fonts/DMMono-Italic.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: local("DM Mono Medium Italic"), local("DMMono-MediumItalic"), url(/fonts/DMMono-MediumItalic.ttf) format("truetype"); }

nav#main {
  width: 100%;
  max-width: 800px;
  height: 32px;
  margin-top: 16px;
  display: flex;
  justify-content: center; }
  nav#main a {
    height: fit-content;
    margin-left: 32px;
    border-bottom: solid 2px transparent;
    transition: all 0.4s;
    font-family: sans-serif;
    font-size: 18px;
    font-style: italic; }
    nav#main a:first-child {
      margin-left: 0; }
    nav#main a, nav#main a:visited {
      color: #FCDDBC;
      text-decoration: none; }
    nav#main a:hover:not(.active) {
      border-bottom: solid 2px #b1affb; }
    nav#main a.active {
      height: 32px;
      background: linear-gradient(0deg, #69585F 5%, #69585F 5%, #b1affb 50%, #69585F 50%); }

body {
  background-color: #69585F;
  color: #FCDDBC; }

span.highlight {
  color: #b1affb; }

a {
  color: #74b9ff; }
  a:visited {
    color: #a29bfe; }

img.emoji {
  width: 32px;
  vertical-align: bottom; }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("DM Mono Light"), local("DMMono-Light"), url(/fonts/DMMono-Light.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("DM Mono Regular"), local("DMMono-Regular"), url(/fonts/DMMono-Regular.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("DM Mono Medium"), local("DMMono-Medium"), url(/fonts/DMMono-Medium.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local("DM Mono Light Italic"), local("DMMono-LightItalic"), url(/fonts/DMMono-LightItalic.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("DM Mono Italic"), local("DMMono-Italic"), url(/fonts/DMMono-Italic.ttf) format("truetype"); }

@font-face {
  font-family: "DM Mono";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: local("DM Mono Medium Italic"), local("DMMono-MediumItalic"), url(/fonts/DMMono-MediumItalic.ttf) format("truetype"); }

html, body {
  height: 100%;
  overflow: hidden;
  margin: 0; }

main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  margin-top: -10vh; }
  main nav {
    margin-bottom: 32px; }

a {
  text-decoration: underline;
  text-decoration-color: #b1affb; }
  a, a:hover, a:visited {
    color: #FCDDBC; }

nav {
  margin-bottom: 24px; }
  nav a {
    font-family: "DM Mono", monospace;
    font-size: 28px;
    font-style: italic; }

div.separator {
  width: 175px;
  height: 2px;
  background-color: #b1affb; }

h1 {
  font-family: "DM Mono", monospace;
  font-size: 48px;
  font-weight: 400;
  font-style: italic;
  margin-bottom: 24px; }

h3 {
  margin-bottom: 8px;
  font-family: "DM Mono", monospace;
  font-size: 20px;
  font-weight: 300;
  font-style: italic; }

p#profile {
  margin-top: 24px;
  font-family: "DM Mono", monospace;
  font-size: 20px;
  font-style: italic;
  line-height: 32px; }

p#contact-info {
  margin-top: 0;
  font-family: "DM Mono", monospace;
  font-style: italic;
  font-size: 16px; }
