
.main-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 560px;
  overflow: hidden;
  background: #ffffff;
}
.main {
  margin: 0 auto;
  width: 480px;
  height: 480px;
  position: relative;
}
.big-circle {
  height: 100%;
  width: 100%;
  position: relative;
  border: 3px solid transparent;
  border-radius: 50%;
  background-image: linear-gradient(#fff, #fff),
    linear-gradient(135deg, #8c52ff, #00bf63);
  background-origin: border-box;
  background-clip: content-box, border-box;

  display: flex;
  align-items: center;
  justify-content: center;

  animation: Rotate 20s linear infinite;
}
.icon-block {
  width: 64px;
  height: 64px;
  position: absolute;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  background-image: linear-gradient(135deg, #8c52ff 0%, #00bf63 100%);
  box-shadow: 0 0 15px rgba(140, 82, 255, 0.5),
              0 0 25px rgba(0, 191, 99, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.icon-block:hover {
  transform: scale(1.1);
  box-shadow: 0 0 25px rgba(140, 82, 255, 0.8),
              0 0 35px rgba(0, 191, 99, 0.6);
}

.icon-block img {
  margin: 0 auto;
  width: 86%;
  animation: Rotate-reverse 20s linear infinite;
}
.icon-block:first-child {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.icon-block:nth-child(2) {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
}
.icon-block:nth-child(3) {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}
.icon-block:nth-child(4) {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
.circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 75%;
  height: 75%;
  border: 3px solid transparent;
  border-radius: 50%;

  background-image: linear-gradient(#fff, #fff),
    linear-gradient(135deg, #8c52ff, #00bf63);
  background-origin: border-box;
  background-clip: content-box, border-box;

  animation: circle-rotate 20s linear infinite;
}

.circle .icon-block img {
  animation: img-rotate 20s linear infinite;
}
.center-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.center-logo img {
  max-width: 200px;
  filter: drop-shadow(0 0 12px rgba(140, 82, 255, 0.4));
}
@keyframes Rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes Rotate-reverse {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}

@keyframes circle-rotate {
  from {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(405deg);
  }
}

@keyframes img-rotate {
  from {
    transform: rotate(-45deg);
  }
  to {
    transform: rotate(-405deg);
  }
}
