/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

@font-face {
  font-family: Basis33; /* set name */
  src: url(../fonts/basis33/basis33.ttf)
}

body {
  background-color: rgb(37, 40, 40);
  color: black;
  font-family: Basis33;
  height: 100%;
  margin: 0;

  overflow: hidden;
}

#root {
  box-sizing: border-box;
  padding: 20px;
  position: relative;

  height: 100vh;
  width: 100vw;

  border: none;
  box-shadow: none;
}

#root-border {
  position: absolute;
  inset: 0;

  border: solid 2px;
  border-color: rgb(234, 234, 234);
  border-radius: 0%;
  box-shadow: none;

  z-index: 100;
  pointer-events: none;
}

#header-hover {
  position: absolute;

  left: 10px; 
  top: 10px;

  height: 97vh;
  width: 10%;
}

#header-bar {
  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  gap: 10px;

  position: absolute;

  left: -10vw; 
  top: 10px;

  height: 97vh;
  width: 10%;

  border: double;
  border-color: rgb(164, 228, 220);
  box-shadow: 0px 0px 5px rgb(119, 174, 168);

  transition: transform;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;

  transition-delay: 100ms;
}

@keyframes navFlicker {
  0% {border-color: rgb(164, 228, 220); box-shadow: 0px 0px 5px rgb(119, 174, 168);}
  45% {border-color: rgb(164, 228, 220); box-shadow: 0px 0px 5px rgb(119, 174, 168);}
  50% {border-color: rgb(138, 110, 229); box-shadow: 0px 0px 5px rgb(138, 110, 229);}
  95%  {border-color: rgb(138, 110, 229); box-shadow: 0px 0px 5px rgb(138, 110, 229);}
  100% {border-color: rgb(164, 228, 220); box-shadow: 0px 0px 5px rgb(119, 174, 168);}
}

#nav-sign {
  position: absolute;

  left: 106%; 
  margin-top: auto;

  text-align: center;

  padding-left: 8%;
  padding-right: 8%;

  border: double;
  border-color: rgb(164, 228, 220);
  box-shadow: 0px 0px 5px rgb(119, 174, 168);

  animation-name: navFlicker;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}

#header-hover:hover + #header-bar,
#header-bar:hover {
  transform: translateX(10vw) translateX(10px);
}

#root-box {
  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  height: 100%; /* fill parent `#root` */
  width: 100%;
}

.text {
  font-weight: bolder;
  font-size: x-large;

  color: rgb(164, 228, 220);
  text-shadow: 0px 0px 3px rgb(119, 174, 168);

  white-space: pre-line;
}

.nav {
  font-weight: bolder;
  font-size: medium;

  text-decoration-line: none;

  color: rgb(164, 228, 220);
  text-shadow: 0px 0px 3px rgb(119, 174, 168);

  white-space: pre-line;

  border: solid 2px;
  border-color: rgb(164, 228, 220);

  background-color: rgb(49, 52, 52);

  box-shadow: 0px 0px 6px rgb(164, 228, 220);

  width: 90%;

  margin-top: 1%;
  margin-bottom: 1%;

  text-align: center;

  transition: transform;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.nav:hover {
  border: double;
  border-color: rgb(106, 106, 106);

  background-color: rgb(35, 37, 37);

  text-shadow: 0px 0px 10px rgb(135, 191, 184);
}

h1, h2 {
  max-height: 15px;
}

#credit {
  position: absolute;

  bottom: 10px;
  left: 10px; 

  max-width: 130px;
}

#base-canvas {
    background-color: rgb(235, 123, 123);

    border: solid;
    border-color: rgb(164, 228, 220);
    box-shadow: 0px 0px 4px rgb(119, 174, 168);
}

#canvas-error {
    display: flex;
    align-content: center;
    justify-content: center;

    background-color: rgb(49, 52, 52);

    border: solid;
    border-color: #f16262;

    min-width: 800px;
    min-height: 80px;

    margin-top: 1%;
}

#error-message {
    font-weight: bolder;
    font-size: large;

    color: #f16262;
    text-shadow: 0px 0px 3px #f16262;
}