.diagram .line {
  border: 1px solid transparent;
}

.diagram .line.debian {
  background-color: #a80030;
}

.diagram .line.ubuntu {
  background-color: #f47421;
}

.diagram .line.redhat {
  background-color: #000000;
}

.diagram .line.fedora {
  background-color: #294172;
}

.diagram .line.window {
  background-color: var(--primary-color);
}

.diagram .line.s3 {
  background-color: #ff9709;
}

.diagram .line.ggcloud {
  background-color: var(--white-color);
}

.diagram .line.ggcloud.blue {
  border-color: var(--primary-color);
}

.diagram .line.centos {
  background-color: #932279;
}

.diagram .line.macos {
  background-color: #515151;
}

.diagram .line.azure {
  background-color: #e1e1e1;
}

.diagram .line.dell {
  background-color: #0076cd;
}

.diagram {
  display: flex;
  align-items: center;
  gap: 4px;
}

.diagram .device {
  width: 160px;
  min-width: 160px;
  height: 160px;
  border-radius: 20px;
  border: 2px solid var(--light-black-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

.diagram .device .device__img {
  border-radius: 50%;
  height: 100px;
  width: 100px;
  border: 2px solid var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.diagram .device .device__img.around,
.diagram .device .device__img.multi {
  border: 0;
}

.diagram .device .device__img.around img {
  width: 108px;
  height: auto;
  max-height: 108px;
}

.diagram .device .device__img.multi img {
  width: 130px;
  height: auto;
  max-height: 135px;
}

.diagram .device .device__img .more__device {
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  background-color: var(--primary-color);
  color: var(--main-white-color);
  position: absolute;
  left: 50%;
  bottom: -10%;
  transform: translate(-50%, 0);
  padding: 0 8px;
  border-radius: 20px;
}

.diagram .device .device__img img {
  width: 90px;
  height: 90px;
  object-fit: cover;
}




.diagram .from {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
  max-width: 350px;
}

.diagram .to {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
  max-width: 350px;
}

.diagram .link {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.diagram .link .line {
  min-width: 80px;
  max-width: 80px;
  min-height: 16px;
  max-height: 16px;
  border-radius: 30px;
  border: 1px solid var(--primary-color);
  position: relative;
  overflow: hidden;
}



.diagram .link .hyperlink__img {
  width: 60px;
  height: 60px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  background-color: var(--main-white-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

.diagram .link .hyperlink__img img {
  width: 30px;
  height: auto;
  object-fit: cover;
}

.diagram .link .line .animated__img {
  width: auto;
  height: 12px;
  position: absolute;
  top: 50%;
  animation: moveRight 1s linear infinite;
}

@keyframes moveRight {
  0% {
    transform: translate(-200%, -50%);
  }

  100% {
    transform: translate(200%, -50%);
  }
}