/* =========================================================
   Home Who Image
========================================================= */
section[data-module="home-who-image"] {
  position: relative;
}

section[data-module="home-who-image"] * {
  box-sizing: border-box;
}

section[data-module="home-who-image"] .hwi-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

section[data-module="home-who-image"] .hwi-visual {
  position: relative;
  width: min(630px, 100%);
  aspect-ratio: 1 / 1;
  overflow: visible;
}

/* =========================================================
   Main Circular Image
========================================================= */
section[data-module="home-who-image"] .hwi-image-circle {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background: #e9eef0;
  z-index: 2;
}

section[data-module="home-who-image"] .hwi-image-circle img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  border-radius: 50%;
}

/* =========================================================
   Orbit Layers
========================================================= */
section[data-module="home-who-image"] .hwi-orbit {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

section[data-module="home-who-image"] .orbit-green {
  animation-name: hwiOrbitClockwise;
  animation-duration: 16s;
}

section[data-module="home-who-image"] .orbit-blue {
  animation-name: hwiOrbitCounter;
  animation-duration: 13s;
}

section[data-module="home-who-image"] .orbit-yellow {
  animation-name: hwiOrbitClockwise;
  animation-duration: 18s;
}

/* =========================================================
   Orbit Dots
========================================================= */
section[data-module="home-who-image"] .hwi-dot {
  position: absolute;
  display: block;
  border-radius: 50%;
}

/* Green hollow circle */
section[data-module="home-who-image"] .hwi-dot-green {
  width: 68px;
  height: 68px;
  border: 4px solid #57c14d;
  background: transparent;
  left: 4%;
  top: 18%;
  transform: translate(-50%, -50%);
}

/* Blue filled circle */
section[data-module="home-who-image"] .hwi-dot-blue {
  width: 52px;
  height: 52px;
  background: #39b9df;
  right: 3%;
  top: 33%;
  transform: translate(50%, -50%);
}

/* Yellow hollow circle */
section[data-module="home-who-image"] .hwi-dot-yellow {
  width: 95px;
  height: 95px;
  border: 5px solid #efc54a;
  background: transparent;
  right: 58%;
  bottom: -2%;
  transform: translate(50%, 50%);
}

/* =========================================================
   Animation
========================================================= */
@keyframes hwiOrbitClockwise {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes hwiOrbitCounter {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}

/* =========================================================
   Responsive - Laptop
========================================================= */
@media (max-width: 1499px) and (min-width: 992px) {
  section[data-module="home-who-image"] .hwi-visual {
    width: min(540px, 100%);
  }

  section[data-module="home-who-image"] .hwi-dot-green {
    width: 58px;
    height: 58px;
    border-width: 4px;
  }

  section[data-module="home-who-image"] .hwi-dot-blue {
    width: 46px;
    height: 46px;
  }

  section[data-module="home-who-image"] .hwi-dot-yellow {
    width: 62px;
    height: 62px;
    border-width: 4px;
  }
}

/* =========================================================
   Responsive - Tablet / Mobile
========================================================= */
@media (max-width: 767px) {
  section[data-module="home-who-image"] .hwi-visual {
    width: min(360px, 100%);
  }

  section[data-module="home-who-image"] .hwi-dot-green {
    width: 42px;
    height: 42px;
    border-width: 3px;
    left: 2%;
    top: 20%;
  }

  section[data-module="home-who-image"] .hwi-dot-blue {
    width: 34px;
    height: 34px;
    right: 2%;
    top: 34%;
  }

  section[data-module="home-who-image"] .hwi-dot-yellow {
    width: 48px;
    height: 48px;
    border-width: 4px;
    right: 18%;
    bottom: 2%;
  }

  section[data-module="home-who-image"] .orbit-green {
    animation-duration: 14s;
  }

  section[data-module="home-who-image"] .orbit-blue {
    animation-duration: 11s;
  }

  section[data-module="home-who-image"] .orbit-yellow {
    animation-duration: 16s;
  }
}