/* Shared accessible refinements; loaded after the Webflow export. */
.ldm-title-sponsor .powered-by { color: #865900 !important; }
.reg-disclosure { background: #344b5f !important; }
.reg-disclosure a, .new-block-text .link2 { color: #fff !important; text-decoration: underline; }
.top-block .text-block-4 { color: #ffe4a5 !important; }
.race-schedule-table .schedule-time { background: #946000; color: #fff; }
.race-schedule-table .schedule-note { color: #4a5568; }
.footer .newsletter-form > p { color: #e1e6ea !important; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #21659b; outline-offset: 4px; }
.ldm-menu-toggle { display: block; border: 0; font: inherit; cursor: pointer; }
.ldm-menu-toggle .close-text { display: none !important; }
.ldm-menu-toggle.is-open .menu-text { visibility: hidden; }
.ldm-menu-toggle.is-open .close-text { display: block !important; transform: none !important; }
.mobile-menu-slideout.is-open { display: block !important; position: fixed; inset: 0; height: 100dvh; overflow-y: auto; z-index: 9998; transform: none !important; }
.mobile-menu-slideout .nav-links { padding-bottom: 110px; }
.mobile-navigation { z-index: 9999 !important; }
.current-price { padding: 16px; color: #880000; font-size: 1.35rem; font-weight: 600; }
.current-price small { display: block; color: #394957; font-size: .85rem; font-weight: 400; }
.pricing-history { padding: 0 16px 14px; }
.pricing-history summary { cursor: pointer; color: #344b5f; font-weight: 500; }
.registration-quickbar { display: none; }
.registration-details summary { cursor: pointer; color: #880000; font-weight: 600; padding: 12px 0; }
@media (max-width: 767px) {
  .qr-code-image, .qr-code-image + * { display: none; }
  .registration-qr { display: none !important; }
  .registration-quickbar { display: flex; position: sticky; top: 62px; z-index: 90; justify-content: space-between; align-items: center; background: #f7f6f0; color: #880000; padding: 10px 18px; box-shadow: 0 2px 8px #0002; }
  .registration-quickbar a { padding: 10px 16px; background: #880000; color: #fff; border-radius: 6px; text-decoration: none; }
  .race-schedule-table { display: table; width: 100%; table-layout: auto; font-size: .8rem; }
  .race-schedule-table thead { display: table-header-group; }
  .race-schedule-table tbody { display: table-row-group; }
  .race-schedule-table tr { display: table-row; border: 0; }
  .race-schedule-table th, .race-schedule-table td { display: table-cell; text-align: left; padding: 9px 5px; font-size: .8rem; }
  .race-schedule-table td::before { display: none; }
  .race-schedule-table th:nth-child(4), .race-schedule-table td:nth-child(4) { display: none; }
  .race-schedule-table .schedule-time { font-size: .75rem; padding: 4px 6px; }
}
/* Essential content is never dependent on scroll-triggered reveal animations. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  .rotating-text-wrapper { animation: none !important; }
}

/* Keep readable content visible throughout Webflow's reveal transitions. */
main [data-w-id][style*="opacity"], footer [data-w-id][style*="opacity"],
.footer [data-w-id][style*="opacity"] { opacity: 1 !important; }
.detail .text-block-13, .text-block-14 .text-span-2, a .text-span-2 { color: #865900 !important; }
.detail .text-block-15 { color: #4a5568 !important; }
.paragraph-9.white, .paragraph-11 { color: #fff !important; }
.paragraph-9.white span { opacity: 1 !important; }
.paragraph-9.white a { color: #fff !important; text-decoration: underline; }

.w-embed p a[style*="D0921A"], .w-embed p a[style*="d0921a"] { color: #865900 !important; }
.w-embed a[style*="background: #D0921A"], .w-embed a[style*="background: #d0921a"] { background: #865900 !important; color: #fff !important; }
.team-card .heading-23 { color: #865900 !important; }
.gallery-filter-count { opacity: 1 !important; }
.gallery-page-link.is-disabled { color: #596675 !important; }
.center.paragraph-9, .text-block-16, .bold-text-7 { color: #fff !important; }

.w-embed a[style*="color: var(--ascend-orange)"] { color: #865900 !important; }
.w-embed a[style*="background: var(--ascend-orange)"] { background: #865900 !important; color: #fff !important; }

.background-video { position: relative; }
.ldm-hero-copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 28px; color: #fff; background: #0009; }
.ldm-hero-copy h1 { color: #fff; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.1; margin: 12px 0; }
.ldm-hero-copy p { color: #fff; margin: 6px 0; }
.ldm-hero-copy a { background: #880000; color: #fff; padding: 13px 24px; border-radius: 6px; margin-top: 16px; font-weight: 600; text-decoration: none; }
@media (max-width: 767px) {
 .div-block-15 > .background-video { height: 390px; min-height: 390px; }
 .ldm-hero-copy { padding: 22px; }
 .ldm-hero-copy p { font-size: 16px; }
}

/* Registration reveal block: let the copy panel grow to fit its content.
   Webflow's IX2 engine writes an inline height onto .reveal-block-bg at runtime from
   its data-w-id interaction, so this needs !important to win. The panel was sized for
   the old one-word "Welcome" heading; the longer <h1> pushed its content past 640px
   and .reveal-block's overflow:hidden cut ~200px off the top, hiding the heading.
   Below 992px the stylesheet already sets height:auto, so only desktop needs this. */
@media screen and (min-width: 992px) {
  .reveal-block-bg { height: auto !important; max-height: none !important; min-height: 40rem !important; }
}
