/* Focused overrides for the restored theme; its original build sources are absent. */
body {
  color: #666;
}

.text-color-red1,
.btn--color-red1.btn--outline {
  color: #c7371b;
}

.btn--color-red1.btn--outline {
  border-color: #c7371b;
}

.btn--color-red1,
.btn--color-red1:hover,
.btn--color-red1.btn--outline:hover {
  color: #fff;
  background-color: #c7371b;
}

/* White copy must pass against both ends of a gradient, including form buttons. */
.bg-color-gradient {
  background: linear-gradient(90deg, #a31e6b, #c62019);
}

.btn--gradient:not(.btn--outline),
.wpcf7 .wpcf7-form .btn--gradient:not(.btn--outline) {
  background: linear-gradient(90deg, #bf171c, #a53e00) !important;
}

body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px #14193b !important;
}

.skip-link {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 10000;
  padding: 0.75rem 1rem;
  color: #fff;
  background: #14193b;
  transform: translateY(-200%);
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

/* Keep focused navigation on screen when the scroll handler hides the header. */
.layout-header:focus-within,
.layout-mobile-header-wrapper:focus-within {
  top: 0 !important;
}

.flyout-menu {
  background: linear-gradient(180deg, #aa1820, #a53e00);
}

.flyout-menu__menu__body {
  min-height: 100%;
  height: auto;
  padding: 6rem 1.5rem 2rem;
}

.menu-mobile a {
  display: inline-block;
  padding: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
  .flyout-menu,
  .flyout-menu__menu__body,
  .page,
  .page::before,
  .layout-header,
  .layout-mobile-header-wrapper {
    animation: none;
    transition: none;
  }
}
