.ra-logo-block {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}

.ra-wrap {
  position: relative;
  display: inline-block;
  width: var(--ra-width, 180px);
  height: var(--ra-height, 40px);
  max-width: 100%;
  overflow: hidden;
  line-height: 0;
  vertical-align: middle;
}

.ra-wrap svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.ra-wrap .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.ra-logo-subtitle {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  line-height: 1.25;
  text-align: center;
}

.ra-wipe {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: #fff;
  visibility: hidden;
  transform: translateX(101%);
}

.ra-wrap.ra-is-animating .ra-wipe {
  animation: raWipe var(--ra-wipe, 1.2s) cubic-bezier(.77, 0, .18, 1) var(--ra-delay, .5s) forwards;
}

@keyframes raWipe {
  0% { transform: translateX(0); visibility: visible; }
  99.9% { transform: translateX(101%); visibility: visible; }
  100% { transform: translateX(101%); visibility: hidden; }
}

.ra-wipe::before {
  position: absolute;
  top: 0;
  left: -3px;
  width: 3px;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(180deg, #3366ff, #05005a, #3366ff);
  box-shadow: 0 0 10px rgba(5, 0, 90, .45), 0 0 30px rgba(5, 0, 90, .18);
  content: '';
}

.ra-shimmer {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.ra-shimmer::after {
  position: absolute;
  top: -20%;
  left: -60%;
  width: 35%;
  height: 140%;
  background: linear-gradient(100deg, transparent 30%, rgba(5, 0, 90, .05) 46%, rgba(5, 0, 90, .09) 50%, rgba(5, 0, 90, .05) 54%, transparent 70%);
  content: '';
  opacity: 0;
  transform: skewX(-18deg);
}

.ra-wrap.ra-is-animating .ra-shimmer::after {
  animation: raSweep .7s ease-in-out var(--ra-shimmer, 1.9s) forwards;
}

@keyframes raSweep {
  0% { left: -60%; opacity: 1; }
  100% { left: 160%; opacity: 0; }
}

