@font-face {
  font-family: "Old London";
  src: url(Misc/OldLondon.ttf);
}

@font-face {
  font-family: "Retro";
  src: url(Misc/LoRes21OTSerif-Regular.ttf);
}

@font-face {
  font-family: "Letter";
  src: url(Misc/DoubleHomicide.ttf);
}

@font-face {
  font-family: "Gothic";
  src: url(Misc/Ancient_Modern_Tales.otf);
}

@font-face {
  font-family: "TKB";
  src: url(veterantypewriter.ttf);
}

@font-face {
  font-family: "PDA";
  src: url(Technology.ttf);
}

@keyframes rainbow {
  0%   { color: #ff0000; }
  20%  { color: #ffff00; }
  40%  { color: #00ff00; }
  60%  { color: #00ffff; }
  88% { color: #ff00ff; }
  100%   { color: #ff0000; }
}

@keyframes fuck {
  0%   { color: #ffffff; }
  100%   { color: #ff0000; }
}

@keyframes float-up-down {
  0%   { transform: translateY(1px) rotate(-5deg) scale(1.1); }
  50%  { transform: translateY(-1px) rotate(5deg) scale(1); }
  100% { transform: translateY(1px) rotate(-5deg) scale(1.1); }
}

@keyframes float-down-up {
  0%   { transform: translateY(-1px) rotate(5deg) scale(1); }
  50%  { transform: translateY(1px) rotate(-5deg) scale(1.1); }
  100% { transform: translateY(-1px) rotate(5deg) scale(1); }
}


p {
  font-size: 24px;
  font-family: "TKB";
  text-rendering: geometricPrecision;
  text-align: left;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 10px;
}

p2 {
  font-size: 36px;
  font-family: "PDA";
  text-rendering: geometricPrecision;
  text-align: left;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 10px;
  display: block;
  margin: 0;
}

h2 {
  font-size: 72px;
  font-family: "TKB";
  text-rendering: geometricPrecision;
  font-weight: normal;
  text-align: center;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 5px;
}

ul, li {
  font-size: 24px;
  font-family: "TKB";
  text-rendering: geometricPrecision;
  text-align: left;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 10px;
  list-style-image: url('Images/swordbullet.png');
}

.rainbow1 {
  animation:
  rainbowcolor1 4s linear 0s infinite;
}

@keyframes shake {
  0%   { transform: translate(0px, 0px); }
  25%  { transform: translate(0.5px, 0.5px); }
  50%  { transform: translate(-0.5px, 0.5px); }
  75%  { transform: translate(0.5px, 0.5px); }
  100% { transform: translate(0.5px, -0.5px); }
}

.shaky {
  display: inline-block;
  animation: shake 0.2s infinite;
}

#lang-btn {
  opacity: 1;
  transition: opacity 0.3s;
}

#lang-btn:hover {
  opacity: 1;
}

body {
  background-color: black;
  background-image: url(tkbbackground.png);
  /* image-rendering: crisp-edges; */
  color: white;
  vertical-align: top;
}

.box1 {
  background-color: transparent;
  width: 75%;
  position: relative;
}

.box2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: black;
  width: 200px;
  height: auto;
  border: 25px solid transparent;
  border-image: url(tkbborder3.png) 60 repeat;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  position: relative;
  background-clip: padding-box;
}

.box-title {
  display: inline-flex;
  margin: 0;
  background-color: black;
  height: auto;
  width: auto;
  border: 25px solid transparent;
  border-image: url(tkbborder3.png) 60 repeat;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 5px;
  line-height: 1.25;
  background-clip: padding-box
}

.box-row {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.box-row .box2 {
  flex: 1;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.box-row .box2:first-child {
  margin-right: -35px;
}

.box-row .box2:last-child {
  margin-left: -35px;
}

.blog-row {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.blog-row .box2 {
  margin: 0;
  display: block;
  align-items: center;
  justify-content: center;
}

.blog-row .box2:first-child {
  margin-right: -35px;
  width: 75%;
}

.blog-row .box2:last-child {
  margin-left: -35px;
  width: 25%;
}

@media (max-width: 1024px) {
  p {
    font-size:36px;  
  }
  
  .box-row {
    flex-direction: column;
    align-items: center;
  }

  .box2 {
    width: 75%;
  }

  .box-row .box2:first-child {
    margin-right: 0;
    margin-bottom: -35px;
  }

  .box-row .box2:last-child {
    margin-left: 0;
    margin-top: -35px;
  }
}

.grid {
  display: flex;
  width: 50%;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
}

.grid button {
  background: none;
  border: none;
  padding: 0;
  cursor:url(Images/cursorsmall.png), auto;
  width: 100%;
  height: auto;
  transform: perspective(600px) rotateY(60deg);
  transition: transform 0.25s ease;
  margin-left: -12.5%;
  transform-style: preserve-3d;
  filter: blur(0.1px);
}

.grid button:first-child {
  margin-left: 0;
}

.grid button:hover {
  transform: perspective(600px) translateX(-7px) rotateY(0deg) scale(1.15);
  z-index: 10;
  filter: blur(0)
}

.grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.speech {
  position: absolute;
  text-align: center;
  vertical-align: middle;
  margin-left: -500px;
  padding-left: 25px;
  padding-right: 25px;
  background-color: black;
  width: 400px;
  height: auto;
  border: 50px solid transparent;
  border-image: url(Images/speechborder.png) 33.5% round;
}

.wrapper {
  display: table;
  border: transparent;
  overflow: visible;
  margin: auto;
  justify-content: center;
}


.book-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.book {
  display: flex;
  align-items: center;
  transition: transform 0.5s ease;
}

.page {
  width: 50vh;
  height: auto;
  aspect-ratio: 1 / 1.414;
  background-size: cover;
  background-position: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  flex-shrink: 0;
  margin: 0;
  transform-origin: left; /* flip from left edge */
  transition: transform 0.6s ease;
  backface-visibility: hidden;
  position: relative;
}

.page.flip {
  transform: rotateY(-180deg);
}


.cover, .backcover {
  flex: 0 0 auto;
}

div.door {
  background-image: url(Images/doorclosed.png);
  background-size: 200px;
  height: 500px;
  width: 200px;
}

div.door:hover {
  background-image: url(Images/dooropen2.png);
}

h2.clickable {
  color: white;
  text-decoration: underline;
}

h2.clickable:hover {
  color: gray;
  text-decoration: underline;
}

a.clickable {
  color: white;
  text-decoration: underline;
  display: inline-block;
}

a.clickable:hover {
  animation: shake 0.2s infinite;
  color: white;
  text-decoration: underline;
  cursor: pointer;
}

img.clickable:hover {
  cursor: pointer;
  animation: shake 0.2s infinite;
}

a.clickable-moru {
  animation: rainbow 4s linear 0s infinite;
  text-decoration: none;
}

a.clickable-moru:hover {
  animation: fuck 0.125s infinite steps(2, end);
  text-decoration: none;
}

a.clickable-panthalassa span {
  color:aqua;
  display: inline-block;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

a.clickable-panthalassa:hover span {
  color:teal;
  display: inline-block;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

a.clickable-panthalassa span:nth-child(odd) {
  animation-name: float-up-down;
}

a.clickable-panthalassa span:nth-child(even) {
  animation-name: float-down-up;
}

p2.clickable:hover {
  cursor: pointer;
  color: black;
  background-color: white;
}

.scarecrow {
  position: absolute;
  margin: auto;
  background-image: url(Images/scarecrow2.png);
  background-size: 500px;
  height: 500px;
  width: 500px;
}

.letter {
  background-image: url(Images/pergaminho.png);
  background-size: 450px;
  height: 300px;
  width: 450px;
  color: black;
  vertical-align: middle;
  text-align: left;
  font-family: "Letter";
}

.nofilter {
  image-rendering: crisp-edges;
}

html, body {
  cursor:url(Images/cursorsmall.png),auto;
  justify-content: center;
}

a, a:link, button {
  cursor:url(Images/cursorsmall.png), auto;
}

.card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  width: 200px;
  height: auto;
  border: 50px solid transparent;
  border-image: url(tkbborder3.png) 33.5% round;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  position: relative;
  background-clip: padding-box
}


.content {
  max-height: 4.5em;
  overflow: hidden;
  position: relative;
  transition: max-height 0.0s ease;
}

.content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 75%;
  width: 100%;
  background: linear-gradient(transparent, black);
}

.card.expanded .content {
  max-height: 1000px;
}

.card.expanded .content::after {
  display: none;
}

.color-overlay {
  position: fixed;
  inset: 0;
  background: #ff0000;      /* your color */
  mix-blend-mode: multiply;
  pointer-events: none;     /* don’t block clicks */
  z-index: 9999;
}

.word {
  display: inline;
  white-space: pre;
}

.word.shake {
  display: inline-block;
  animation: shake 0.2s infinite;
}

.monitor {
  position: relative;
  width: 75%;
  margin-top: 25px;
}

.monitor img {
  width: 100%;
  height: auto;
  display: block;
}

.screen {
  position: absolute;
  top: 11%;
  left: 10.5%;
  width: 80%;
  height: 73%;
  background: black;

  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  pointer-events: auto;
}

.screen > div {
  overflow-y: auto;
}

.frame {
  width: 100%;
  display: block;
  position: relative;
  z-index: 2;
  pointer-events: none;
}
