.svg-frame {
  position: relative;
  width: 300px;
  height: 300px;
  transform-style: preserve-3d;
  display: flex;
  justify-content: center;
  align-items: center;
}

.svg-frame svg {
  position: absolute;
  transition: .5s;
  z-index: calc(1 - (0.2 * var(--j)));
  transform-origin: center;
  width: 344px;
  height: 344px;
  fill: none;
}

.svg-frame:hover svg {
  transform: rotate(-80deg) skew(30deg) translateX(calc(45px * var(--i))) translateY(calc(-35px * var(--i)));
}

.svg-frame svg #center {
  transition: .5s;
  transform-origin: center;
}

.svg-frame:hover svg #center {
  transform: rotate(-30deg) translateX(45px) translateY(-3px);
}

#out2 {
  animation: rotate16 7s ease-in-out infinite alternate;
  transform-origin: center;
}

#out3 {
  animation: rotate16 3s ease-in-out infinite alternate;
  transform-origin: center;
  stroke: #ff0;
}

#inner3,
#inner1 {
  animation: rotate16 4s ease-in-out infinite alternate;
  transform-origin: center;
}

#center1 {
  fill: #ff0;
  animation: rotate16 2s ease-in-out infinite alternate;
  transform-origin: center;
}



@keyframes rotate16 {
  to {
    transform: rotate(360deg);
  }
}


/* Loader styles */
#loader {
    background-color: rgba(0, 0, 0, 0.8); /* Semi-transparent background */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999; /* Ensure it's on top */
}

/* Logo and animated circles */
#loader .relative {
    position: relative;
}

#loader img {
    width: 100px; /* Adjust size as needed */
    height: auto;
}

.circle {
    position: absolute;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.6);
    animation: move 2s infinite;
}

.circle-1 {
    width: 20px;
    height: 20px;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 0s;
}

.circle-2 {
    width: 30px;
    height: 30px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-delay: 0.5s;
}

.circle-3 {
    width: 25px;
    height: 25px;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 1s;
}

@keyframes move {
    0% {
        transform: translateY(-20px) rotate(0deg);
    }
    50% {
        transform: translateY(20px) rotate(180deg);
    }
    100% {
        transform: translateY(-20px) rotate(360deg);
    }
}

/* Ensure the loader covers the full screen */
/*body {*/
/*    margin: 0;*/
/*    overflow: hidden; */
/*}*/

/* Hide the main content initially */
.hidden {
    display: none;
}
