:root {
  --appilywp-transition-duration: 180ms;
  --appilywp-loading-height: 3px;
}

.appilywp-ready body {
  position: relative;
}

.appilywp-transition-out {
  opacity: 0;
  transition: opacity var(--appilywp-transition-duration) ease;
}

.appilywp-transition-in {
  animation: appilywpFadeIn var(--appilywp-transition-duration) ease both;
}

@keyframes appilywpFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.appilywp-show-loading-bar::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  width: 100%;
  height: var(--appilywp-loading-height);
  transform-origin: left center;
  animation: appilywpLoadingBar 900ms ease-in-out infinite;
  background: currentColor;
  opacity: 0.65;
}

@keyframes appilywpLoadingBar {
  0% { transform: scaleX(0); opacity: 0.2; }
  45% { transform: scaleX(0.72); opacity: 0.75; }
  100% { transform: scaleX(1); opacity: 0; }
}

.appilywp-is-loading {
  cursor: progress;
}

.appilywp-current-link[aria-current="page"] {
  text-decoration-thickness: 0.12em;
}

@media (prefers-reduced-motion: reduce) {
  .appilywp-transition-out,
  .appilywp-transition-in {
    animation: none !important;
    transition: none !important;
  }
}
