body {
    background-color: #FFF;
    transition: background 0.3s ease;
}

.animate-background {
    animation: change-to-black 1s forwards;
}

.revert-background {
    animation: change-to-white 1s forwards;
}

@keyframes change-to-black {
    100% {
        background: #000;
    }
}

@keyframes change-to-white {
    100% {
        background: #FFF;
    }
}

  .wrapper {
    position: absolute;
    left: 60%;
    top: 70%;
      justify-content: center; 
    align-items: center; 
    transform: scale(1.5, 1.5) translate(-50%, -50%);
  }
  
  .floor {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 350px;
    height: 5px;
    background: #673C63;
    transform: translate(-50%, -50%);
    box-shadow: 0px 2px 5px #111;
    z-index: 2;
  }
  
  .candles {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 250px;
    height: 150px;
    transform: translate(-50%, -100%);
    z-index: 1;
  }
  
  .candle1 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 35px;
    height: 100px;
    background: #fff;
    border: 3px solid #673C63;
    border-bottom: 0px;
    border-radius: 3px;
    transform-origin: center right;
    transform: translate(60%, -25%);
    box-shadow: -2px 0px 0px #95c6f2 inset;
    animation: expand-body 3s infinite linear;
  }
  
  .candle1__stick, .candle2__stick {
    position: absolute;
    left: 50%;
    top: 0%;
    width: 3px;
    height: 15px;
    background: #673C63;
    border-radius: 8px;
    transform: translate(-50%, -100%);
  }
  
  .candle2__stick {
    height: 12px;
    transform-origin: bottom center;
    animation: stick-animation 3s infinite linear;
  }
  
  .candle1__eyes, .candle2__eyes {
    position: absolute;
    left: 50%;
    top: 0%;
    width: 35px;
    height: 30px;
    transform: translate(-50%, 0%);
  }
  
  .candle1__eyes-one {
    position: absolute;
    left: 30%;
    top: 20%;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #673C63;
    transform: translate(-70%, 0%);
    animation: blink-eyes 3s infinite linear;
  }
  
  .candle1__eyes-two {
    position: absolute;
    left: 70%;
    top: 20%;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #673C63;
    transform: translate(-70%, 0%);
    animation: blink-eyes 3s infinite linear;
  }
  
  .candle1__mouth {
    position: absolute;
    left: 40%;
    top: 20%;
    width: 0px;
    height: 0px;
    border-radius: 20px;
    background: #673C63;
    transform: translate(-50%, -50%);
    animation: uff 3s infinite linear;
  }
.card {
  width: 420px;
  height: 200px;
  position: absolute;
  margin: auto;
  left: -50%; /* Center horizontally */
  top: calc(100% + 500px); /* Position 50px below the candles */
  transform: translate(-80%); /* Center alignment adjustment */
  -webkit-perspective: 1200px;
  perspective: 1200px;
   transition: transform 1s ease-in-out, opacity 0.5s ease;
}

  .card:hover {
  transform: rotate(-5deg);
}
.card:hover .outside {
  transform: rotateY(-180deg);
}
.outside,
.inside {
  height: 100%;
  width: 50%;
  position: absolute;
  left: 50.1%;
}
.inside {
  background: linear-gradient(to right, #e7e7e7, #ffffff 30%);
  line-height: 3;
  padding: 0 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  left: 50%;
}
.outside {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  z-index: 1;
  transform-origin: left;
  transition: 2s;
  cursor: pointer;
}
.front,
.back {
  height: 100%;
  width: 100%;
  position: absolute;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: rotateX(0deg);
}
.front {
  background-color: #ffffff;
}
.back {
  transform: rotateY(180deg);
  background: linear-gradient(to left, #e7e7e7, #ffffff 30%);
}
.cake {
  width: 10%;
  position: absolute;
  bottom: 30px;
}
.top-layer,
.middle-layer,
.bottom-layer {
  height: 80px;
  width: 240px;
  background-repeat: repeat;
  background-size: 60px 100px;
  background-position: 28px 0;
  background-image: linear-gradient(
      transparent 50px,
      #fedbab 50px,
      #fedbab 60px,
      transparent 60px
    ),
    radial-gradient(circle at 30px 5px, #994c10 30px, #fcbf29 31px);
  border-radius: 10px 10px 0 0;
  position: relative;
  margin: auto;
}
.middle-layer {
  transform: scale(0.85);
  top: 6px;
}
.top-layer {
  transform: scale(0.7);
  top: 26px;
}
.candle {
  height: 45px;
  width: 15px;
  background: repeating-linear-gradient(
    45deg,
    #fd3018 0,
    #fd3018 5px,
    #ffa89e 5px,
    #ffa89e 10px
  );
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 202px;
}
.candle:before {
  content: "";
  position: absolute;
  height: 16px;
  width: 16px;
  background-color: #ffa500;
  border-radius: 0 50% 50% 50%;
  bottom: 48px;
  transform: rotate(45deg);
  left: -1px;
}
.outside p {
  font-size: 23px;
  text-transform: uppercase;
  margin-top: 30px;
  text-align: center;
  letter-spacing: 6px;
  color: #000046;
}
.inside h1 {
  font-size: 120px;
  line-height: 120px;
}
  .candle__smoke-one {
    position: absolute;
    left: 30%;
    top: 50%;
    width: 30px;
    height: 3px;
    background: grey;
    transform: translate(-50%, -50%);
    animation: move-left 3s infinite linear;
  }
  
  .candle__smoke-two {
    position: absolute;
    left: 30%;
    top: 40%;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: grey;
    transform: translate(-50%, -50%);
    animation: move-top 3s infinite linear;
  }
  
  .candle2 {
    position: absolute;
    left: 20%;
    top: 65%;
    width: 42px;
    height: 60px;
    background: #fff;
    border: 3px solid #673C63;
    border-bottom: 0px;
    border-radius: 3px;
    transform: translate(60%, -15%);
    transform-origin: center right;
    box-shadow: -2px 0px 0px #95c6f2 inset;
    animation: shake-left 3s infinite linear;
  }
  
  .candle2__eyes-one {
    position: absolute;
    left: 30%;
    top: 50%;
    width: 5px;
    height: 5px;
    display: inline-block;
    border: 0px solid #673C63;
    border-radius: 100%;
    float: left;
    background: #673C63;
    transform: translate(-80%, 0%);
    animation: changeto-lower 3s infinite linear;
  }
  
  .candle2__eyes-two {
    position: absolute;
    left: 70%;
    top: 50%;
    width: 5px;
    height: 5px;
    display: inline-block;
    border: 0px solid #673C63;
    border-radius: 100%;
    float: left;
    background: #673C63;
    transform: translate(-80%, 0%);
    animation: changeto-greater 3s infinite linear;
  }
  
  .light__wave {
    position: absolute;
    top: 35%;
    left: 35%;
    width: 75px;
    height: 75px;
    border-radius: 100%;
    z-index: 0;
    transform: translate(-25%, -50%) scale(2.5, 2.5);
    border: 2px solid rgba(255, 255, 255, 0.2);
    animation: expand-light 3s infinite linear;
  }
  
  .candle2__fire {
    position: absolute;
    top: 50%;
    left: 40%;
    display: block;
    width: 16px;
    height: 20px;
    background-color: red;
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    background: #FF9800;
    transform: translate(-50%, -50%);
    animation: dance-fire 3s infinite linear;
  }
  
  @keyframes blink-eyes {
    0%,35% {
      opacity: 1;
      transform: translate(-70%, 0%);
    }
    36%,39% {
      opacity: 0;
      transform: translate(-70%, 0%);
    }
    40% {
      opacity: 1;
      transform: translate(-70%, 0%);
    }
    50%,65% {
      transform: translate(-140%, 0%);
    }
    66% {
      transform: translate(-70%, 0%);
    }
  }
  @keyframes expand-body {
    0%,40% {
      transform: scale(1, 1) translate(60%, -25%);
    }
    45%,55% {
      transform: scale(1.1, 1.1) translate(60%, -28%);
    }
    60% {
      transform: scale(0.89, 0.89) translate(60%, -25%);
    }
    65% {
      transform: scale(1, 1) translate(60%, -25%);
    }
    70% {
      transform: scale(0.95, 0.95) translate(60%, -25%);
    }
    75% {
      transform: scale(1, 1) translate(60%, -25%);
    }
  }
  @keyframes uff {
    0%,40% {
      width: 0px;
      height: 0px;
    }
    50%,54% {
      width: 15px;
      height: 15px;
      left: 30%;
    }
    59% {
      width: 5px;
      height: 5px;
      left: 20%;
    }
    62% {
      width: 2px;
      height: 2px;
      left: 20%;
    }
    67% {
      width: 0px;
      height: 0px;
      left: 30%;
    }
  }
  @keyframes move-left {
    0%,59%,100% {
      width: 0px;
      left: 40%;
    }
    60% {
      width: 30px;
      left: 30%;
    }
    68% {
      width: 0px;
      left: 20%;
    }
  }
  @keyframes move-top {
    0%,64%,100% {
      width: 0px;
      height: 0px;
      top: 0%;
    }
    65% {
      width: 10px;
      height: 10px;
      top: 40%;
      left: 40%;
    }
    80% {
      width: 0px;
      height: 0px;
      top: 20%;
    }
  }
  @keyframes shake-left {
    0%,40% {
      left: 20%;
      transform: translate(60%, -15%);
    }
    50%,54% {
      left: 20%;
      transform: translate(60%, -15%);
    }
    59% {
      left: 20%;
      transform: translate(60%, -15%);
    }
    62% {
      left: 18%;
      transform: translate(60%, -15%);
    }
    65% {
      left: 21%;
      transform: translate(60%, -15%);
    }
    67% {
      left: 20%;
      transform: translate(60%, -15%);
    }
    75% {
      left: 20%;
      transform: scale(1.15, 0.85) translate(60%, -15%);
      background: #fff;
      border-color: #673C63;
    }
    91% {
      left: 20%;
      transform: scale(1.18, 0.82) translate(60%, -10%);
      background: #F44336;
      border-color: #F44336;
      box-shadow: -2px 0px 0px #F44336 inset;
    }
    92% {
      left: 20%;
      transform: scale(0.85, 1.15) translate(60%, -15%);
    }
    95% {
      left: 20%;
      transform: scale(1.05, 0.95) translate(60%, -15%);
    }
    97% {
      left: 20%;
      transform: scale(1, 1) translate(60%, -15%);
    }
  }
  @keyframes stick-animation {
    0%,40% {
      left: 50%;
      top: 0%;
      transform: translate(-50%, -100%);
    }
    50%,54% {
      left: 50%;
      top: 0%;
      transform: translate(-50%, -100%);
    }
    59% {
      left: 50%;
      top: 0%;
      transform: translate(-50%, -100%);
    }
    62% {
      left: 50%;
      top: 0%;
      transform: rotateZ(-15deg) translate(-50%, -100%);
    }
    65% {
      left: 50%;
      top: 0%;
      transform: rotateZ(15deg) translate(-50%, -100%);
    }
    70% {
      left: 50%;
      top: 0%;
      transform: rotateZ(-5deg) translate(-50%, -100%);
    }
    72% {
      left: 50%;
      top: 0%;
      transform: rotateZ(5deg) translate(-50%, -100%);
    }
    74%,84% {
      left: 50%;
      top: 0%;
      transform: rotateZ(0deg) translate(-50%, -100%);
    }
    85% {
      transform: rotateZ(180deg) translate(0%, 120%);
    }
    92% {
      left: 50%;
      top: 0%;
      transform: translate(-50%, -100%);
    }
  }
  @keyframes expand-light {
    10%,29%,59%,89% {
      transform: translate(-25%, -50%) scale(0, 0);
      border: 2px solid rgba(255, 255, 255, 0);
    }
    90%,20%,50% {
      transform: translate(-25%, -50%) scale(1, 1);
    }
    95%,96%,26%,27%,56%,57% {
      transform: translate(-25%, -50%) scale(2, 2);
      border: 2px solid rgba(255, 255, 255, 0.5);
    }
    0%,28%,58%,100% {
      transform: translate(-25%, -50%) scale(2.5, 2.5);
      border: 2px solid rgba(255, 255, 255, 0.2);
    }
  }
  @keyframes dance-fire {
    59%,89% {
      left: 40%;
      width: 0px;
      height: 0px;
    }
    90%,0%,7%,15%,23%,31%,39%,47%,55% {
      left: 40.8%;
      width: 16px;
      height: 20px;
      background: #FFC107;
    }
    94%,3%,11%,19%,27%,35%,43%,51%,58% {
      left: 41.2%;
      width: 16px;
      height: 20px;
      background: #FF9800;
    }
  }
  @keyframes changeto-lower {
    0%,70%,90% {
      padding: 0px;
      display: inline-block;
      border-radius: 100%;
      background: #673C63;
      border-width: 0 0 0 0;
      border: 0px solid #673C63;
      transform: translate(-90%, 0%);
    }
    71%,89% {
      background: none;
      border: solid #673C63;
      border-radius: 0px;
      border-width: 0 2px 2px 0;
      display: inline-block;
      padding: 1px;
      float: left;
      transform-origin: bottom left;
      transform: rotate(-45deg) translate(-50%, -65%);
      -webkit-transform: rotate(-45deg) translate(-50%, -65%);
    }
  }
  @keyframes changeto-greater {
    0%,70%,90% {
      top: 50%;
      padding: 0px;
      display: inline-block;
      border-radius: 100%;
      background: #673C63;
      border-width: 0 0 0 0;
      border: 0px solid #673C63;
      transform: translate(-80%, 0%);
    }
    71%,89% {
      top: 30%;
      background: none;
      border: solid #673C63;
      border-radius: 0px;
      border-width: 0 2px 2px 0;
      display: inline-block;
      padding: 1px;
      float: left;
      transform-origin: bottom left;
      transform: rotate(135deg) translate(-80%, 20%);
      -webkit-transform: rotate(135deg) translate(-80%, 20%);
    }
  }