@font-face {
  font-family: "_Audiowide";
  src: url("../fonts/Audiowide-Regular.ttf") format("truetype");
}

/* --- */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;

  box-sizing: border-box;
}

/* --- */

html {
  font-size: 16px;
}

body {
  font-family: sans-serif;
}

/* --- */

#container {
  height: 100vh;

  background-color: #222;
  background-image: repeating-linear-gradient(
    45deg,
    #2b2b2b 0%,
    #2b2b2b 10%,
    #222222 0%,
    #222222 50%
  );
  background-position: top left;
  background-size: 4vh 4vh;
  overflow: hidden;
  user-select: none;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  position: relative;
}

/* --- */

video {
  position: absolute;
  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);

  /* display: none; */
}

@media screen and (min-width: 1500px) {
  video {
    height: auto;
    width: 100vw;
  }
}

@media screen and (max-width: 1500px) {
  video {
    height: 100vh;
    width: auto;
  }
}

/* --- */

#info {
  height: 6vh;
  width: 6vh;

  color: white;
  font-size: 4vh;
  text-decoration: none;

  border: solid 0.1vh white;
  border-radius: 50%;
  opacity: 0.2;

  position: absolute;
  bottom: 5vh;
  left: 5vh;

  display: flex;
  justify-content: center;
  align-items: center;

  transition: opacity 300ms ease-in-out;
}

#info:hover {
  text-shadow: 0.1vh 0.1vh 0.1vh rgba(0, 0, 0, 0.8);

  background-color: dodgerblue;
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.2),
    rgba(0, 0, 0, 0.5)
  );
  box-shadow: inset -0.3vh -0.3vh 0.5vh rgba(0, 0, 0, 0.9);
  opacity: 1;
}

/* --- */

.box-title {
  color: #8abcf1;
  font-family: "Audiowide", "_Audiowide", cursive;

  opacity: 0;

  position: absolute;
  top: 1vh;
  left: 2vh;

  display: flex;
  flex-direction: column;
  justify-content: space-evenly;

  transition: opacity 2s ease-in;
}

.box-title > h2 {
  font-size: 4vh;
}

.box-title > h3 {
  margin: 0 0 1vh 0;

  font-size: 3vh;
}

.box-title > h4 {
  font-size: 2vh;
}

/* --- */

.box-code {
  opacity: 0;

  position: absolute;
  top: 1vh;
  right: 1vh;

  display: flex;
  justify-content: center;
  align-items: center;

  transition: opacity 2s ease-in;
}

.box-code > label {
  margin: 1vh;

  color: #8abcf1;
  font-family: "Audiowide", "_Audiowide", cursive;
  font-size: 4vh;
}

.box-code > input {
  width: 12vw;

  margin: 1vh;

  color: white;
  font-family: "Audiowide", "_Audiowide", cursive;
  font-size: 4vh;
  text-align: center;

  background-color: transparent;
  border: solid 0.1vh #ccc;
  border-radius: 1vh;
}

/* --- */

.box-dlg {
  height: 60%;
  width: 80%;

  padding: 5vh;

  text-align: center;
  text-shadow: 1vh 1vh 1vh rgba(0, 0, 0, 0.8);

  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 1vh;
  opacity: 0;

  z-index: 1;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  transition: opacity 2s ease-in;
}

/* --- */

.box-msg p {
  color: orange;
  font-family: "Audiowide", "_Audiowide", cursive;
  font-size: 8vh;
  line-height: 1.8;
}

.box-msg strong {
  color: orangered;
}

/* --- */

button {
  padding: 1vh;

  color: gold;
  color: cornflowerblue;
  color: deepskyblue;
  /* color: green; */
  font-family: "Audiowide", "_Audiowide", cursive;
  font-size: 6vh;
  text-shadow: 0.5vh 0.5vh 1vh rgba(0, 0, 0, 0.5);

  background-color: papayawhip;
  background-image: linear-gradient(
    rgba(0, 0, 0, 0.2),
    rgba(0, 0, 0, 0.3),
    rgba(0, 0, 0, 0.4),
    rgba(0, 0, 0, 0.3),
    rgba(0, 0, 0, 0.2)
  );
  border-radius: 1vh;
  box-shadow: 0.5vh 0.5vh 0.5vh 0 rgba(0, 0, 0, 0.3);
  cursor: pointer;
  outline-color: transparent;

  transition: color 300ms, text-shadow 300ms, box-shadow 300ms;
}

button:hover {
  color: chartreuse;
  text-shadow: 0.5vh 0.5vh 1vh rgba(0, 0, 0, 0.9);

  box-shadow: 1vh 1vh 1vh 0 rgba(0, 0, 0, 0.9);
}
