:root {
  --color: white;
  --mid-color: #dddddd;
  --subtext: #ffffff80;
  --background-color: #202020;
  --alt-bg: black;
}
body {
  margin: 0;
  color: var(--color);
  background-color: var(--background-color);
  font-family: "Poppins", sans-serif;
  text-align: center;
}
body[data-no-animations] [data-animated] {
  animation: none !important;
  opacity: 1 !important;
}
body[data-no-animations] [data-hide-animation] {
  display: none !important;
}
#disable-animations-container {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 999;
}
::-webkit-scrollbar {
  display: none;
}
:root {
  --up-down-distance: -12px;
}
@keyframes up-down {
  from {
    translate: 0 0;
  }
  50% {
    translate: 0 var(--up-down-distance);
  }
  to {
    translate: 0 0;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes wave {
  0% {
    background-position-x: 0px;
  }
  100% {
    background-position-x: 1280px;
  }
}
#bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(100vh + 5em + 129px);
  display: block;
  background-color: black;
  z-index: -6;
}
#bg-container svg {
  width: 100vw;
  height: calc(100vh + 5em + 129px);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow-y: hidden;
  z-index: -5;
  opacity: 0;
  animation: 1s ease-in-out fade-in forwards 0.5s;
}
#bg-container svg radialGradient:nth-of-type(1) stop:first-of-type {
  stop-color: rgba(151, 75, 195, 0.6);
}
#bg-container svg radialGradient:nth-of-type(1) stop:last-of-type {
  stop-color: rgba(151, 75, 195, 0);
}
#bg-container svg radialGradient:nth-of-type(2) stop:first-of-type {
  stop-color: rgba(20, 166, 195, 0.6);
}
#bg-container svg radialGradient:nth-of-type(2) stop:last-of-type {
  stop-color: rgba(20, 166, 195, 0);
}
#bg-container svg radialGradient:nth-of-type(3) stop:first-of-type {
  stop-color: rgba(205, 67, 184, 0.6);
}
#bg-container svg radialGradient:nth-of-type(3) stop:last-of-type {
  stop-color: rgba(205, 67, 184, 0);
}
#bg-container svg radialGradient:nth-of-type(4) stop:first-of-type {
  stop-color: rgba(210, 21, 46, 0.6);
}
#bg-container svg radialGradient:nth-of-type(4) stop:last-of-type {
  stop-color: rgba(210, 21, 46, 0);
}
#title-container {
  position: relative;
  width: 100vw;
  height: 100vh;
  box-sizing: border-box;
  padding-bottom: 10vh;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
}
#title-container > div {
  animation: 4s ease-in-out up-down infinite;
}
#title-container #intro {
  font-size: calc(72px / 10 * 7);
}
#title-container #name {
  font-size: 72px;
}
#continue-arrow {
  fill: white;
  width: 32px;
  height: 32px;
  position: absolute;
  bottom: calc(16px);
  left: calc(50vw - 16px);
  opacity: 0;
  animation: 4s ease-in-out up-down infinite -0.5s, 2s ease-in-out fade-in forwards 3s;
}
#wave-transition {
  position: relative;
  z-index: 5;
  margin-top: 5em;
  background: url("/api/public/p/aHR0cHM6Ly90cmlua2V5LmNvbS9zdGF0aWMvd2F2ZS5wbmc");
  background-size: 1280px 129px;
  background-repeat: repeat-x;
  width: 100vw;
  height: 129px;
  animation: 15s linear wave infinite;
  padding-bottom: 5em;
}
#wave-transition-alt {
  position: absolute;
  z-index: 5;
  opacity: 0.5;
  margin-top: 5em;
  background: url("/api/public/p/aHR0cHM6Ly90cmlua2V5LmNvbS9zdGF0aWMvd2F2ZS5wbmc");
  background-size: 1280px 129px;
  background-repeat: repeat-x;
  width: 100vw;
  height: 129px;
  animation: 20s linear wave infinite reverse;
  translate: 0 10px;
}
#projects {
  min-height: 100vh;
  width: 100vw;
  box-sizing: border-box;
  padding: 10vh 5vw;
  padding-top: 4vh;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
}
#projects-title {
  font-size: 64px;
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
}
#projects-sub {
  font-size: calc(64px / 36 * 19);
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
  margin-bottom: 1em;
}
#smiggins-preview {
  max-width: 600px;
  width: 90vw;
  background-color: #190b14;
  color: #c5b8ca;
  font-family: "Poppins", sans-serif;
  padding: 1.25em 1.5em;
  margin-top: 1em;
  text-align: left;
  box-sizing: border-box;
  border-radius: 0.5em;
  outline: 2px solid #3c1a30;
  box-shadow: 5px 5px 10px black;
  animation: 4s ease-in-out up-down infinite -1.5s;
}
#smiggins-preview .upper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.25em;
  white-space: nowrap;
  max-width: 100%;
}
#smiggins-preview .upper > div {
  flex-shrink: 0;
}
#smiggins-preview .upper > div.shrinkable {
  flex-shrink: 999;
}
#smiggins-preview .upper .pfp {
  border-radius: 0.4em;
  width: 1.2em;
  height: 1.2em;
  translate: 0 0.1em;
  background: linear-gradient(to right, #b1a2dd, #7883e2);
}
#smiggins-preview .upper .display-name {
  font-weight: 700;
}
#smiggins-preview .upper .subtext {
  color: #c5b8ca80;
}
#smiggins-preview .upper .timestamp {
  padding-left: 0.5em;
}
#smiggins-preview .content a {
  color: #d8a4c6;
  text-decoration: none;
  transition: color 0.5s;
}
#smiggins-preview .content a:hover {
  color: #d67677;
  text-decoration: underline;
  transition: color 0s;
}
#smiggins-preview .lower {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  text-align: center;
  justify-content: center;
}
#smiggins-preview .lower > div {
  flex: 1;
  max-width: 150px;
}
#smiggins-preview .lower svg {
  fill: #c5b8ca;
  cursor: pointer;
  height: 1.2em;
  position: relative;
  top: 0.2em;
  padding-right: 0.1em;
}
#smiggins-preview .lower .like svg {
  fill: #d8a4c6;
}
#todo-preview {
  max-width: 600px;
  width: 90vw;
  background-color: #190b14;
  color: #c5b8ca;
  padding: 1.25em 1.5em;
  margin-top: 1em;
  text-align: left;
  box-sizing: border-box;
  border-radius: 0.5em;
  outline: 2px solid #3c1a30;
  box-shadow: 5px 5px 10px black;
  animation: 4s ease-in-out up-down infinite -2s;
  font-family: sans-serif;
}
#todo-preview h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 0;
}
#todo-preview ul {
  margin: 0;
}
#todo-preview button {
  background-color: #2e1425;
  color: #c5b8ca;
  border: 1px solid #d8a4c62a;
  padding: 3px 5px;
  border-radius: 7.5px;
  margin: 2px;
}
#todo-preview a {
  color: #d8a4c6;
  text-decoration: none;
  transition: color 0.5s;
}
#todo-preview a:hover {
  color: #d67677;
  text-decoration: underline;
  transition: color 0s;
}
#todo-preview .red {
  color: #d67677;
}
#todo-preview .gray {
  color: #c5b8ca80;
}
#cat-preview {
  max-width: 600px;
  width: 90vw;
  background-color: #fffaee;
  color: #000000;
  padding-bottom: 1.5em;
  margin-top: 1em;
  text-align: left;
  box-sizing: border-box;
  border-radius: 0.5em;
  outline: 2px solid #d4cab2;
  box-shadow: 5px 5px 10px black;
  animation: 4s ease-in-out up-down infinite -2.5s;
  font-family: monospace;
  text-align: center;
  font-size: 1rem;
}
#cat-preview #cat-nav {
  background-color: #fff4d8;
  border-top-left-radius: 0.3em;
  border-top-right-radius: 0.3em;
  padding: 0.5em 0;
  margin-bottom: 0.6em;
  font-size: 1.5em;
  border-bottom: 4px solid #d4cab2;
}
#cat-preview a {
  color: #5b4000;
}
#cat-preview img {
  width: 8em;
  height: 8em;
  object-fit: cover;
  border-radius: 2em;
  outline: 4px solid #d4cab2;
}
#cat-preview #cat-name {
  font-size: 1.1em;
}
#self-preview {
  max-width: 600px;
  width: 100%;
  padding: 1.25em 1.5em;
  margin-top: 1em;
  text-align: left;
  box-sizing: border-box;
  border-radius: 0.5em;
  background-color: black;
  outline: 2px solid gray;
  box-shadow: 5px 5px 10px black;
  animation: 4s ease-in-out up-down infinite -3s;
  font-family: "Ubuntu Mono", monospace;
}
#self-preview #self-heading {
  font-weight: bold;
  font-size: 2em;
}
#self-preview #self-subheading {
  font-weight: bold;
  font-size: calc(2em * 12 / 20);
}
#self-preview svg {
  height: calc(100px + 2.5em);
  width: 600px;
  max-width: calc(100vw - 81px + 3em);
  border-radius: 0.5em;
  margin: -1.25em -1.5em;
  position: absolute;
  z-index: 1;
}
#self-preview #self-heading-container {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#flipped-wave-transition {
  position: relative;
  z-index: 5;
  background: url("/api/public/p/aHR0cHM6Ly90cmlua2V5LmNvbS9zdGF0aWMvd2F2ZS5wbmc");
  background-size: 1280px 129px;
  background-repeat: repeat-x;
  width: 100vw;
  height: 129px;
  animation: 15s linear wave infinite;
  transform: translate(0, 100%) scale(-100%);
}
#flipped-wave-transition-alt {
  position: absolute;
  z-index: 5;
  opacity: 0.5;
  background: url("/api/public/p/aHR0cHM6Ly90cmlua2V5LmNvbS9zdGF0aWMvd2F2ZS5wbmc");
  background-size: 1280px 129px;
  background-repeat: repeat-x;
  width: 100vw;
  height: 129px;
  animation: 20s linear wave infinite reverse;
  translate: 0 10px;
  transform: translate(0, 100%) scale(-100%);
}
#about {
  min-height: calc(110vh + 129px);
  width: 100vw;
  box-sizing: border-box;
  padding: 10vh 5vw;
  padding-top: calc(129px + 4vh);
  gap: 0.5em;
  background-color: var(--alt-bg);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: var(--mid-color);
}
#about p,
#about .p-margin {
  margin: 0;
  margin-top: 0.25em;
}
#about small {
  font-size: 0.8em;
  color: var(--subtext);
}
#about code {
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
}
#about-title {
  font-size: 64px;
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
  color: var(--text);
}
#about-title-sub {
  font-size: calc(64px / 32 * 17);
  font-weight: 700;
  font-family: "Ubuntu Mono", monospace;
  margin-bottom: 1em;
  transition: opacity 0.5s;
  color: var(--text);
}
#about-title-sub.about-adjective-fade-out {
  opacity: 0;
}
#contact {
  margin-top: 2em;
}
#contact ul {
  text-align: left;
  margin: 0;
}
.trans-blue {
  color: #73cff4;
}
.trans-white {
  color: #ffffff;
}
.trans-pink {
  color: #eeafc0;
}
.gay-orange {
  color: #fe2a04;
}
.gay-peach {
  color: #ff9e4f;
}
.gay-white {
  color: #ffffff;
}
.gay-pink {
  color: #ff63ad;
}
.gay-dark-pink {
  color: #de0266;
}
