.css-health-check {
  background-color: #00fbff;
  border: 1px solid #ff0000;
  padding: 20px;
  margin-bottom: 20px;
}

/* FIX FOR RENDERING ANIMATED TEMPLATES IN ELEMENTOR EDITOR */
.elementor-editor-active
  .elementor-widget-template
  .elementor-element.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Generic */
.uppercase {
  text-transform: uppercase;
}

.square {
  aspect-ratio: 1;
}

.testimonials .elementor-swiper-button {
  top: unset !important;
  bottom: -8px;
}

.square-image,
.square-image img {
  aspect-ratio: 1 !important;
  object-fit: cover;
  object-position: center;
}

.newsletter-form button:hover {
  box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.1) !important;
}

/* Elementor overrides */
.fluid-background.e-con:before {
  opacity: 1;
}

body[data-elementor-device-mode="desktop"]
  div[data-elementor-post-type="page"]
  > .elementor-element
  > .e-con
  > .e-con-inner,
body[data-elementor-device-mode="tablet"]
  div[data-elementor-post-type="page"]
  > .elementor-element
  > .e-con
  > .e-con-inner {
  max-width: min(95%, var(--container-max-width, 1140px));
}

.centered-counter {
  text-align: center;
}

.carousel-docentes .carousel-docentes-info {
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 0.5s ease-in-out,
    visibility 0.5s ease-in-out;
}

.carousel-docentes:hover .carousel-docentes-info {
  visibility: visible;
  opacity: 1;
}

.carousel-docentes::before {
  transition: filter 0.5s ease-in-out;
}

/* Courses */
.course-duration,
.course-duration h5 {
  word-break: keep-all;
}

/* Background and gradient styles */
.fluid-background {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.fluid-background::before,
.fluid-background::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  transition:
    opacity 1s ease-in-out allow-discrete 0.5s,
    color 1s ease-in-out allow-discrete 0.5s;
  transform: scale(1.2);
  will-change: transform;
  animation: fluid-background-flow 5s ease-in-out infinite alternate;
}

/* Switch these three to just target classes (e.g. .fade-primary:hover::after) if there strange behavior */
.fluid-background::after {
  opacity: 0;
}

.fluid-background:hover::after {
  opacity: 1;
}

.fluid-background > * {
  position: relative;
  z-index: 1;
}

.fade-greens:not(.fade-only-hover) {
  background: #0d7062;
}

.fade-primary:not(.fade-only-hover) {
  background: var(--e-global-color-474b2c1);
}

.fade-only-hover::before {
  background: transparent !important;
}

.fade-only-hover::after,
.fade-only-hover:hover::after {
  transition: opacity 0.5s ease-in-out;
}

.fade-primary-light:hover a,
.fade-primary-light:hover span,
.face-primary-light-active a,
.face-primary-light-active span {
  color: white !important;
}

.fade-primary::before {
  background:
    radial-gradient(
      circle at 100% 12%,
      rgba(255, 255, 255, 0.75) 0%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 55%, transparent) 32%,
      transparent 58%
    ),
    radial-gradient(
      circle at 25% 78%,
      color-mix(in srgb, var(--e-global-color-a8ad1e9) 95%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-a8ad1e9) 60%, transparent) 22%,
      transparent 48%
    ),
    radial-gradient(
      circle at 110% 110%,
      #031b21 18%,
      #043744 29%,
      transparent 48%
    ),
    radial-gradient(
      circle at 78% 20%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 90%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 65%, transparent) 32%,
      transparent 58%
    ),
    radial-gradient(
      circle at 15% 15%,
      color-mix(in srgb, var(--e-global-color-3fb0dea) 90%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-3fb0dea) 60%, transparent) 35%,
      transparent 62%
    ),
    radial-gradient(
      circle at 75% 85%,
      color-mix(in srgb, var(--e-global-color-primary) 85%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-primary) 55%, transparent) 30%,
      transparent 58%
    ),
    linear-gradient(
      180deg,
      var(--e-global-color-474b2c1) 0%,
      var(--e-global-color-3fb0dea) 35%,
      var(--e-global-color-f465aa2) 55%,
      var(--e-global-color-accent) 78%,
      var(--e-global-color-a8ad1e9) 100%
    );

  animation: fluid-background-flow 5s ease-in-out infinite alternate;
}

.fade-greens::before {
  background:
    radial-gradient(
      circle at 78% 12%,
      rgba(228, 222, 205, 0.95) 0%,
      rgba(207, 215, 168, 0.82) 24%,
      rgba(184, 206, 124, 0.38) 42%,
      transparent 62%
    ),
    radial-gradient(
      circle at 20% 0%,
      rgba(144, 192, 57, 0.82) 0%,
      rgba(120, 173, 84, 0.58) 26%,
      transparent 52%
    ),
    radial-gradient(
      circle at 92% 0%,
      rgba(13, 112, 98, 0.95) 0%,
      rgba(55, 137, 98, 0.65) 32%,
      transparent 54%
    ),
    radial-gradient(
      circle at 70% 34%,
      rgba(207, 215, 168, 0.58) 0%,
      rgba(184, 206, 124, 0.28) 28%,
      transparent 56%
    ),
    radial-gradient(
      circle at 28% 42%,
      rgba(102, 165, 83, 0.66) 0%,
      rgba(55, 137, 98, 0.42) 30%,
      transparent 60%
    ),
    radial-gradient(
      circle at 7% 68%,
      rgba(13, 112, 98, 0.95) 0%,
      rgba(13, 112, 98, 0.72) 30%,
      transparent 62%
    ),
    radial-gradient(
      circle at 98% 95%,
      rgba(144, 192, 57, 0.74) 0%,
      rgba(102, 165, 83, 0.44) 24%,
      transparent 48%
    ),
    linear-gradient(
      180deg,
      #78ad54 0%,
      #b8ce7c 18%,
      #66a553 34%,
      #0d7062 62%,
      #0d7062 100%
    );

  animation: fluid-background-flow 5s ease-in-out infinite alternate;
}

.fade-primary-dark::before {
  background:
    radial-gradient(
      ellipse at 20% 0%,
      #4a8d8d 2%,
      #4a8d8d 12%,
      transparent 52%
    ),
    radial-gradient(
      ellipse at 86% -30%,
      rgba(255, 255, 255, 0.92) 0%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 58%, white) 18%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 70%, transparent) 40%,
      transparent 62%
    ),
    radial-gradient(
      ellipse at 0% 92%,
      color-mix(in srgb, var(--e-global-color-a8ad1e9) 98%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-a8ad1e9) 86%, transparent) 22%,
      color-mix(in srgb, var(--e-global-color-a8ad1e9) 42%, transparent) 42%,
      transparent 64%
    ),
    radial-gradient(
      ellipse at 92% 95%,
      #031b21 0%,
      #043744 32%,
      rgba(4, 55, 68, 0.55) 48%,
      transparent 70%
    ),
    linear-gradient(
      160deg,
      color-mix(in srgb, var(--e-global-color-474b2c1) 80%, white) 0%,
      var(--e-global-color-a8ad1e9) 100%
    );

  animation: fluid-background-flow 5s ease-in-out infinite alternate;
}

/* .fade-primary-active::before {
  opacity: 1 !important;
} */

.fade-primary::after,
.fade-primary-active::before {
  background:
    radial-gradient(
      circle at 98% 60%,
      rgba(239, 86, 56, 0.95) 14%,
      rgba(239, 86, 56, 0.65) 20%,
      rgba(240, 115, 55, 0.65) 24%,
      rgba(240, 169, 55, 0.25) 32%,
      transparent 58%
    ),
    radial-gradient(
      ellipse at 22% 42%,
      rgba(190, 235, 220, 0.85) 0%,
      color-mix(in srgb, var(--e-global-color-474b2c1) 55%, transparent) 32%,
      transparent 62%
    ),
    radial-gradient(
      ellipse at 88% 72%,
      rgba(245, 100, 62, 0.9) 0%,
      rgba(245, 100, 62, 0.54) 24%,
      transparent 54%
    ),
    radial-gradient(
      ellipse at 50% 78%,
      rgba(70, 185, 195, 0.8) 0%,
      rgba(70, 185, 195, 0.45) 28%,
      transparent 58%
    ),
    linear-gradient(
      180deg,
      #0a3f49 0%,
      #47737a 24%,
      #a9d9cc 48%,
      #4a8d8d 86%,
      #4a8d8d 100%
    );
  animation: fluid-background-flow 5s ease-in-out infinite alternate;
}

.fade-greens::after,
.fade-primary-greens-active::before {
  background:
    radial-gradient(
      circle at 0% 92%,
      rgba(228, 222, 205, 0.98) 0%,
      rgba(228, 222, 205, 0.98) 15%,
      rgba(207, 215, 168, 0.82) 30%,
      rgba(184, 206, 124, 0.38) 42%,
      transparent 62%
    ),
    radial-gradient(
      circle at 90% 02%,
      rgba(144, 192, 57, 0.98) 0%,
      rgba(144, 192, 57, 0.98) 15%,
      rgba(144, 192, 57, 0.98) 20%,
      rgba(184, 206, 124, 0.38) 32%,
      rgba(184, 206, 124, 0.08) 42%,
      transparent 62%
    ),
    radial-gradient(
      circle at 0% 12%,
      rgba(55, 137, 98, 0.98) 0%,
      rgba(55, 137, 98, 0.98) 5%,
      rgba(55, 137, 98, 0.98) 15%,
      rgba(184, 206, 124, 0.17) 25%,
      rgba(184, 206, 124, 0) 35%,
      transparent 62%
    ),
    radial-gradient(
      circle at 20% 0%,
      rgba(144, 192, 57, 0.82) 0%,
      rgba(120, 173, 84, 0.58) 26%,
      transparent 52%
    ),
    radial-gradient(
      circle at 92% 0%,
      rgba(13, 112, 98, 0.95) 0%,
      rgba(55, 137, 98, 0.65) 32%,
      transparent 54%
    ),
    radial-gradient(
      circle at 70% 34%,
      rgba(207, 215, 168, 0.58) 0%,
      rgba(184, 206, 124, 0.28) 28%,
      transparent 56%
    ),
    radial-gradient(
      circle at 28% 42%,
      rgba(102, 165, 83, 0.66) 0%,
      rgba(55, 137, 98, 0.42) 30%,
      transparent 60%
    ),
    radial-gradient(
      circle at 7% 68%,
      rgba(13, 112, 98, 0.95) 0%,
      rgba(13, 112, 98, 0.72) 30%,
      transparent 62%
    ),
    radial-gradient(
      circle at 98% 95%,
      rgba(144, 192, 57, 0.74) 0%,
      rgba(102, 165, 83, 0.44) 24%,
      transparent 48%
    ),
    linear-gradient(
      180deg,
      #78ad54 0%,
      #b8ce7c 18%,
      #66a553 34%,
      #0d7062 62%,
      #0d7062 100%
    );
}

.fade-primary-light::after,
.fade-primary-light-active::before {
  background:
    radial-gradient(
      ellipse at 16% 86%,
      rgba(19, 182, 205, 0.95) 0%,
      rgba(19, 182, 205, 0.72) 16%,
      /*rgba(247, 240, 119, 0.1) 46%,*/ rgba(232, 189, 97, 0.2) 46%,
      transparent 68%
    ),
    radial-gradient(
      ellipse at 0% 100%,
      rgba(247, 240, 119, 0.7) 16%,
      rgba(247, 240, 119, 0.4) 26%,
      rgba(247, 240, 119, 0.2) 46%,
      transparent 68%
    ),
    radial-gradient(
      ellipse at 0% 8%,
      rgba(234, 133, 98, 1) 0%,
      rgba(234, 133, 98, 0.58) 36%,
      transparent 70%
    ),
    radial-gradient(
      ellipse at 100% 100%,
      rgba(234, 133, 98, 0.9) 0%,
      rgba(234, 133, 98, 0.28) 34%,
      transparent 66%
    ),
    radial-gradient(
      ellipse at 92% 16%,
      rgba(255, 250, 244, 0.92) 0%,
      rgba(247, 224, 211, 0.68) 28%,
      transparent 62%
    ),
    radial-gradient(
      ellipse at 8% 28%,
      rgba(234, 133, 98, 1) 0%,
      rgba(234, 133, 98, 0.58) 36%,
      transparent 70%
    ),
    radial-gradient(
      ellipse at 58% 62%,
      rgba(162, 194, 162, 0.48) 0%,
      rgba(162, 194, 162, 0.26) 32%,
      transparent 68%
    ),
    linear-gradient(145deg, #ef7656 0%, #f2a17f 26%, #ead7c7 78%, #24adbb 100%) !important;
}

.fade-primary-dark::after,
.fade-primary-dark-active::before {
  background:
    radial-gradient(
      ellipse at 10% 8%,
      rgba(190, 225, 211, 0.92) 0%,
      rgba(155, 199, 187, 0.72) 28%,
      rgba(112, 159, 153, 0.38) 50%,
      transparent 72%
    ),
    radial-gradient(
      ellipse at 98% 4%,
      #043744 0%,
      rgba(4, 55, 68, 0.92) 26%,
      rgba(4, 55, 68, 0.48) 48%,
      transparent 70%
    ),
    radial-gradient(
      ellipse at 98% 96%,
      rgba(239, 86, 56, 0.98) 0%,
      rgba(239, 86, 56, 0.82) 26%,
      rgba(224, 112, 76, 0.44) 48%,
      transparent 72%
    ),
    radial-gradient(
      ellipse at 54% 72%,
      rgba(174, 139, 104, 0.52) 0%,
      rgba(144, 123, 101, 0.34) 32%,
      transparent 66%
    ),
    linear-gradient(
      155deg,
      #b8d9cc 0%,
      #7ca79f 28%,
      #536f72 52%,
      #9f765f 72%,
      #ef5638 100%
    ) !important;
}

.fade-primary-oranges::after,
.fade-primary-oranges-active::before {
  background:
    radial-gradient(
      ellipse at 2% 2%,
      rgba(53, 108, 115, 0.98) 0%,
      rgba(53, 108, 115, 0.78) 22%,
      rgba(53, 108, 115, 0.32) 46%,
      transparent 70%
    ),
    radial-gradient(
      ellipse at 98% 0%,
      rgba(239, 86, 56, 0.96) 0%,
      rgba(239, 86, 56, 0.72) 28%,
      rgba(224, 112, 76, 0.36) 52%,
      transparent 76%
    ),
    radial-gradient(
      ellipse at 100% 100%,
      rgba(117, 210, 202, 0.9) 0%,
      rgba(151, 211, 189, 0.58) 26%,
      rgba(188, 205, 162, 0.28) 48%,
      transparent 72%
    ),
    radial-gradient(
      ellipse at 0% 74%,
      rgba(255, 111, 73, 0.9) 0%,
      rgba(246, 127, 88, 0.62) 28%,
      transparent 66%
    ),
    radial-gradient(
      ellipse at 62% 54%,
      rgba(194, 181, 138, 0.44) 0%,
      rgba(177, 161, 125, 0.28) 34%,
      transparent 72%
    ),
    linear-gradient(
      135deg,
      rgb(4, 55, 68) 0%,
      #5b7a76 22%,
      #ba8167 45%,
      #f07a55 66%,
      #d8c79d 82%,
      #82cfc6 100%
    ) !important;
}

.fade-blues::after,
.fade-blues-active::before {
  background:
    radial-gradient(
      ellipse at 96% 4%,
      rgba(205, 235, 222, 0.92) 0%,
      rgba(155, 207, 195, 0.58) 24%,
      rgba(86, 151, 157, 0.28) 46%,
      transparent 68%
    ),
    radial-gradient(
      ellipse at 8% 20%,
      rgba(67, 130, 133, 0.58) 0%,
      rgba(28, 95, 104, 0.36) 34%,
      transparent 66%
    ),
    radial-gradient(
      ellipse at 18% 92%,
      rgba(2, 42, 52, 0.58) 0%,
      rgba(2, 42, 52, 0.34) 38%,
      transparent 70%
    ),
    linear-gradient(
      160deg,
      rgba(55, 125, 128, 0.72) 0%,
      rgb(4, 55, 68) 42%,
      rgb(4, 55, 68) 100%
    ) !important;
}

@media (prefers-reduced-motion: reduce) {
  .fluid-background::before {
    animation: none;
  }
}

@keyframes fluid-background-flow {
  0% {
    transform: translate3d(-2%, -1%, 0) scale(1.2);
  }

  50% {
    transform: translate3d(2%, 2.5%, 0) scale(2.5);
  }

  100% {
    transform: translate3d(-1%, 4%, 0) scale(1.2);
  }
}

/* Box overlay styles */
body[data-elementor-device-mode="tablet"] .box-overlay,
body[data-elementor-device-mode="desktop"]
  .box-overlay:not(.box-overlay-custom-height) {
  min-height: 700px;
}

body[data-elementor-device-mode="mobile"] .box-overlay {
  min-height: calc(100vh - 80px);
}

body[data-elementor-device-mode="mobile"] .box-overlay {
  --sq: clamp(56px, 20vw, calc(100vw / 5.2));
}

.box-overlay {
  --sq: clamp(56px, 20vw, 96px);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-top: calc(var(--sq) * 2 + 30px);
  padding-bottom: calc(var(--sq) * 3 + 30px);
}

body[data-elementor-device-mode="desktop"] .box-overlay .text-section {
  max-width: calc(100% - var(--sq) * 6);
}

.box-overlay > .e-con-inner,
.box-overlay > .elementor-widget {
  position: relative;
  z-index: 2;
}

.box-overlay-block {
  position: absolute !important;
  inset: 0 !important;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1;
  pointer-events: none;
}

.box-overlay-block .elementor-widget-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.box-overlay-block .banner-squares {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.box-overlay-block .sq {
  position: absolute;
  display: block;
  width: var(--sq);
  height: var(--sq);
}

body[data-elementor-device-mode="desktop"]
  .box-overlay:not(.box-overlay-custom-height) {
  min-height: 500px;
  padding: 0px !important;
}

.box-overlay-laboratorio.box-overlay {
  padding: 20px !important;
}

.box-overlay-laboratorio .box-overlay-block {
  --sq: clamp(56px, 20vw, calc(100vw / 10.2));
}

/* Grupo superior izquierdo */
.box-overlay-block .sq-top-1 {
  top: 0;
  left: 0;
}

.box-overlay-block .sq-top-2 {
  top: 0;
  left: var(--sq);
}

.box-overlay-block .sq-top-3 {
  top: 0;
  left: calc(var(--sq) * 2);
}

.box-overlay-block .sq-top-4 {
  top: var(--sq);
  left: 0;
}

.box-overlay-block .sq-top-5 {
  top: var(--sq);
  left: var(--sq);
}

/* Grupo superior derecho */
.box-overlay-block .sq-right-1 {
  top: 0;
  right: 0;
}

.box-overlay-block .sq-right-2 {
  top: var(--sq);
  right: 0;
}

/* Grupo inferior izquierdo */
.box-overlay-block .sq-bottom-1 {
  right: 0;
  bottom: calc(var(--sq) * 2);
}

.box-overlay-block .sq-bottom-2 {
  bottom: var(--sq);
  right: calc(var(--sq) * 1);
}

.box-overlay-block .sq-bottom-3 {
  bottom: 0;
  right: calc(var(--sq) * 3);
}

/* Cuadrado naranja elevado */
.box-overlay-block .sq-bottom-4 {
  bottom: 0;
  right: calc(var(--sq) * 2);
}

/* Columna derecha oscura */
.box-overlay-block .sq-bottom-5 {
  right: 0;
  bottom: 0;
}

.box-overlay-block .sq-bottom-6 {
  right: 0;
  bottom: var(--sq);
}

.box-overlay-block .sq-bottom-7 {
  bottom: 0;
  left: var(--sq);
}

/* Primary variant */
body[data-elementor-device-mode="desktop"] .box-overlay-primary {
  --sq: calc(100cqh / 6);
}

.box-overlay-primary .sq-top-2 {
  background: color-mix(in srgb, var(--e-global-color-474b2c1) 65%, white);
}

.box-overlay-primary .sq-top-3 {
  background: rgba(255, 255, 255, 0.72);
}

.box-overlay-primary .sq-top-4 {
  background: var(--e-global-color-primary);
}

.box-overlay-primary .sq-top-5 {
  background: var(--e-global-color-accent);
}

/* Grupo superior derecho */
.box-overlay-primary .sq-right-1 {
  background: var(--e-global-color-primary);
}

.box-overlay-primary .sq-right-2 {
  background: color-mix(
    in srgb,
    var(--e-global-color-primary) 92%,
    transparent
  );
}

/* Grupo inferior izquierdo */
.box-overlay-primary .sq-bottom-1 {
  background: var(--e-global-color-primary);
}

.box-overlay-primary .sq-bottom-2 {
  background: var(--e-global-color-a8ad1e9);
}

.box-overlay-primary .sq-bottom-3 {
  background: color-mix(
    in srgb,
    var(--e-global-color-primary) 100%,
    transparent
  );
}

/* Cuadrado naranja elevado */
.box-overlay-primary .sq-bottom-4 {
  background: color-mix(
    in srgb,
    var(--e-global-color-3fb0dea) 82%,
    transparent
  );
}

/* Columna derecha oscura */
.box-overlay-primary .sq-bottom-5 {
  background: color-mix(in srgb, var(--e-global-color-474b2c1) 72%, white);
}

.box-overlay-primary .sq-bottom-6 {
  background: var(--e-global-color-primary);
}

.box-overlay-primary .sq-bottom-7 {
  background: var(--e-global-color-primary);
}

.box-overlay-primary {
  container-type: size;
}

/* Arriba izquierda */
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-top-1 {
  background: #e55937;
  top: 0;
  left: 0;
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-top-3 {
  top: 0;
  left: calc(var(--sq) * 1);
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-top-4 {
  top: 0;
  left: calc(var(--sq) * 2);
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-top-2 {
  background: #346b71;
  top: calc(var(--sq) * 1);
  left: 0;
}

/* Abajo izquierda*/
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-top-5 {
  top: unset;
  bottom: 0;
  left: 0;
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-right-1 {
  background: #346b71;
  top: unset;
  right: unset;
  bottom: 0;
  left: calc(var(--sq) * 1);
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-right-2 {
  background: #e55937;
  top: unset;
  right: unset;
  bottom: 0;
  left: calc(var(--sq) * 2);
}

/* Arriba derecha */
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-bottom-3 {
  background: #acd4c7;
  bottom: unset;
  right: 0;
  top: 0;
}

/* Abajo derecha */
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-bottom-1 {
  right: 0;
  bottom: calc(var(--sq) * 2);
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-bottom-2 {
  background: #ea8562;
  bottom: calc(var(--sq) * 1);
  right: calc(var(--sq) * 1);
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-bottom-4 {
  background: #5d9291;
  bottom: 0;
  right: 0;
}
body[data-elementor-device-mode="desktop"] .box-overlay-primary .sq-bottom-5 {
  bottom: 0;
  right: calc(var(--sq) * 1);
}

/* Green variant */
.box-overlay-green .sq-top-2 {
  background: #90c039;
}

.box-overlay-green .sq-top-3 {
  background: #b8ce7c;
}

.box-overlay-green .sq-top-4 {
  background: #0d7062;
}

.box-overlay-green .sq-top-5 {
  background: #cfd7a8;
}

/* Grupo superior derecho */
.box-overlay-green .sq-right-1 {
  background: #0d7062;
}

.box-overlay-green .sq-right-2 {
  background: #378962;
}

/* Grupo inferior izquierdo */
.box-overlay-green .sq-bottom-1 {
  background: #0d7062;
}

.box-overlay-green .sq-bottom-2 {
  background: #e4decd;
}

.box-overlay-green .sq-bottom-3 {
  background: #0d7062;
}

/* Cuadrado elevado */
.box-overlay-green .sq-bottom-4 {
  background: #66a553;
}

/* Columna derecha oscura */
.box-overlay-green .sq-bottom-5 {
  background: #90c039;
}

.box-overlay-green {
  container-type: size;
}

body[data-elementor-device-mode="desktop"] .box-overlay-green {
  --sq: calc(100cqh / 4);
}
body[data-elementor-device-mode="desktop"] .box-overlay-green.box-overlay {
  min-height: 500px !important;
  padding: 0px !important;
}

body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-bottom-4 {
  top: 0;
  right: calc(var(--sq) * 1);
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-top-3 {
  top: 0;
  left: unset;
  right: 0;
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-right-1 {
  top: calc(var(--sq) * 1);
  right: calc(var(--sq) * 2);
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-bottom-5 {
  right: 0;
  top: calc(var(--sq) * 1);
  bottom: unset;
}

body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-bottom-1 {
  background: #b8ce7d;
  right: 0;
  bottom: unset;
  top: calc(var(--sq) * 2);
}

body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-bottom-2 {
  top: calc(var(--sq) * 3);
  right: calc(var(--sq) * 4);
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-top-5 {
  top: calc(var(--sq) * 3);
  right: calc(var(--sq) * 2);
  left: unset;
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-top-4 {
  top: calc(var(--sq) * 3);
  left: unset;
  bottom: unset;
  right: calc(var(--sq) * 1);
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-right-2 {
  top: calc(var(--sq) * 3);
  right: 0;
}

/* No mostrados */
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-bottom-3 {
  display: none;
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-top-1 {
  display: none;
}
body[data-elementor-device-mode="desktop"] .box-overlay-green .sq-top-2 {
  display: none;
}

.glow-background {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.glow-background::before {
  content: "";
  position: absolute;
  inset: 0%;
  z-index: 0;
  pointer-events: none;

  background:
    radial-gradient(
      circle at 25% 30%,
      rgba(255, 255, 255, 0.22) 0%,
      rgba(255, 255, 255, 0.12) 22%,
      rgba(255, 255, 255, 0.04) 42%,
      transparent 64%
    ),
    radial-gradient(
      circle at 75% 65%,
      rgba(255, 255, 255, 0.16) 0%,
      rgba(255, 255, 255, 0.08) 24%,
      transparent 56%
    ),
    radial-gradient(
      circle at 55% 15%,
      rgba(228, 222, 205, 0.18) 0%,
      rgba(228, 222, 205, 0.08) 28%,
      transparent 58%
    );

  animation-name: glow-background-flow;
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  will-change: transform;
}

.glow-background > * {
  position: relative;
  z-index: 1;
}

/* Iclude a rotation in the animation */
@keyframes glow-background-flow-rotation {
  0% {
    transform: translate3d(-3%, -2%, 0) scale(2.5) rotate(0deg);
  }

  50% {
    transform: translate3d(4%, 3%, 0) scale(2.08) rotate(180deg);
  }

  75% {
    transform: translate3d(4%, 3%, 0) scale(2.78) rotate(180deg);
  }

  100% {
    transform: translate3d(-1%, 5%, 0) scale(2.48) rotate(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-background::before {
    animation: none;
  }
}

.glow-background > * {
  position: relative;
  z-index: 1;
}

/* Iclude a rotation in the animation */
@keyframes glow-background-flow-rotation {
  0% {
    transform: translate3d(-3%, -2%, 0) scale(2.5) rotate(0deg);
  }

  50% {
    transform: translate3d(4%, 3%, 0) scale(2.08) rotate(180deg);
  }

  75% {
    transform: translate3d(4%, 3%, 0) scale(2.78) rotate(180deg);
  }

  100% {
    transform: translate3d(-1%, 5%, 0) scale(2.48) rotate(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-background::before {
    animation: none;
  }
}

@keyframes glow-background-flow {
  0% {
    transform: translate3d(-3%, -2%, 0) scale(1.23);
  }

  50% {
    transform: translate3d(4%, 3%, 0) scale(1.58) rotate(5deg);
  }

  100% {
    transform: translate3d(-1%, 5%, 0) scale(1.18);
  }
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(4n + 3)
  .glow-background::before {
  animation-duration: 4s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(4n-3)
  .glow-background::before {
  animation-duration: 6s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(3)
  .glow-background::before {
  animation-delay: -1s;
  animation-duration: 4s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(5)
  .glow-background::before {
  animation-delay: -2s;
  animation-duration: 6s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(7)
  .glow-background::before {
  animation-delay: -3s;
  animation-duration: 5s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(9)
  .glow-background::before {
  animation-delay: -4s;
  animation-duration: 6s;
}

.glow-background-loop-container
  .elementor-loop-container
  > .e-loop-item:nth-child(11)
  .glow-background::before {
  animation-direction: alternate-reverse;
}
