:root {
    --default-text: #b30000;
    --hover-glow: #e9ae00;
    --transition-time: 0.15s;
}
* {
    padding: 0;
    margin: 0;
}
body {
}
div.page-right {
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: 100vw;
}
a, a:visited, a:focus {
    text-decoration: none;
    color: unset;
}
nav {
  font-family: 'standard';
  display: flex;
  color: var(--default-text);
  background-color: #000000eb;
  position: sticky;
  top: 0;
  flex-direction: column;
  width: 160pt;
  height: 100vh;
  text-shadow: 1pt 1pt 1pt #b30000;
  justify-content: space-around;
  z-index: 5;
}
nav:hover {
    opacity: 1;
}
div.welcome {
  width: 600pt;
  color: #e1e1e1;
  font-family: standard;
  text-shadow: 1pt 1pt 1pt #b30000;
  filter: drop-shadow(2px 4px 6px #b30000);
}
div.welcome h1 {
  font-family: 'title';
  font-size: 38pt;
}
div.welcome p {

}
div.side-nav {
  display: flex;
}
div.main-back {
  width: 100vw;
  height: 100vh;
  background-image: url(/assets/images/main-back.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  filter: brightness(0.2) blur(5px);
}
div.main-back.alt {
  background-image: url(/assets/images/back.jpg);
}
nav strong {
    font-size: 40pt;
    padding: 5pt 10pt;
}
nav ul {
  display: flex;
  flex-direction: column;
}
nav ul:first-child {
    width: 10%;
}
nav ul li {
  list-style-type: none;
  display: inline-block;
  font-size: 18pt;
  padding: 5pt 10pt;
  border: 0;
  border-bottom: 2pt solid transparent;
}
nav ul li, nav strong {
  transition: border-color linear var(--transition-time), background linear var(--transition-time), text-shadow linear var(--transition-time), color var(--transition-time), text-shadow linear var(--transition-time), cursor linear var(--transition-time);
  font-family: 'title';
}
div.parallax-back {
  background-image: url(/assets/images/main-back.webp);
  min-height: 70vh;
  background-position: top;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #181818;
  background-blend-mode: hard-light;
  opacity: 0.8;
}
div.parallax-back.full {
  min-height: 100vh;
}
div.post {
    padding: 20pt;
    display: flex;
    justify-content: center;
    font-family: 'standard';
}
div.post div.content {
    max-width: 600pt;
    background-color: #1e1e1e;
    color: white;
    border-style: inset;
    border-color: black;
    box-shadow: 0 0 5pt black;
    background-image: url(/assets/images/paper.avif);
    background-blend-mode: color-burn;
}
div.post div.content h1 {
    font-size: 30pt;
    padding: 15pt 20pt;
    font-family: title;
}
div.post div.content p {
    padding: 15pt;
    font-size: 13pt;
}
div.post div.content h1, div.post div.content p, nav ul li:hover, nav strong:hover {
  color: #b7b7b7;
  border-color: #b7b7b7;
}
div.contact, div.login {
  display: flex;
  width: 100%;
  height: calc(100vh - 56pt);
  justify-content: space-between;
  align-items: center;
}
div.login {
  justify-content: center;
}
div.contact form, div.login form {
  max-width: 300pt;
  background-color: #ffffff9c;
  border-radius: 5pt;
  box-shadow: 0 0 15pt #984e2e;
  padding: 10pt;
  margin-right: 20pt;
  background-image: url(/assets/images/dark-paper.jpg);
  background-size: cover;
  background-position: center;
}
div.contact form h1, div.login form h1 {
  color: #830000;
  font-family: 'title';
}
div.contact form input, div.login form input, div.contact form textarea {
  width: 150pt;
  padding: 2pt 7pt;
  display: block;
  margin-bottom: 5pt;
  outline: none;
  border: 1px solid white;
  border-radius: 3pt;
  box-shadow: 0 0 15pt #984e2e;
  background-color: transparent;
  color: #830000;
  transition: linear color 0.15s, linear background-color 0.15s, border-color linear 0.15s, width linear 0.15s;
}
div.contact form input::placeholder, div.login form input::placeholder, div.contact form textarea::placeholder {
  color: #830000;
  opacity: 1; /* For Firefox */
}
div.contact form input:hover, div.login form input:hover, div.contact form textarea:hover, div.contact form input:focus, div.contact form textarea:focus {
  width: 150pt;
  background-color: #984e2ec9;
  color: white;
  border-color: black;
}
div.contact form button, div.login form button {
  width: 100%;
  padding: 5pt;
  outline: none;
  background-color: #a461357a;
  color: #830000;
  font-size: 12pt;
  cursor: pointer;
  transition: linear background-color 0.15s, color linear 0.15s;
  border: 1pt solid black;
  outline: none;
}
div.contact form button:focus, div.contact form button:hover, div.login form button:focus, div.login form button:hover {
  background-color: #8a3c0db0;
  color: white;
}
div.contact form textarea {
  min-width: 260pt;
  min-height: 150pt;
  max-width: 260pt;
  max-height: 300pt;
}
div.contact form a {
  text-shadow: 0 0 5pt #ffffff;
  color: #830000;
  font-family: 'title';
  font-size: 15pt;
  padding: 1pt 5pt;
  border-radius: 5pt;
  transition: color linear 0.15s, background-color linear 0.15s;
}
div.contact form a:hover {
  background-color: #8f3f0e9c;
  color: #00f1ff;
}
@font-face {
  font-family: standard;
  src: url('/assets/fonts/standard.otf');
}
@font-face {
    font-family: title;
    src: url('/assets/fonts/don.TTF');
}
@font-face {
    font-family: zombie;
    src: url('/assets/fonts/zombified.ttf');
}
@font-face {
  font-family: book;
  src: url('/assets/fonts/book.otf');
}
div.story {
  display: block;
  width: 800px;
  margin: auto;
  background-image: url('/assets/images/tales/paper.png');
  min-height: 50vh;
  font-family: 'standard';
}
div.story h1 {
  width: 600px;
  text-align: center;
  margin: auto;
  padding: 30pt 0;
}
div.story h2 {
  width: 600px;
  text-align: center;
  margin: auto;
  padding: 10pt 0;
}
div.story p {
  width: 600px;
  margin: auto;
  padding: 10pt 0;
  font-size: 12pt;
}
div.story img {
  display: block;
  margin: auto;
  width: 600px;
  border-width: 3px;
  border-style: outset;
  border-radius: 25px;
}
video.background {
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
}
div.not_found {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: title;
  background-color: #222222C9;
  color: #ffdddd;
}
div.not_found h1, div.not_found h2, div.not_found p {
  z-index: 1;
}
form.age-requirement {
  color: white;
  display: flex;
  flex-direction: column;
}
form.age-requirement input {
  background-color: #222222;
  border-style: none;
  padding: 5pt;
  color: white;
}
form.age-requirement button {
  background-color: #ff8a00;
  color: white;
  font-family: sans-serif;
  padding: 10pt;
  font-size: 14pt;
  border: 0;
  border-radius: 10pt;
  text-shadow: 0 0 2pt black;
  transition: linear 0.15s background-color;
  cursor: pointer;
}
form.age-requirement button:hover {
  background-color: #008d18;
}
form.age-requirement button:active {
  background-color: #00598d;
}
#notifications {
  position: fixed;
  z-index: 6;
  max-width: 250pt;
  max-height: 100vh;
  overflow: auto;
}
#notifications div.notification {
  padding: 5pt;
  color: white;
  background-color: #222;
  border-radius: 5pt;
  margin: 5pt;
  box-shadow: 1pt 1pt 1pt white;
}
#notifications div.notification label {
  display: block;
}
#notifications div.notification label.title {
  font-size: 13pt;
}
#notifications div.notification label.message {
  font-size: 10pt;
}
#notifications div.notification.success {
  background-color: #0d510deb;
  box-shadow: 1pt 1pt 1pt #009900eb;
}
#notifications div.notification.warning {
  background-color: #51420deb;
  box-shadow: 1pt 1pt 1pt #af8800eb;
}
#notifications div.notification.error {
  background-color: #510d0deb;
  box-shadow: 1pt 1pt 1pt #af0000eb;
}

.card-container {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  .card-container .card{
    position: relative;
    margin: 5pt;
  }
  
  .card-container .card .face{
    width:300px;
    height: 200px;
    transition:.4s;
    
  }
  
  .card-container .card .face.face1{
    position: relative;
    background: #333;
    display: flex;
    justify-content: center;
    align-content:center;
    align-items: center;
    z-index: 1;
    transform: translateY(100px);
  }
  /*
  .card-container .card:hover .face.face1{
    transform: translateY(0);
    box-shadow:
      inset 0 0 60px whitesmoke,
      inset 20px 0 80px #f0f,
      inset -20px 0 80px #0ff,
      inset 20px 0 300px #f0f,
      inset -20px 0 300px #0ff,
      0 0 50px #fff,
      -10px 0 80px #f0f,
      10px 0 80px #0ff;
     
  }
  */
  .card-container .card:hover .face.face1{
    transform: translateY(0);
    box-shadow: inset 0 0 60px #fff0, inset 20px 0 80px #7d0000, inset -20px 0 80px #BF00D8, inset 20px 0 300px #025171, inset -20px 0 300px #0070E700, 0 0 50px #fff, -10px 0 80px #37073e, 10px 0 80px #000;
     
  }
  
  
  .card-container .card .face.face1 .content{
    opacity: .2;
    transition:  0.5s;
    text-align: center;
    
     
    
    
   
  
  }
  
  .card-container .card:hover .face.face1 .content{
    opacity: 1;
   
  }
  
  .card-container .card .face.face1 .content i{
    font-size: 3em;
    color: white;
    display: inline-block;
     
  }
  
  .card-container .card .face.face1 .content h3{
    font-size: 1em;
    color: white;
    text-align: center;
    
  
  }
  
  .card-container .card .face.face1 .content a{
     transition: .5s;
  }
  
  .card-container .card .face.face2{
    position: relative;
    background: #1c1c1c;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 20px 50px rgba(0,0,0,.8);
    transform: translateY(-100px);
    opacity: 0;
  }
  
  .card-container .card:hover .face.face2{
      transform: translateY(0);
      z-index: 100;
      height: auto;
      opacity: 1;
  }
  
  .card-container .card .face.face2 .content p, a{
    font-size: 10pt;
    margin: 0 ;
    padding: 0;
    color:#8c8c8c;
  }
  
  .card-container .card .face.face2 .content a{
    text-decoration:none;
    color: rgb(179, 0, 0);
    box-sizing: border-box;
    outline : 1px dashed #333;
    padding: 10px;
    margin: 15px 0 0;
    display: inline-block;
    transition: linear color 0.15s, linear background 0.15s, box-shadow linear 0.15s;
  }
  
  .card-container .card .face.face2 .content a:hover{
    background: #333 ;
    color: whitesmoke; 
    box-shadow: inset 0px 0px 10px rgba(0,0,0,0.5);
  }
  .loader{
    font-size: 48px;
    letter-spacing: 2px;
    position: fixed;
    z-index: 5000;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ad00004a;
  }
  .loader:before {
    content: "Loading";
    color: #fff;
  }
  .loader:after {
    content: "";
    width: 20px;
    height: 20px;
    background-color: #ff3d00;
    border-radius: 50%;
    position: absolute;
    inset: 0;
    margin: auto;
    top: -70px;
    animation: motion 3s ease-in-out infinite;
  }

  @keyframes motion {
    0%, 50%, 100% {
      transform: translateX(0) scale(1);
    }
    25% {
      transform: translateX(-100px) scale(0.3);
    }
    75% {
      transform: translateX(100px) scale(0.3);
    }
  }
  div.splitter {
    display: flex;
    justify-content: space-evenly;
  }
  div.splitter div {
    padding: 5pt;
    background-color: #000000;
    color: #c5c5c5;
  }
  div.tales-page-notification {
    color: rgb(151, 52, 52);
    text-align: center;
  }