@charset "UTF-8";
/* ==========================================================================
   Safety Watch - portal theme (layout B / Bootstrap 5)
   Modeled on the legacy portal theme (safetywatchtraining.com no longer hosts their site)
   Upload: /css_themes/CSS_safetywatch.css   (images in /css_themes/safetywatch/)
   Overrides tokens + a few selectors from /assets/css/portal_theme_b.css
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600&family=Noto+Sans:wght@400;600;700&display=swap');

/* Palette (legacy theme): deep teal #0b423e -> #168c83, glow teal #12d4c5, link teal #3387a2, red headings #8d2424 */
:root {
  --portal-primary: #1d6f8a;
  --portal-primary-hover: #13776f;
  --portal-primary-soft: #e7f3f4;
  --portal-font: "Noto Sans", "Droid Sans", sans-serif;
  --portal-text: #444;
  --portal-radius-sm: 17px;
  --portal-logo-max-height: 60px;
  --header-h: 80px;
}
@media (max-width: 991.98px) { :root { --header-h: 68px; } }
@media (max-width: 575.98px) { :root { --header-h: 64px; } }

h1, h2, h3, h4 { color: #8d2424; font-weight: 600; }
/* Teal gradient pills */
.btn-primary {
  --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff;
  --bs-btn-border-color: transparent; --bs-btn-hover-border-color: transparent; --bs-btn-active-border-color: transparent;
  background-image: linear-gradient(to bottom, #168c83 0%, #0d4e49 55%, #107169 100%); box-shadow: none;
}
.btn-primary:hover { background-image: linear-gradient(to bottom, #1ca9a2 0%, #0f5f59 55%, #148d83 100%); }
.course-cta .btn-ghost {
  --bs-btn-bg: #fff; --bs-btn-color: #13776f; --bs-btn-border-color: #168c83;
  --bs-btn-hover-bg: #e7f3f4; --bs-btn-hover-color: #0b423e; --bs-btn-hover-border-color: #168c83;
  --bs-btn-active-bg: #e7f3f4; --bs-btn-active-color: #0b423e; --bs-btn-active-border-color: #168c83;
}

/* ---------- Logo (replaces the portal-name text; link keeps its aria-label) ---------- */
.site-brand {
  width: 101px; height: 60px;
  background: url(/css_themes/safetywatch/8857979.gif) left center / contain no-repeat;
}
.site-brand img { display: none; }
.site-brand-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 575.98px) { .site-brand { width: 81px; height: 48px; } }

/* ---------- Header ---------- */
.site-header { background: #fff; border-top: 4px solid #0b423e; border-bottom: 1px solid var(--portal-border); }
.site-nav .nav-link { color: #0b423e; font-family: 'Oswald', Impact, sans-serif; text-transform: uppercase; letter-spacing: .03em; }
@media (min-width: 992px) {   /* current page: accent underline */
  .site-nav .nav-link { color: #0b423e; border-radius: 0; border-bottom: 3px solid transparent; }
  .site-nav .nav-link:hover { background: transparent; color: #13776f; border-bottom-color: color-mix(in srgb, #12d4c5 45%, transparent); }
  .site-nav .nav-link.active, .site-nav .nav-item.active > .nav-link { background: transparent; color: #0b423e; border-bottom-color: #12d4c5; }
}

/* ---------- Hero bands (catalog + content pages) ---------- */
.hero-b, .page-hero { background: linear-gradient(180deg, #0b423e 0%, #0d4e49 55%, #107169 100%); border-bottom: 3px solid #12d4c5; }
.hero-title, .page-hero h1 { color: #fff; text-shadow: 0 0 18px rgba(18, 212, 197, .45); }

/* ---------- Footer: dark ---------- */
.site-footer { background: #0b423e; border-top: 0; color: rgba(255, 255, 255, .72); }
.site-footer a { color: #fff; }
.site-footer a:hover { color: #12d4c5; }
.site-footer-name, .site-footer-heading { color: #fff; }
.site-footer-copy { color: rgba(255, 255, 255, .72); border-top-color: rgba(255, 255, 255, .15); }
.site-footer-powered img { content: url(/images/ots-logo-foot-white.png); opacity: .9; }
