body {
   margin: 0;
   padding: 0;
   background-color: #000;
   overflow: hidden;
   height: 100vh;
 }
 
#sfc {
    position: absolute;
    left: 0px;
    top: 0px;
overflow: hidden;
    display: none;
width: 100%;
height: 100%;	
  }
 
.heart-container {
	overflow: hidden;	
    float: left;
    position: absolute;
    top: -20px;
    left: -20px;
    -moz-animation-duration: 8s;
    -moz-animation-name: fall;
    -moz-animation-timing-function: linear;
    -webkit-animation-duration: 8s;
    -webkit-animation-name: fall;
    -webkit-animation-timing-function: linear;
}
@-moz-keyframes fall {
    from {
        top: -20px;
    }
    to {
        top: 100%;
    }
}
@-webkit-keyframes fall {
    from {
        top: -10%;
    }
    to {
        top: 100%;
    }
}
.heart {
    overflow: hidden;
    height: 25px;
    width: 25px;
    font-size: 16px;
    text-align: center;
    color: red;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: swing;
    -moz-animation-timing-function: ease-in-out;
    -moz-animation-iteration-count: infinite;
    -moz-animation-direction: alternate;
    -moz-transform-origin: center center;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: swing;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    -webkit-transform-origin: center center;
}
@-moz-keyframes swing {
    from {
        -moz-transform: rotate(-45deg) translateX(10px);
    }
    to {
        -moz-transform: rotate(45deg) translateX(-10px);
    }
}
@-moz-keyframes spin {
    from {
        -moz-transform: scaleX(1) translateX(5px);
    }
    50% {
        -moz-transform: scaleX(0.1);
    }
    to {
        -moz-transform: scaleX(1) translateX(-5px);
    }
}
@-webkit-keyframes swing {
    from {
        -webkit-transform: rotate(-45deg) translateX(10px);
    }
    to {
        -webkit-transform: rotate(45deg) translateX(-10px);
    }
}
@-webkit-keyframes spin {
    from {
        -webkit-transform: scaleX(1) translateX(5px);
    }
    50% {
        -webkit-transform: scaleX(0.1);
    }
    to {
        -webkit-transform: scaleX(1) translateX(-5px);
    }
}
#hh {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
  .sf {
    position: fixed;
    background-color: #FFFFFF;
    user-select: none;
    z-index: 1000;
    pointer-events: none;
    border-radius: 50%;
    width: 10px;
    height: 10px;
overflow: hidden;
    display: none;
  }
.rain {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2222;
  display: none;
overflow: hidden;
 
}

.rain.back-row {
  
  z-index: 1;
  bottom: 5px;
  opacity: 0.5;
}

body.back-row-toggle .rain.back-row {
  display: block;
}

.drop {
  position: absolute;
  bottom: 100%;
  width: 15px;
  height: 100px;
  pointer-events: none;
  animation: drop 0.5s linear infinite;
}

@keyframes drop {
  0% {
    transform: translateY(0vh);
  }
  75% {
    transform: translateY(90vh);
  }
  100% {
    transform: translateY(90vh);
  }
}

.stem {
  width: 1px;
  height: 99%;
  margin-left: 7px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.25));
  animation: stem 0.5s linear infinite;
}

@keyframes stem {
  0% {
    opacity: 1;
  }
  65% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.splat {
  width: 15px;
  height: 10px;
  border-top: 2px dotted rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  opacity: 1;
  transform: scale(0);
  animation: splat 0.5s linear infinite;
  
}

body.splat-toggle .splat {
  display: block;
}

@keyframes splat {
  0% {
    opacity: 1;
    transform: scale(0);
  }
  80% {
    opacity: 1;
    transform: scale(0);
  }
  90% {
    opacity: 0.5;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}
.smoke {
  position: absolute;
  top: 0px;
  left: 0px;
  overflow: hidden;
  display: none;
}
.hh {
  display: none;
}
.toggles {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.toggle {
  position: absolute;
  left: 20px;
  width: 50px;
  height: 50px;
  line-height: 51px;
  box-sizing: border-box;
  text-align: center;
  font-family: sans-serif;
  font-size: 10px;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.2);
  color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.toggle:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

.toggle:active {
  background-color: rgba(255, 255, 255, 0.3);
}

.toggle.active {
  background-color: rgba(255, 255, 255, 0.4);
}

.splat-toggle {
  top: 20px;
}
 
.back-row-toggle {
  top: 90px;
  line-height: 12px;
  padding-top: 14px;
}

.single-toggle {
  top: 160px;
}

body.single-toggle .drop {
  display: none;
}

body.single-toggle .drop:nth-child(10) {
  display: block;
}
.night{
  position: absolute;/* position: relative; */
  width: 100%;
  height: 100%;
  transform: rotateZ(40deg);
 
  display: none;
}

.star{
  position: absolute;
  left: 50%;
  top: 50%;
  height: 4px;
  background: linear-gradient(-45deg, #a0f9ff, rgba(0, 0, 255, 0));
  border-radius: 999px;
  filter: drop-shadow(0 0 6px #69daff);
  animation: tail 3s ease-in-out infinite,
             falling 3s ease-in-out infinite;
}

@keyframes tail{
  0%{
    width: 0;
  }
  30%{
    width: 100px;
  }
  100%{
    width: 0;
  }
}

@keyframes falling{
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(300px);
  }
}

.star::before, .star::after{
  content: '';
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  height: 4px;
  background: linear-gradient(-45deg, rgba(0, 0, 255, 0), #69daff, rgba(0, 0, 255, 0));
  border-radius: 100%;
  transform: translateX(50%) rotateZ(45deg);
  animation: shining 3s ease-in-out infinite;
}

@keyframes shining{
  0%{
    width: 0;
  }
  50%{
    width: 30px;
  }
  100%{
    width: 0;
  }
}

.star::after{
  transform: translateX(50%) rotateZ(-45deg);
}

.star:nth-child(1){
  top: calc(50% - 100px);
  left: calc(50% - 250px);
  animation-delay: 1s;
}

.star:nth-child(1)::before, .star:nth-child(1)::after{
  animation-delay: 1s;
}

.star:nth-child(2){
  top: calc(50% - 50px);
  left: calc(50% - 200px);
  animation-delay: 1.2s;
}

.star:nth-child(2)::before, .star:nth-child(2)::after{
  animation-delay: 1.2s;
}

.star:nth-child(3){
  top: calc(50% - 0px);
  left: calc(50% - 150px);
  animation-delay: 1.4s;
}

.star:nth-child(3)::before, .star:nth-child(3)::after{
  animation-delay: 1.4s;
}

.star:nth-child(4){
  top: calc(50% - -50px);
  left: calc(50% - 200px);
  animation-delay: 1.6s;
}

.star:nth-child(4)::before, .star:nth-child(4)::after{
  animation-delay: 1.6s;
}

.star:nth-child(5){
  top: calc(50% - -100px);
  left: calc(50% - 250px);
  animation-delay: 1.8s;
}

.star:nth-child(5)::before, .star:nth-child(5)::after{
  animation-delay: 1.8s;
}

.crrr{
 display: none;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);
  
}
#canvas1, #canvas2, #canvas3 {
 height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

#canvas3 {
  z-index: 5;
}

#canvas2 {
  z-index: 10;
}

#canvas1 {
  z-index: 100;
}




      