.header {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  box-shadow: 1px 1px 10px black;
  display: flex;
  justify-content: center;
  /* width: 80vw; */
}

.nav-links {
  display: flex;
  padding: 0 !important;
  width: 100%;
  justify-content: center;
}
.nav-links a {
  width: min-content;
  padding: 10px 20px;
  list-style: none;
  font-size: 15px;
  color: #fbcdf2;
  font-family: "Lobster", cursive;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
}
.nav-links a:hover {
  transform: scale(1.1);
  color: #ffffff;
}
h1 {
  text-transform: uppercase;
  padding-bottom: 20px;
  font-family: "Libre Baskerville", serif;
}

/* Carta */
:root {
  --color1: rgb(59, 50, 240);
  --color2: rgb(251, 248, 155);
  --tarot1: #331c82;
  --tarot2: #05479f;
  --tarot-front: url(https://cdn.shopify.com/s/files/1/0561/8477/files/Divine-Feminine-Tarot-NOCTURNAL-20.png?v=1606221820&epik=dj0yJnU9UzRsTk5pNkEyNkdkRnBnNE5xdU5);
  --tarot-overlay: url(https://typeheist.co/tarot-overlay.png);
}

.card {
  animation: levitate 10s infinite ease-in-out;
  -webkit-animation: levitate 10s infinite ease-in-out;
  width: 71.5vw;
  height: 100vw;

  width: clamp(12.9vw, 61vh, 18vw);
  height: clamp(18vw, 85vh, 25.2vw);

  position: relative;
  overflow: hidden;
  margin: 20px;
  overflow: hidden;
  z-index: 10;
  touch-action: none;

  border-radius: 5% / 3.5%;
  box-shadow: -4px -4px 4px -4px rgba(0, 0, 0, 0.2),
    4px 4px 4px -4px rgba(0, 0, 0, 0.2), -6px -6px 8px -6px transparent,
    6px 6px 8px -6px transparent, 0 0 4px 0px rgba(255, 255, 255, 0),
    0 50px 32px -16px rgba(0, 0, 0, 0.5);

  transition: transform 0.5s ease, box-shadow 0.2s ease;
  will-change: transform, filter;

  background-color: #040712;

  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  transform-origin: center;
}

.card.tarot {
  --color1: var(--tarot1);
  --color2: var(--tarot2);
  --front: var(--tarot-front);
  --overlay: var(--tarot-overlay);
}

.card:before,
.card:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-repeat: no-repeat;
  opacity: 0.5;
  mix-blend-mode: color-dodge;
  transition: all 0.33s ease;
}

.card:before {
  background-position: 50% 50%;
  background-size: 300% 300%;
  background-image: linear-gradient(
    115deg,
    transparent 0%,
    var(--color1) 25%,
    transparent 47%,
    transparent 53%,
    var(--color2) 75%,
    transparent 100%
  );
  opacity: 0.5;
  filter: brightness(0.5) contrast(1);
  z-index: 1;
}

.card:after {
  opacity: 1;
  /* background-image: url("https://assets.codepen.io/13471/sparkles.gif"), 
      url(https://assets.codepen.io/13471/holo.png), 
      linear-gradient(125deg, #ff008450 15%, #fca40040 30%, #ffff0030 40%, #00ff8a20 60%, #00cfff40 70%, #cc4cfa50 85%); */
  background-position: 50% 50%;
  background-size: 160%;
  background-blend-mode: overlay;
  z-index: 2;
  filter: brightness(1) contrast(1);
  transition: all 0.33s ease;
  mix-blend-mode: color-dodge;
  opacity: 0.75;
}

.card.active:after,
.card:hover:after {
  /* filter: brightness(1) contrast(1);; */
  opacity: 1;
}

.card.active,
.card:hover {
  animation: none;
  transition: box-shadow 0.1s ease-out;
}

.card.active:before,
.card:hover:before {
  animation: none;
  /* background-image: linear-gradient(
      110deg,
      transparent 25%,
      var(--color1) 48%,
      var(--color2) 52%,
      transparent 75%
    ); */
  background-position: 50% 50%;
  background-size: 250% 250%;
  opacity: 0.88;
  /* filter: brightness(.66) contrast(1.33); */
  transition: none;
}

.card.active:before,
.card:hover:before,
.card.active:after,
.card:hover:after {
  animation: none;
  transition: none;
}

.card.animated {
  transition: none;
  animation: holoCard 12s ease 0s 1;
  &:before {
    transition: none;
    animation: holoGradient 12s ease 0s 1;
  }
  &:after {
    transition: none;
    animation: holoSparkle 12s ease 0s 1;
  }
}

@keyframes holoSparkle {
  0%,
  100% {
    opacity: 0.75;
    background-position: 50% 50%;
    filter: brightness(1.2) contrast(1.25);
  }
  5%,
  8% {
    opacity: 1;
    background-position: 40% 40%;
    filter: brightness(0.8) contrast(1.2);
  }
  13%,
  16% {
    opacity: 0.5;
    background-position: 50% 50%;
    filter: brightness(1.2) contrast(0.8);
  }
  35%,
  38% {
    opacity: 1;
    background-position: 60% 60%;
    filter: brightness(1) contrast(1);
  }
  55% {
    opacity: 0.33;
    background-position: 45% 45%;
    filter: brightness(1.2) contrast(1.25);
  }
}

/* Holografic card */
@keyframes holoGradient {
  0%,
  100% {
    opacity: 0.5;
    background-position: 50% 50%;
    filter: brightness(0.5) contrast(1);
  }
  5%,
  9% {
    background-position: 100% 100%;
    opacity: 1;
    filter: brightness(0.75) contrast(1.25);
  }
  13%,
  17% {
    background-position: 0% 0%;
    opacity: 0.88;
  }
  35%,
  39% {
    background-position: 100% 100%;
    opacity: 1;
    filter: brightness(0.5) contrast(1);
  }
  55% {
    background-position: 0% 0%;
    opacity: 1;
    filter: brightness(0.75) contrast(1.25);
  }
}
/* fin holografic card */

@keyframes holoCard {
  0%,
  100% {
    transform: rotateZ(0deg) rotateX(0deg) rotateY(0deg);
  }
  5%,
  8% {
    transform: rotateZ(0deg) rotateX(6deg) rotateY(-20deg);
  }
  13%,
  16% {
    transform: rotateZ(0deg) rotateX(-9deg) rotateY(32deg);
  }
  35%,
  38% {
    transform: rotateZ(3deg) rotateX(12deg) rotateY(20deg);
  }
  55% {
    transform: rotateZ(-3deg) rotateX(-12deg) rotateY(-27deg);
  }
}

html,
body {
  height: 100%;
  background-color: #333844;
  padding: 0;
  z-index: 1;
  transform: translate3d(0, 0, 0.1px);
}
body {
  color: white;
  background-color: #2b2b2b;
  font-family: sans-serif;
  text-align: center;
}

#app {
  position: relative;
}

.cards {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  perspective: 2000px;
  position: relative;
  z-index: 1;
  transform: translate3d(0.1px, 0.1px, 0.1px);
}

.mail-input-container,
.question-input-container {
  position: absolute;
  z-index: 1000 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.98);
  padding: 50px;
  border-radius: 20px;
  box-shadow: 0 0.75rem 2rem 0 black;
  margin-top: 200px;
  color: black;
  gap: 20px;
  align-items: center;
  min-width: 50vw;
  min-height: 50vh;
}

.mail-input-button,
.question-input-button,
.ask-again-button {
  border-radius: 10px;
  padding: 10px 20px;
  color: #ebcdf2;
  background-color: black !important;
}

.ask-again-button {
  display: none;
  z-index: 1000;
}

.mail-input-container label,
.question-input-container label,
.counter-limit {
  font-family: "Lobster", cursive;
  font-size: 30px;
}

#mail-input,
#question-input {
  border: 1px solid black;
  border-radius: 5px;
  width: 100% !important;
}

.cards .card {
  &:nth-child(2) {
    &,
    &:before,
    &:after {
      animation-delay: 0.25s;
    }
  }
  &:nth-child(3) {
    &,
    &:before,
    &:after {
      animation-delay: 0.5s;
    }
  }
  &:nth-child(4) {
    &,
    &:before,
    &:after {
      animation-delay: 0.75s;
    }
  }
}

.ad-banner p {
  font-weight: 400;
  font-size: 18px;
  padding: 1em;
  background-color: rgba(0, 0, 0, 1);
  border: 1.5px solid gold;
  margin-top: 0;
  color: gold;
  border-radius: 10px;
  opacity: 0.8;
}

p.bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-bottom: 0;
}
p a {
  color: cyan;
}

html,
body,
main {
  min-height: 100%;
}

*,
:root {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
  width: 100vw;
  height: 100vh;
  font-family: "Roboto", sans-serif;
}
body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5rem;
  width: 100vw;
  min-height: 100vh;
  background: linear-gradient(180deg, #22223b 50%, #212529 110%);
}
.card-frame {
  width: 17rem;
  height: 29rem;
  perspective: 500px;
  position: relative;
  z-index: 100;
  -webkit-perspective: 500px; /* Safari, iOS Safari */
  -moz-perspective: 500px; /* Firefox */
  -ms-perspective: 500px; /* Internet Explorer */
  -o-perspective: 500px; /* Opera */
}
.tower-front {
  perspective: 800px;
}
.sword-front {
  perspective: 700px;
}
.card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  box-shadow: 0 6px 12px 0px rgba(0, 0, 0, 0.6);
  border-radius: 1rem;
}

.tower-front:hover .card-inner {
  transform: rotateX(180deg);
}
.tower-front:hover.card-inner {
  transform: rotateX(180deg);
}
.tower-front:hover .text-frame p {
  transform: rotate(180deg);
  padding-bottom: 4rem;
  color: #f7e9aa;
}
.sword-front:hover .text-frame p {
  transform: rotate(180deg);
  padding-bottom: 4rem;
}
.sword-front:hover .card-inner {
  transform: rotateZ(90deg) rotateY(180deg) rotateZ(-90deg);
}
.sword-front:hover.card-inner {
  transform: rotateX(180deg);
}

.card-front,
.card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid black;
  padding: 0em;
  backface-visibility: hidden;
  border-radius: 1rem;
}

.card-front {
  background-image: url(http://cdn.shopify.com/s/files/1/0561/8477/articles/Divine-Feminine-Tarot-NOCTURNAL-20_1200x1200.png?v=1606221867);
  background-position: center;
  background-size: cover;
}
.tower {
  background-image: url(https://i.pinimg.com/1200x/19/cc/1f/19cc1f59b0ce660e7551a83454992875.jpg);
  background-position: center;
  background-size: cover;
}
.sword {
  background-image: url(https://i.pinimg.com/originals/18/2e/7f/182e7f4f84641edb1b4e4883313f86e0.png);
  background-position: center;
  background-size: cover;
}
.text-frame {
  border: 1px solid #f7e9aa;
  width: 14rem;
  height: 26rem;
  border-radius: 1rem;
  margin: 0;
}
.card-back {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0);
  color: #f7e9aa;
  transform: rotateY(180deg);
  overflow: hidden;
}

.text-frame p {
  padding: 1rem 0.3rem 0.3rem 0.3rem;
  font-size: 0.9rem;
  font-weight: 100;
}
.tower-front .text-frame p {
  color: transparent;
  transition: 0.1s;
}
.sword-front .text-frame p {
  color: #f7e9aa;
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");

body {
  font-family: Inter, sans-serif;
}

@keyframes jumbo {
  from {
    background-position: 50% 50%, 50% 50%;
  }
  to {
    background-position: 350% 50%, 350% 50%;
  }
}

.jumbo {
  --stripes: repeating-linear-gradient(
    100deg,
    #fff 0%,
    #fff 7%,
    transparent 10%,
    transparent 12%,
    #fff 16%
  );
  --stripesDark: repeating-linear-gradient(
    100deg,
    #000 0%,
    #000 7%,
    transparent 10%,
    transparent 12%,
    #000 16%
  );
  --rainbow: repeating-linear-gradient(
    100deg,
    #a858f3 10%,
    #faf3f0 15%,
    #e879fa 20%,
    #faab78 25%,
    #f7f6e9 30%
  );
  background-image: var(--stripes), var(--rainbow);
  background-size: 300%, 200%;
  background-position: 50% 50%, 50% 50%;

  filter: blur(10px) invert(100%);

  mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%);

  pointer-events: none;
}

.jumbo::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--stripes), var(--rainbow);
  background-size: 200%, 100%;
  animation: jumbo 60s linear infinite;
  background-attachment: fixed;
  mix-blend-mode: difference;
}

.dark .jumbo {
  background-image: var(--stripesDark), var(--rainbow);
  filter: blur(10px) opacity(50%) saturate(200%);
}
.dark .jumbo::after {
  background-image: var(--stripesDark), var(--rainbow);
}

.ad-banner {
  display: none;
  padding: 50px !important;
}

.ad-banner a {
  color: pink !important;
  background-color: black;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 5px 5px 5px gray;
  margin-top: 30px;
  transition: 1s;
}

.ad-banner a:hover {
  transform: translate(1.5);
}

/* mazo de cartas */

.card {
  width: 150%;
  height: 150%;
  transition: top 0.2s;
  -webkit-transition: top 0.2s;
  top: 0px;
  border-radius: 1rem;
  position: relative;
  border: 0.1px solid white;
  box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.8);
  overflow: hidden;
  cursor: pointer;
}

.card:hover {
  top: -70px;
}

.card.flipped {
  top: -400px;
}

.card-cont {
  position: absolute;
  width: 130px;
  height: 250px;
}

.card-frame {
  top: -700px;
  color: white;
  text-align: center;
  font-size: 20px;
  font-family: helvetica;

  transition: top 0.2s;
  -webkit-transition: top 0.2s;
  z-index: 100;
  position: absolute;
}

.card-frame.revealed {
  top: 250px;
}

#cards-container {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100vw;
  margin-top: 20px;
  margin-left: 40vw;
}

@media (max-width: 767px) {
  .card {
    width: 100%;
    height: 100%;
  }

  .card-frame.revealed {
    top: 280px;
  }
  /* 
  .card-frame {
    width: 15.5rem;
    height: 27.5rem;
  } */

  .mail-input-container,
  .question-input-container {
    margin-top: 100px;
    padding: 20px;
  }

  #cards-container {
    margin-left: 20vw;
  }
}

@keyframes disappear {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.question-input-container {
  display: none;
}

.loading-spinner {
  display: none;
  justify-content: center;
}

.loading-spinner::after {
  content: "";
  width: 80px;
  height: 80px;
  border: 12px solid #1d1d1d;
  border-top-color: pink;
  border-radius: 50%;
  animation: loading 1s linear infinite;
}

@keyframes loading {
  to {
    transform: rotate(1turn);
  }
}
