@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css');
@import url('/nav.css');

:root {
  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;

  --nav-width: 7rem;
  --nav-ham-size: 1.75rem;
  --breakpoint-mobile: 600px;
  --content-margin: 4rem;
  --container-offset: 10.5rem;

  --scrollbar-width: 1rem;
  --scrollbar-border: 0.125rem;
  --scrollbar-radius: 0.5rem;
  --scrollbar-bg: var(--base03);
  --scrollbar-thumb: var(--base02);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  background: linear-gradient(-45deg, var(--base03), var(--base02));
  background-attachment: fixed;
  background-size: 400% 400vh;
  animation: gradient 12s ease infinite;
}

body,
.scroll {
  -webkit-touch-callout: none;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-bg);
}

body::-webkit-scrollbar,
.scroll::-webkit-scrollbar {
  background: var(--scrollbar-bg);
  width: var(--scrollbar-width);
}

body::-webkit-scrollbar-track,
.scroll::-webkit-scrollbar-track {
  border: var(--scrollbar-border) solid transparent;
  background: var(--scrollbar-bg);
  border-radius: var(--scrollbar-radius);
  background-clip: padding-box;
}

body::-webkit-scrollbar-thumb,
.scroll::-webkit-scrollbar-thumb {
  border: var(--scrollbar-border) solid transparent;
  background: var(--scrollbar-thumb);
  border-radius: var(--scrollbar-radius);
  background-clip: padding-box;
}

body {
  display: flex;
  flex-direction: column;
  overflow: auto;
  font-family: Arial, sans-serif;
  color: rgba(255, 255, 255, 0.5);
  text-shadow: 0.03125rem 0.03125rem rgba(0, 0, 0, 0.1);
}

h1 {
  margin-bottom: 1.5rem;
}

p {
  line-height: 1.25rem;
  margin-bottom: 1rem;
}

p:last-child {
  margin-bottom: 0;
}

ol,
ul {
  margin-left: 1.25rem;
  padding-bottom: 2.5rem;
}

ol > li,
ul > li {
  line-height: 1.25rem;
  margin-top: 1.5rem;
}

ul > li > ul,
ol > li > ol,
ul > li > ol,
ol > li > ul {
  margin-bottom: 0;
  padding-bottom: 0;
}

ul > li > ul > li,
ol > li > ol > li,
ul > li > ol > li,
ol > li > ul > li {
  margin-top: 0.5rem;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.clickable {
  cursor: pointer;
}

.hide {
  display: none;
}

.no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.hide-overflow {
  overflow: hidden;
}

.header {
  color: rgba(255, 255, 255, 0.5);
  position: fixed;
  left: var(--nav-width);
}

.header > h1 {
  margin: 2.5rem 0;
  letter-spacing: 0.2rem;
}

.container {
  margin-top: var(--nav-width);
  position: relative;
  height: calc(100vh - var(--container-offset));
}

.container > .center > h1 {
  color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.25rem 0.5rem;
  border: 0.25rem solid rgba(255, 255, 255, 0.5);
}

@media only screen and (min-width: 600px) {
  .container {
    margin-left: var(--nav-width);
    margin-right: var(--content-margin);
  }
}

.blur {
  filter: blur(1px);
  opacity: 0.25;
}

.fade {
  visibility: hidden;
}

.green {
  color: var(--green);
}

.skip-nav {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--base02);
  color: white;
  padding: 0.5rem 1rem;
  text-decoration: none;
  z-index: 100;
}

.skip-nav:focus {
  top: 0;
}
