.sun-cursor,
.sun-cursor-ring {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2100;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0);
  will-change: transform, opacity;
}

html.sun-cursor-ready,
html.sun-cursor-ready body,
html.sun-cursor-ready a,
html.sun-cursor-ready button,
html.sun-cursor-ready input,
html.sun-cursor-ready select,
html.sun-cursor-ready textarea,
html.sun-cursor-ready summary,
html.sun-cursor-ready [role="button"],
html.sun-cursor-ready [data-cursor-interactive] {
  cursor: none !important;
}

html.sun-cursor-ready .sun-cursor,
html.sun-cursor-ready .sun-cursor-ring {
  display: block;
}

.sun-cursor {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff6b35;
  box-shadow: 0 0 9px rgba(255, 107, 53, .9), 0 0 20px rgba(232, 200, 74, .45);
  transition: width .16s ease, height .16s ease, background .16s ease, box-shadow .16s ease, opacity .12s ease;
}

.sun-cursor-ring {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(232, 200, 74, .72);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(255, 107, 53, .24);
  transition: width .2s ease, height .2s ease, border-color .2s ease, box-shadow .2s ease, opacity .12s ease;
}

.sun-cursor.is-visible,
.sun-cursor-ring.is-visible {
  opacity: 1;
}

.sun-cursor.is-interactive {
  width: 14px;
  height: 14px;
  background: #e8c84a;
  box-shadow: 0 0 12px rgba(232, 200, 74, .95), 0 0 28px rgba(255, 107, 53, .55);
}

.sun-cursor-ring.is-interactive {
  width: 42px;
  height: 42px;
  border-color: rgba(255, 107, 53, .9);
  box-shadow: 0 0 18px rgba(232, 200, 74, .32);
}
