.loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* semi-transparent background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* ensure it is above other content */
  }

  .loader {
    position: relative;
    width: 5em;
    height: 5em;
    transform: rotate(165deg);
  }

  .loader:before, .loader:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 0.5em; /* made slimmer */
    height: 0.5em; /* made slimmer */
    border-radius: 0.25em; /* proportional to the new size */
    transform: translate(-50%, -50%);
  }

  .loader:before {
    animation: before8 2s infinite;
  }

  .loader:after {
    animation: after6 2s infinite;
  }

  @keyframes before8 {
    0% {
      width: 0.5em; /* made slimmer */
      box-shadow: 2em -1em rgba(225, 20, 98, 0.75), -2em 1em rgba(111, 202, 220, 0.75);
    }
    35% {
      width: 5em;
      box-shadow: 0 -1em rgba(225, 20, 98, 0.75), 0 1em rgba(111, 202, 220, 0.75);
    }
    70% {
      width: 0.5em; /* made slimmer */
      box-shadow: -2em -1em rgba(225, 20, 98, 0.75), 2em 1em rgba(111, 202, 220, 0.75);
    }
    100% {
      box-shadow: 2em -1em rgba(225, 20, 98, 0.75), -2em 1em rgba(111, 202, 220, 0.75);
    }
  }

  @keyframes after6 {
    0% {
      height: 0.5em; /* made slimmer */
      box-shadow: 1em 2em rgba(61, 184, 143, 0.75), -1em -2em rgba(233, 169, 32, 0.75);
    }
    35% {
      height: 5em;
      box-shadow: 1em 0 rgba(61, 184, 143, 0.75), -1em 0 rgba(233, 169, 32, 0.75);
    }
    70% {
      height: 0.5em; /* made slimmer */
      box-shadow: 1em -2em rgba(61, 184, 143, 0.75), -1em 2em rgba(233, 169, 32, 0.75);
    }
    100% {
      box-shadow: 1em 2em rgba(61, 184, 143, 0.75), -1em -2em rgba(233, 169, 32, 0.75);
    }
  }

  /* Centering loader within the overlay */
  .loader {
    position: absolute;
    top: calc(50% - 2.5em);
    left: calc(50% - 2.5em);
  }
