Jump to content

User:Midtv22342/EmojiRain.css

From Wikipedia, the free encyclopedia
/* Petal styles */
.petal {
  color: #ff69b4; /* Light pink color */
  font-size: 1.5em; /* Slightly larger to represent petals */
  font-family: 'Arial', sans-serif;
  text-shadow: 0 0 5px #000; /* Optional, can remove if not needed */
  transform: rotate(0deg); /* Optional, can add rotation effect */
}

/* Falling animation for petals */
@keyframes petals-fall {
  0% {
    top: -10%;
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}

/* Gentle shaking effect for petals */
@keyframes petals-shake {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(30px) rotate(10deg);
  }
  100% {
    transform: translateX(0px) rotate(0deg);
  }
}

.petal {
  position: fixed;
  top: -10%;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: petals-fall, petals-shake;
  animation-duration: 10s, 4s; /* Adjust timing as needed */
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
  animation-play-state: running, running;
}

/* Individual petal position and animation delays */
.petal:nth-of-type(1) {
  left: 1%;
  animation-delay: 0s, 0s;
}

.petal:nth-of-type(2) {
  left: 10%;
  animation-delay: 1s, 1s;
}

.petal:nth-of-type(3) {
  left: 20%;
  animation-delay: 3s, 0.5s;
}

.petal:nth-of-type(4) {
  left: 30%;
  animation-delay: 5s, 2s;
}

.petal:nth-of-type(5) {
  left: 40%;
  animation-delay: 2s, 3s;
}

.petal:nth-of-type(6) {
  left: 50%;
  animation-delay: 4s, 1s;
}

.petal:nth-of-type(7) {
  left: 60%;
  animation-delay: 6s, 2s;
}

.petal:nth-of-type(8) {
  left: 70%;
  animation-delay: 1.5s, 1s;
}

.petal:nth-of-type(9) {
  left: 80%;
  animation-delay: 3s, 0s;
}

.petal:nth-of-type(10) {
  left: 90%;
  animation-delay: 2s, 1.5s;
}

/* Rain Drop Styling */
.rain {
  color: #00f; /* Blue color for raindrops */
  font-size: 1em;
  font-family: Arial, sans-serif;
  text-shadow: 0 0 5px #00f; /* Glow effect for raindrops */
}

@keyframes rain-fall {
  0% {
    top: -10%;
  }
  100% {
    top: 100%;
  }
}

@keyframes rain-splash {
  0% {
    transform: scaleY(1) translateY(0px);
  }
  50% {
    transform: scaleY(1.5) translateY(10px); /* Splash effect */
  }
  100% {
    transform: scaleY(1) translateY(0px);
  }
}

.rain {
  position: fixed;
  top: -10%;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: rain-fall, rain-splash;
  animation-duration: 5s, 0.5s; /* Faster fall and splash rates */
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
  animation-play-state: running, running;
}

.rain:nth-of-type(1) {
  left: 2%;
  animation-delay: 0s, 0s;
}

.rain:nth-of-type(2) {
  left: 12%;
  animation-delay: 1s, 0s;
}

.rain:nth-of-type(3) {
  left: 22%;
  animation-delay: 2s, 0s;
}

.rain:nth-of-type(4) {
  left: 32%;
  animation-delay: 3s, 0s;
}

.rain:nth-of-type(5) {
  left: 42%;
  animation-delay: 4s, 0s;
}

.rain:nth-of-type(6) {
  left: 52%;
  animation-delay: 5s, 0s;
}

.rain:nth-of-type(7) {
  left: 62%;
  animation-delay: 6s, 0s;
}

.rain:nth-of-type(8) {
  left: 72%;
  animation-delay: 7s, 0s;
}

.rain:nth-of-type(9) {
  left: 82%;
  animation-delay: 8s, 0s;
}

.rain:nth-of-type(10) {
  left: 92%;
  animation-delay: 9s, 0s;
}

/* Firefly styles */
.firefly {
  color: #FFD700; /* Golden color */
  font-size: 1em;
  font-family: 'Arial', sans-serif;
  opacity: 0;
  text-shadow: 0 0 10px #FFD700;
}

/* Flickering animation for fireflies */
@keyframes firefly-flicker {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

.firefly {
  position: fixed;
  top: 0;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: firefly-flicker;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

/* Random positioning for fireflies */
.firefly:nth-of-type(1) { left: 5%; top: 10%; animation-delay: 0s; }
.firefly:nth-of-type(2) { left: 20%; top: 30%; animation-delay: 1.5s; }
.firefly:nth-of-type(3) { left: 35%; top: 50%; animation-delay: 3s; }
.firefly:nth-of-type(4) { left: 50%; top: 70%; animation-delay: 0.5s; }
.firefly:nth-of-type(5) { left: 65%; top: 20%; animation-delay: 2s; }
.firefly:nth-of-type(6) { left: 80%; top: 40%; animation-delay: 4s; }
.firefly:nth-of-type(7) { left: 95%; top: 60%; animation-delay: 1s; }
.firefly:nth-of-type(8) { left: 10%; top: 80%; animation-delay: 2.5s; }
.firefly:nth-of-type(9) { left: 25%; top: 15%; animation-delay: 3.5s; }
.firefly:nth-of-type(10) { left: 40%; top: 55%; animation-delay: 0.3s; }

/* Leaf styles */
.leaf {
  color: #ff4500; /* Orange color for leaves */
  font-size: 2em; /* Size of the leaves */
  position: fixed;
  top: -10%;
  z-index: 9999;
  user-select: none;
  animation-name: leaves-fall, leaves-twirl;
  animation-duration: 10s, 5s; /* Adjust timing as needed */
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
}

@keyframes leaves-fall {
  0% {
    top: -10%;
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}

@keyframes leaves-twirl {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Individual leaf positions and delays */
.leaf:nth-of-type(1) {
  left: 10%;
  animation-delay: 0s, 0s;
}

.leaf:nth-of-type(2) {
  left: 20%;
  animation-delay: 2s, 1s;
}

.leaf:nth-of-type(3) {
  left: 30%;
  animation-delay: 4s, 2s;
}

.leaf:nth-of-type(4) {
  left: 40%;
  animation-delay: 6s, 3s;
}

.leaf:nth-of-type(5) {
  left: 50%;
  animation-delay: 8s, 4s;
}

.leaf:nth-of-type(6) {
  left: 60%;
  animation-delay: 10s, 5s;
}

.leaf:nth-of-type(7) {
  left: 70%;
  animation-delay: 1s, 6s;
}

.leaf:nth-of-type(8) {
  left: 80%;
  animation-delay: 3s, 7s;
}

.leaf:nth-of-type(9) {
  left: 90%;
  animation-delay: 5s, 8s;
}

/* Bubble styles */
.bubble {
  color: #00BFFF; /* DeepSkyBlue color */
  font-size: 1.5em;
  font-family: 'Arial', sans-serif;
  opacity: 0.8;
  text-shadow: 0 0 10px #00BFFF;
}

/* Floating animation for bubbles */
@keyframes bubble-float {
  0% {
    bottom: -10%;
    opacity: 0.5;
  }
  100% {
    bottom: 100%;
    opacity: 0;
  }
}

.bubble {
  position: fixed;
  bottom: -10%;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: bubble-float;
  animation-duration: 12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

/* Individual bubble position and animation delays */
.bubble:nth-of-type(1) { left: 5%; animation-delay: 0s; }
.bubble:nth-of-type(2) { left: 15%; animation-delay: 1s; }
.bubble:nth-of-type(3) { left: 25%; animation-delay: 3s; }
.bubble:nth-of-type(4) { left: 35%; animation-delay: 5s; }
.bubble:nth-of-type(5) { left: 45%; animation-delay: 2s; }
.bubble:nth-of-type(6) { left: 55%; animation-delay: 4s; }
.bubble:nth-of-type(7) { left: 65%; animation-delay: 6s; }
.bubble:nth-of-type(8) { left: 75%; animation-delay: 1.5s; }
.bubble:nth-of-type(9) { left: 85%; animation-delay: 3s; }
.bubble:nth-of-type(10) { left: 95%; animation-delay: 2s; }

/* Letter styles */
.letter {
  color: #000; /* Black color for letters */
  font-size: 2em; /* Size of the letters */
  font-family: 'Arial', sans-serif;
  text-shadow: 0 0 5px #fff; /* Optional, can add glow effect */
  position: fixed;
  top: -10%;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: letters-fall;
  animation-duration: 10s; /* Adjust timing as needed */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

/* Falling animation for letters */
@keyframes letters-fall {
  0% {
    top: -10%;
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}

/* Individual letter positions and delays */
.letter:nth-of-type(1) {
  left: 5%;
  animation-delay: 0s;
}

.letter:nth-of-type(2) {
  left: 15%;
  animation-delay: 1s;
}

.letter:nth-of-type(3) {
  left: 25%;
  animation-delay: 2s;
}

.letter:nth-of-type(4) {
  left: 35%;
  animation-delay: 3s;
}

.letter:nth-of-type(5) {
  left: 45%;
  animation-delay: 4s;
}

.letter:nth-of-type(6) {
  left: 55%;
  animation-delay: 5s;
}

.letter:nth-of-type(7) {
  left: 65%;
  animation-delay: 6s;
}

.letter:nth-of-type(8) {
  left: 75%;
  animation-delay: 7s;
}

.letter:nth-of-type(9) {
  left: 85%;
  animation-delay: 8s;
}

.letter:nth-of-type(10) {
  left: 95%;
  animation-delay: 9s;
}

/* Base lantern styles */
.lantern {
  color: #ffae42; /* Yellowish-reddish color */
  font-size: 1.5em; /* Adjust size as needed */
  position: fixed;
  bottom: -10%;
  z-index: 9999;
  animation-name: rise, drift, glow; /* Glow to animation-name */
  animation-duration: 10s, 5s, 2s; /* Duration for glow animation */
  animation-timing-function: linear, ease-in-out, ease-in-out; /* Timing function for glow */
  animation-iteration-count: infinite, infinite, infinite; /* Infinite loop for glow */
}

/* Animation for rising lanterns */
@keyframes rise {
  0% {
    bottom: -10%;
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    bottom: 100%;
    opacity: 1;
  }
}

/* Animation for drifting lanterns */
@keyframes drift {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0px);
  }
}

/* Animation for glowing lanterns */
@keyframes glow {
  0%, 100% {
    text-shadow: 0 0 5px rgba(255, 165, 79, 0.8), 0 0 10px rgba(255, 69, 0, 0.6), 0 0 15px rgba(255, 0, 0, 0.4);
    opacity: 1;
  }
  50% {
    text-shadow: 0 0 20px rgba(255, 165, 79, 1), 0 0 30px rgba(255, 69, 0, 0.8), 0 0 40px rgba(255, 0, 0, 0.6);
    opacity: 0.8;
  }
}

/* Position and animation delays for individual lanterns */
.lantern:nth-of-type(1) {
  left: 5%;
  animation-delay: 0s;
  animation-duration: 10s, 5s;
}

.lantern:nth-of-type(2) {
  left: 15%;
  animation-delay: 2.3s;
  animation-duration: 12s, 5.5s;
}

.lantern:nth-of-type(3) {
  left: 30%;
  animation-delay: 1.1s;
  animation-duration: 9s, 4.8s;
}

.lantern:nth-of-type(4) {
  left: 45%;
  animation-delay: 3.7s;
  animation-duration: 11s, 5.2s;
}

.lantern:nth-of-type(5) {
  left: 60%;
  animation-delay: 0.9s;
  animation-duration: 10s, 5s;
}

.lantern:nth-of-type(6) {
  left: 75%;
  animation-delay: 4.4s;
  animation-duration: 9.5s, 4.6s;
}

.lantern:nth-of-type(7) {
  left: 90%;
  animation-delay: 1.8s;
  animation-duration: 11.5s, 5.1s;
}

/* Meteor shower styles */
.meteor {
  position: fixed;
  top: -10%; /* Start above the viewport */
  width: 5px;
  height: 100px;
  background: linear-gradient(-130deg, #ffffff, rgba(255, 255, 255, 0)); /* Tail gradient */
  opacity: 0.9;
  z-index: 1;
  transform: rotate(-135deg); /* Ensure initial rotation */
  animation-name: fall, flicker;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.8); /* Glow effect */
  animation-duration: 2s, 0.2s;
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
  text-shadow: 0 0 8px #ffd700, 0 0 15px #ffd700; /* Golden glow */
}
/* Add a circular ball at the beginning of the tail */
.meteor::after {
  content: "";
  position: absolute;
  width: 9px; /* Diameter of the ball */
  height: 10px;
  background: #ffffff; /* Color of the ball */
  border-radius: 50%; /* Makes the ball round */
  top: -5px; /* Position the ball at the start of the tail */
  left: -2.5px; /* Center the ball horizontally */
  transform: translateY(50%); /* Adjust vertical alignment */
  z-index: 10; /* Ensure ball is above the tail */
}

/* Animation for falling meteors */
@keyframes fall {
  0% {
    transform: translateX(0) translateY(0) rotate(-130deg); /* Initial state with correct rotation */
  }
  100% {
    transform: translateX(-500px) translateY(500px) rotate(-145deg); /* Moves diagonally left-down with correct rotation */
  }
}

/* Flicker effect for meteors */
@keyframes flicker {
  0%, 50%, 100% {
    opacity: 0.8;
  }
  25%, 75% {
    opacity: 0.4;
  }
}

/* Individual meteor positions and delays */
.meteor:nth-of-type(1) {
  right: 0;
  animation-delay: 0s;
  animation-duration: 1.5s; /* Faster */
}

.meteor:nth-of-type(2) {
  right: 10%;
  animation-delay: 0.5s;
  animation-duration: 2s; /* Default speed */
}

.meteor:nth-of-type(3) {
  right: 20%;
  animation-delay: 1s;
  animation-duration: 2.5s; /* Slower */
}

.meteor:nth-of-type(4) {
  right: 30%;
  animation-delay: 1.5s;
  animation-duration: 1.8s;
}

.meteor:nth-of-type(5) {
  right: 40%;
  animation-delay: 2s;
  animation-duration: 1.7s;
}

.meteor:nth-of-type(6) {
  right: 50%;
  animation-delay: 0.7s;
  animation-duration: 2.2s;
}

.meteor:nth-of-type(7) {
  right: 60%;
  animation-delay: 1.3s;
  animation-duration: 1.6s;
}

.meteor:nth-of-type(8) {
  right: 70%;
  animation-delay: 0.2s;
  animation-duration: 2.8s; /* Even slower */
}

.meteor:nth-of-type(9) {
  right: 80%;
  animation-delay: 2.5s;
  animation-duration: 1.4s;
}

.meteor:nth-of-type(10) {
  right: 90%;
  animation-delay: 1.8s;
  animation-duration: 1.9s;
}

/* Ripple styles */
.ripple {
  border: 2px solid #00f; /* Blue color for the ripples */
  border-radius: 50%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  opacity: 0;
  animation-name: ripple-expand;
  animation-duration: 3s; /* Adjust timing as needed */
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
}

@keyframes ripple-expand {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}

/* Multiple ripple effects */
.ripple:nth-of-type(1) {
  animation-delay: 0s;
}

.ripple:nth-of-type(2) {
  animation-delay: 0.5s;
}

.ripple:nth-of-type(3) {
  animation-delay: 1s;
}

.ripple:nth-of-type(4) {
  animation-delay: 1.5s;
}