@font-face {
  font-family: 'cassuisBroken';
  src: url('/assets/fonts/SketchedCassiusBroken.ttf');
}

@font-face {
  font-family: 'chopinScript';
  src: url('/assets/fonts/ChopinScript.otf');
}

html, body {
  font-family: 'cassuisBroken';
  color: rgb(54, 54, 54);
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

input {
  border: 2px solid #24201e !important;
  padding: 10px 15px;
  font-family: 'cassuisBroken';
  font-size: 30px;
}

button {  
  color: #24201e;
  background-color: #ffffff;
  transition: 0.25s;
  border: 2px solid;
  font: inherit;
  font-size: 30px;
  line-height: 1;
  margin: 0.5em;
  padding: 10px 15px;
}

button:hover {
  box-shadow: inset 0 0 0 2em #24201e;
  border-color: #24201e;
  color: #fff;
  cursor: pointer;
}

button:focus {
  box-shadow: inset 0 0 0 2em #461f1e;
  border-color: #24201e;
  color: #fff;
}

button:disabled {
  box-shadow: inset 0 0 0 2em #5a5a5a;
  border-color: #24201e;
  color: #fff;
}

.select {
  box-shadow: inset 0 0 0 2em #5a5a5a !important;
}

ul {
  color: #FFF;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  list-style-type: circle;
  font-size: 40px;
}

li {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

/* BACKGROUND */
.background {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -2;
  filter: blur(5px);
  background: url('/assets/img/all3.png');
  background-size: 200px;
  background-color: rgb(36, 53, 74);
  animation: bg-scrolling-diagonal 3s infinite linear;
}

@keyframes bg-scrolling-diagonal {
  100% { background-position: 200px 126px; }
}

@keyframes bg-scrolling-fall {
  100% { background-position: 0px 126px; }
}

/* CHAINS */
.chains {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.chain-left {
  transform: rotate(-10deg) translateX(150px) translateY(3000px);
}

@keyframes chain-left-scrolling {
  0% { transform: rotate(-10deg) translateX(150px) translateY(0px); }
  100% { transform: rotate(-10deg) translateX(150px) translateY(-290px); }
}

@keyframes chain-left-enter {
  0% { transform: rotate(-10deg) translateX(150px) translateY(3000px); }
  100% { transform: rotate(-10deg) translateX(150px) translateY(-290px); }
}

@keyframes chain-left-exit {
  0% { transform: rotate(-10deg) translateX(150px) translateY(-290px); }
  100% { transform: rotate(-10deg) translateX(150px) translateY(3000px); }
}

.chain-right {
  float: right;
  transform: rotate(10deg) translateX(-150px) translateY(3000px);
}

@keyframes chain-right-scrolling {
  0% { transform: rotate(10deg) translateX(-150px) translateY(0px); }
  100% { transform: rotate(10deg) translateX(-150px) translateY(-290px); }
}

@keyframes chain-right-enter {
  0% { transform: rotate(10deg) translateX(-150px) translateY(3000px); }
  100% { transform: rotate(10deg) translateX(-150px) translateY(-290px); }
}

@keyframes chain-right-exit {
  0% { transform: rotate(10deg) translateX(-150px) translateY(-290px); }
  100% { transform: rotate(10deg) translateX(-150px) translateY(3000px); }
}

/* MAIN COMPONENTS */
.main-container {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.title {
  color: #7d100a;
  font-size: 75px;
  text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF;
  letter-spacing: 10px;
  margin: 0px;
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 1400px;
}

.tilde {
  font-size: 100px;
  text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF;
  line-height: 10px;
  margin: 0px;
  transform: translateY(40px);
}

.subtitle {
  font-size: 40px;
  text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF;
  margin: 0px;
  margin-top: 15px;
  margin-bottom: 45px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.quote {
  font-family: 'chopinScript';
  font-size: 50px;
  margin: 0px;
  margin-top: 100px;
  margin-bottom: 50px;
  color: black;
  background-color: white;
  padding: 20px 25px;
  border: 5px solid;
}

.quote-loading {
  margin-top: 50px;
  max-width: 1000px;
  width: 100%;
  border: 5px solid black;
  background: #4a3434;
}

.quote-loading-inner {
  height: 15px;
  background-color: rgb(162, 39, 39);
  width: 0%;
  transition-property: width;
  transition-timing-function: ease;
}

.quote-loading.complete .quote-loading-inner {
  width: 100%;
}

/* PAGES */
.page {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.login-input {
  display: flex;
}

.login-button {
  margin: 0px;
}

.responses {
  display: flex;
}

.face {
  background-color: #1a1413;
  max-width: 120px;
}

.answer-face {
  background-color: white;
  border: 2px solid black;
  padding: 20px;
  max-width: 200px;
}

.hammer {
  position: fixed;
  display: none;
  height: 100px;
  width: 100px;
  background: url('/assets/img/hammer_animation.png') left center;
  animation: hammer steps(34) 1s 1 forwards;
  margin: 13px;
}

@keyframes hammer {
  0% { background-position: 0px; }
  100% { background-position: -3400px; }
}

/* Loading */
.loader {
  display: inline-block;
  transform: translateZ(1px);
}

.loader > div {
  display: inline-block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  margin-top: 45px;
  background: #fff;
  animation: loader 2.4s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

@keyframes loader {
  0%, 100% {
    animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5);
  }
  0% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(1800deg);
    animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
  }
  100% {
    transform: rotateY(3600deg);
  }
}