:root {
  --top-margin: 50px;
  --main-color: rgb(255, 217, 0);
  --main-color-inactive: rgba(255, 217, 0, .7);
  --main-color-inactive-hover: rgba(255, 180, 70, .7);
  --main-color-hover: rgb(255, 180, 70);
  --border-margin: 15px;
  --border-offset: 10px;
  --border-trans: calc(var(--border-margin) + var(--border-offset));
  --hor-shift: calc(50vw - var(--border-trans));
  --ver-shift: calc(50vh - var(--border-trans));
  --anim-time: 1000ms;
  --background: radial-gradient(circle at bottom right, #4d3042 0, #000e00 100%);
  --intro-font-size: 6vmin;
  --intro-stroke-width: 1px;
  --intro-font: system-ui;
  --xlarge: 8vmin;
  --large: 4vmin;
  --medium: 3vmin;
  --small: 2vmin;
}

html {
  overflow: hidden;
  height: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: black;
  top: 0px;
  left: 0px;
  position: absolute;
  overflow: hidden;
  transform-origin: center;
  transition: all var(--anim-time) ease;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
}

body::-webkit-scrollbar {
  display: none;
}

#height-control {
  position: absolute;
  width: 0;
  height: 100vh;
}

#background-canvas {
  z-index: -1;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.not-selectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.line-breaker {
  overflow-x: auto;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.no-wrap {
  display: inline-block;
  white-space: nowrap;
}

#main {
  top: 0;
  position: absolute;
  height: 100%;
  width: 100%;
}

#outer-main {
  transition: all var(--anim-time) ease-in-out;
  position: relative;
  padding: var(--border-margin);
  height: calc(100%);
}

.hr-outer-main {
  margin-top: var(--top-margin);
  height: calc(100% - var(--top-margin)) !important;
}

#inner-main {
  position: absolute;
  margin: var(--border-margin);
  height: calc(100% - var(--border-margin) * 4);
  width: calc(100% - var(--border-margin) * 4);
  overflow: hidden;
  transition: all var(--anim-time) ease-in-out;
  clip-path: inset(0px 0px);
}

.inner-main-closed {
  clip-path: inset(55% 55%) !important;
}


.main-text {
  position: relative;
  font-size: var(--intro-font-size);
  font-family: var(--intro-font);
  color: transparent;
  -webkit-text-stroke-width: var(--intro-stroke-width);
  -webkit-text-stroke-color: var(--main-color);
  cursor: pointer;
  margin-bottom: var(--border-margin);
}

#link-buttons {
  position: fixed;
  top: calc(100vh - 30vh - var(--border-margin) * 2);
  left: calc(100vw - 10vh - var(--border-margin) * 2);
}

.link-button-container {
  height: 10vh;
  width: 10vh;
  transition: all calc(var(--anim-time)) ease-in-out;
  opacity: 0;
  pointer-events: none;
  cursor: default;
}

.link-button {
  height: 10vh;
  width: 10vh;
  fill: var(--main-color-inactive);
  transition: all calc(var(--anim-time) / 4) ease-in-out;
}

.link-button-visible {
  opacity: 1;
  pointer-events: all;
  cursor: pointer;
}

.link-button:hover {
  fill: var(--main-color);
}