.nav-container {
  display: flex;
  gap: 36px;
  align-items: center;
  width: max-content;
  margin-top: 57px;
}

.link {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 100px;
  cursor: pointer;
}

.icon {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.3s ease;
  pointer-events: none;
}

.default-icon {
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
}

.hover-icon {
  opacity: 0;
  z-index: 1;
  transform: translate(-50%, -58px);
  width: 154px;
  height: 213px;
  pointer-events: none;
}

.rotating-icon {
  opacity: 0;
  pointer-events: auto;
  z-index: 2;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: opacity 0.3s ease;
  width: 169px;
  height: 169px;
  pointer-events: none;
}

.link:hover .default-icon {
  opacity: 0;
}

.link:hover .hover-icon {
  opacity: 1;
}

.link:hover .rotating-icon {
  opacity: 1;
  animation: spin 13s linear infinite;
}

.active .default-icon {
  opacity: 0;
}

.active .hover-icon {
  opacity: 1;
}

.active .rotating-icon {
  opacity: 1;
  animation: spin 13s linear infinite;
}

@keyframes spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.nav-container:has(.link:hover):has(.link:not(#Telegram):hover) #Telegram.active .hover-icon {
  opacity: 0;
}

.nav-container:has(.link:hover):has(.link:not(#Telegram):hover) #Telegram.active .default-icon {
  opacity: 1;
}

.nav-container:has(.link:hover):has(.link:not(#Telegram):hover) #Telegram.active .rotating-icon {
  opacity: 0;
}

@media (max-width: 1439px) {
  .nav-container {
    margin-top: 55px;
    gap: 33px;
  }

  .link {
    width: 89px;
    height: 89px;
  }

  .default-icon {
    width: 89px;
    height: 89px;
  }

  .hover-icon {
    width: 126px;
    height: 170px;
    transform: translate(-50%, -47px);
  }

  .rotating-icon {
    width: 144px;
    height: 144px;
  }
}

@media (max-width: 1279px) {
  .nav-container {
    gap: 33px;
    margin-top: 44px;
    margin-bottom: 127px;
  }
}

@media (max-width: 743px) {
  .nav-container {
    display: flex;
    justify-content: space-between;
    gap: 17px;
    margin-top: 39px;
    margin-bottom: 58px;
    width: 100%;
  }

  .link {
    width: 48px;
    height: 48px;
  }

  .default-icon {
    width: 48px;
    height: 48px;
  }

  .hover-icon {
    transform: translate(-50%, -25px);
    width: 68px;
    height: 92px;
  }

  .rotating-icon {
    width: 78px;
    height: 78px;
  }
}