/* Start custom CSS for html, class: .elementor-element-47cc03d3 */.elementor-822 .elementor-element.elementor-element-47cc03d3 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.ngc-circles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.ngc-circle {
  position: absolute;
  border-radius: 50%;
  opacity: 0.55;
  will-change: transform;
}

.ngc-circle--lg { width: 130px; height: 130px; }
.ngc-circle--sm { width:  70px; height:  70px; }

.ngc-circle--blue { background: #C3D2FFb5; }
.ngc-circle--teal { background: #32D9D3b5; }

.ngc-circle:nth-child(1) { animation: drift1 14s ease-in-out infinite; }
.ngc-circle:nth-child(2) { animation: drift2 18s ease-in-out infinite; animation-delay: -3s; }
.ngc-circle:nth-child(3) { animation: drift3 16s ease-in-out infinite; animation-delay: -5s; }
.ngc-circle:nth-child(4) { animation: drift1 13s ease-in-out infinite; animation-delay: -2s; }
.ngc-circle:nth-child(5) { animation: drift2 20s ease-in-out infinite; animation-delay: -7s; }

@keyframes drift1 {
  0%, 100% { transform: translate(  0px,   0px); }
  33%       { transform: translate( 18px, -22px); }
  66%       { transform: translate(-12px,  14px); }
}
@keyframes drift2 {
  0%, 100% { transform: translate(  0px,   0px); }
  33%       { transform: translate(-20px,  15px); }
  66%       { transform: translate( 10px, -18px); }
}
@keyframes drift3 {
  0%, 100% { transform: translate(  0px,   0px); }
  33%       { transform: translate( 14px,  20px); }
  66%       { transform: translate(-16px, -10px); }
}

@media (max-width: 768px) {
  .ngc-circle.mobile-hide { display: none; }
  .ngc-circle--lg { width: 90px; height: 90px; }
  .ngc-circle--sm { width: 50px; height: 50px; }
  .ngc-circle { opacity: 0.5; }
}

@media (prefers-reduced-motion: reduce) {
  .ngc-circle { animation: none; }
}/* End custom CSS */