/*
 * CyberAlert.io page-level defaults on top of tokens.css: the Hallmark base rules, set over Divi's.
 * Selectors that override Divi start with `body` so they still win when Divi defers part of its own CSS
 * to the footer.
 */

html, body { overflow-x: clip; background: var(--color-paper); }
html { scrollbar-color: var(--color-muted) var(--color-paper); scroll-padding-top: var(--space-3xl); }

body {
  /* Divi's Theme Options still name the old faces; its modules read these variables */
  --et_global_body_font: var(--font-body);
  --et_global_heading_font: var(--font-display);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 300;
  font-variation-settings: "SHRP" 0;
  font-variant-numeric: tabular-nums;
  font-synthesis: none;
  line-height: 1.6;
  color: var(--color-ink-2);
  caret-color: var(--color-accent);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--color-accent-soft); color: var(--color-ink); }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }

code, kbd, pre, samp { font-family: var(--font-body); font-variant-numeric: tabular-nums; }
hr { border: 0; border-top: var(--rule-hair) solid var(--color-rule); }
b, strong, th { font-weight: 400; color: var(--color-ink); }
body #page-container th, body #page-container dt { font-weight: 400; }

/* Divi defaults that are white, grey or blue out of the box */
body #page-container,
body #main-content,
body .et_pb_section { color: var(--color-ink-2); background-color: var(--color-paper); }
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-variation-settings: "SHRP" 100;
  letter-spacing: var(--tracking-display);
  line-height: 1.05;
  color: var(--color-ink);
  padding-bottom: 0;
  overflow-wrap: break-word;
  min-width: 0;
  text-wrap: balance;
}
body h4, body h5, body h6 { font-weight: 400; letter-spacing: -0.01em; line-height: 1.25; }
body p { color: inherit; text-wrap: pretty; }
body a { color: var(--color-ink); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
body a:hover { color: var(--color-ink); }
body #main-content .container::before { display: none; }
[hidden] { display: none !important; }

/* Divi's default header and footer, until the Theme Builder templates replace them */
body #main-header,
body #main-header.et-fixed-header { background: var(--color-paper); border-bottom: var(--rule-hair) solid var(--color-rule); box-shadow: none; }
body #top-menu li a,
body #main-header .et_mobile_menu li a { color: var(--color-muted); }
body #top-menu li a:hover,
body #top-menu li.current-menu-item > a { color: var(--color-ink); opacity: 1; }
body #main-header .et_mobile_menu { background: var(--color-paper-2); border-top-color: var(--color-rule-2); }
body #et_search_icon::before,
body .mobile_menu_bar::before { color: var(--color-muted); }
body #main-footer { color: var(--color-muted); background: var(--color-paper); border-top: var(--rule-hair) solid var(--color-rule); }
body #footer-bottom { color: var(--color-muted); background: var(--color-paper); border-top: var(--rule-hair) solid var(--color-rule); }
body #footer-info,
body #footer-info a { color: var(--color-muted); }

@media (max-width: 60rem) { :root { --gutter: 24px; --section-gap-s: 80px; --section-gap: 96px; --section-gap-l: 120px; } }
@media (max-width: 40rem) { :root { --gutter: 16px; --section-gap-s: 56px; --section-gap: 72px; --section-gap-l: 96px; --gap-columns: 16px; } }
@media (prefers-reduced-motion: reduce) {
  *:not(.keep-motion), *:not(.keep-motion)::before, *:not(.keep-motion)::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
