/* Styles added in the static rebuild: the HTML5 videos that replaced the Vimeo players. */

/* Inside the theme's 16:9 frames (pop-ups, Learn page) */
.video-embed-container video.gb-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

/* Press page video blocks */
.wp-block-embed__wrapper video.gb-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #000;
}

/* ---------------------------------------------------------------- accessibility (WCAG 2.1 AA) */

/* Color contrast: the theme's light colors failed against white text, so darker or dark-text versions */
.btn-green, .btn-green *, .btn-green:hover, .btn-green:focus,
.gform_wrapper form [id^="gform_submit_button"],
body.template-home-teaser .email-signup-row input[type="submit"] {
  color: #173300 !important;                 /* dark green on the lime button: 6.8:1 */
}
.bg-aqua-light-blue { background-color: #0080a9 !important; }   /* white text 4.5:1 (was 2.5:1) */
.bg-orange { background-color: #bf590e !important; }            /* white text 4.5:1 (was 3.2:1) */
body.press figcaption, .blog-breadcrumbs, .blog-breadcrumbs a { color: #707070 !important; } /* 5.0:1 */
body.learn #section-team .team-member .member-education { color: #e8112d !important; }   /* 4.6:1 */
.collapsible-list dt.active i, .collapsible-list dt a:hover i,
.collapsible-list dt a:active i, .collapsible-list dt a:focus i,
#section-buy .buy-now .product-price { color: #5d8129 !important; }                      /* 4.5:1 */

/* Visible keyboard focus everywhere (dark ring with a white halo shows on any background) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, video:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #111 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #fff !important;
}
main:focus { outline: none; }

/* Skip link: hidden until focused with the keyboard */
.gb-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 0.75rem 1rem;
  background: #111;
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline;
}
.gb-skip-link:focus { left: 1rem; top: 1rem; }

/* "Pause animations" button */
.gb-motion-toggle {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 9999;
  padding: 0.5rem 0.85rem;
  border: 2px solid #fff;
  border-radius: 2rem;
  background: #111;
  color: #fff;
  font: 600 0.85rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.gb-motion-paused *, .gb-motion-paused *::before, .gb-motion-paused *::after {
  animation-play-state: paused !important;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

/* Email sign-up consent line */
.gb-signup-consent {
  margin: 0.6rem auto 0;
  max-width: 34rem;
  font-size: 0.8rem;
  line-height: 1.4;
}
.gb-signup-consent a { color: inherit; text-decoration: underline; }
.email-signup-row .gb-signup-consent, footer .gb-signup-consent { color: #fff; }  /* on the dark red bands */

/* Privacy and Accessibility pages */
.gb-info-page { font-size: 1.05rem; line-height: 1.6; color: #333; }
.gb-info-page h2 { margin: 2rem 0 0.75rem; font-size: 1.4rem; color: #333; }
.gb-info-page ul { padding-left: 1.25rem; }
.gb-info-page li { margin-bottom: 0.5rem; }
.gb-info-page a { color: #c40e26; text-decoration: underline; }   /* 5.5:1 on white */
.gb-info-page .gb-updated { color: #707070; font-size: 0.9rem; }

/* Learning Philosophy gallery: large player, thumbnails underneath that switch it */
.gb-gallery-thumbs {
  display: flex;
  gap: 0.6rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}
.gb-gallery-thumbs li { flex: 0 1 198px; }
.gb-gallery-thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #000;
  cursor: pointer;
}
.gb-gallery-thumb img { display: block; width: 100%; height: auto; }
.gb-gallery-thumb[aria-pressed="true"] { outline: 3px solid #fff; outline-offset: -3px; }
