/* ==================================================
   LINKS
================================================== */

/* Hyperlinks */
a,
a:link,
a:visited {
  text-decoration: none !important;
  background-image: linear-gradient(
    color-mix(in srgb, currentColor 22%, transparent),
    color-mix(in srgb, currentColor 22%, transparent)
  );
  background-repeat: no-repeat;
  background-size: 100% 0.4em;
  background-position: 0 115%;
  padding-bottom: 0.02em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Normal underlines */
u {
  text-decoration: none !important;
  background-image: linear-gradient(
    color-mix(in srgb, currentColor 14%, transparent),
    color-mix(in srgb, currentColor 14%, transparent)
  );
  background-repeat: no-repeat;
  background-size: 100% 0.4em;
  background-position: 0 115%;
  padding-bottom: 0.02em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}



/* ==================================================
   LOADING SCREEN
================================================== */

#custom-loader {
  position: fixed;
  inset: 0;
  background: white;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-bar-wrap {
  width: 300px;
  height: 4px;
  background: #dddddd;
  overflow: hidden;
  border-radius: 999px;
}

.loader-bar {
  width: 0%;
  height: 100%;
  background: black;
  animation: loadbar 5s linear forwards;
}

@keyframes loadbar {
  from {
    width: 0%;
  }

  to {
    width: 100%;
  }
}

#custom-loader.fade-out {
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}