/* TW #4956 design A extras: what the mockup did not need (dropdowns, search, credit line, screen-reader text) and the
   inner pages' old Drupal frame recoloured to design A. Loaded on every page after the take CSS / chrome.css. */

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Top bar search */
.t127a-search { margin: 0; }
.t127a-search input[type="search"] { width: 170px; height: 30px; padding: 3px 10px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 4px; background: rgba(255, 255, 255, .08); color: #fff; font: inherit; font-size: .9rem; }
.t127a-search input[type="search"]::placeholder { color: rgba(255, 255, 255, .7); }
.t127a-search input[type="search"]:focus { outline: 2px solid var(--brand-accent, #f8a910); outline-offset: 1px; background: rgba(255, 255, 255, .14); }

/* Header menu: WordPress markup (ul.nav-menu > li.menu-item > a, ul.sub-menu) on the mockup's styles */
.site-header .nav-menu { list-style: none; margin: 0; padding: 0; }
.site-header .nav-menu li { position: relative; list-style: none; }
.site-header .nav-menu .current-menu-item > a, .site-header .nav-menu .current-menu-ancestor > a { color: var(--brand-accent, #f8a910); }
.site-header .sub-menu { list-style: none; margin: 0; padding: 0; }
@media (min-width: 981px) {
  .site-header .sub-menu { position: absolute; left: 0; top: 100%; z-index: 60; min-width: 240px; padding: 6px 0; display: none;
    background: var(--brand-primary-deep, #0a1a33); border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; box-shadow: 0 14px 30px rgba(0, 0, 0, .45); }
  .site-header .menu-item-has-children:hover > .sub-menu, .site-header .menu-item-has-children:focus-within > .sub-menu { display: block; }
  .site-header .sub-menu a { display: block; padding: 8px 14px; white-space: nowrap; }
  .site-header .menu-item-has-children > a::after { content: ""; display: inline-block; margin-left: 6px; border: 4px solid transparent; border-top-color: currentColor; vertical-align: 1px; }
}
@media (max-width: 980px) {
  .site-header .sub-menu { padding-left: 14px; }
  .site-header .sub-menu a { font-size: .95em; opacity: .9; }
}

/* Footer: WordPress menus in the columns, the credit line on the dark band */
.footer .foot-grid ul { list-style: none; margin: 0; padding: 0; }
.footer .foot-grid li { margin: 0 0 6px; }
.footer .foot-grid a { text-decoration: none; }
.footer .foot-grid a:hover, .footer .foot-grid a:focus { text-decoration: underline; }
.t127a-credit { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .12); }
.t127a-credit .plc-credit { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; color: rgba(255, 255, 255, .8); font-size: .9rem; }
.t127a-credit .plc-credit-name { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: #fff; font-weight: 700; text-decoration: none; }
.t127a-credit .plc-credit-name:hover, .t127a-credit .plc-credit-name:focus { color: var(--brand-accent, #f8a910); }

/* Front page: the empty-events line, linked card titles keep the card's colours */
.t127a-none { opacity: .85; }
.card h3 a, .officer h3 a, .events h3 a { color: inherit; text-decoration: none; }
.card h3 a:hover, .officer h3 a:hover, .events h3 a:hover { text-decoration: underline; }
.tape-track a { color: inherit; text-decoration: none; }
.tape-track a:hover { text-decoration: underline; }

/* Inner pages: the Drupal frame (left sidebar + white box) in design A's palette and type */
body.t127-frame {
  --t127-page: var(--brand-night, #0e1218);
  --t127-box: #fff;
  --t127-nav: var(--brand-primary-deep, #0a1a33);
  --t127-nav-on: var(--brand-primary, #00408c);
  --t127-block: var(--brand-mist, #f1f2f4);
  --t127-block-title: var(--brand-primary-deep, #0a1a33);
  --t127-card: #f6f7f9;
  --t127-link: var(--brand-primary, #00408c);
  --t127-text: var(--brand-ink, #1a1a1a);
  font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
  font-size: 16px;
  line-height: 1.6;
  color: var(--t127-text);
}
body.t127-frame .site-content { padding-top: 24px; }
body.t127-frame .site-content > .ast-container { border-radius: 8px 8px 0 0; padding-top: 16px; }
body.t127-frame #primary .entry-title, body.t127-frame #primary .entry-title a,
body.t127-frame #primary h1, body.t127-frame #primary h2, body.t127-frame #primary h3,
body.t127-frame .t127-block-title, body.t127-frame .page-title {
  font-family: var(--font-heading, "Oswald", system-ui, sans-serif); letter-spacing: .01em;
}
body.t127-frame #primary article.ast-article-single .entry-title,
body.t127-frame #primary .entry-title, body.t127-frame #primary .entry-title a { font-size: 26px; font-weight: 600; color: var(--brand-primary-deep, #0a1a33); }
body.t127-frame #primary .entry-content { font-size: 16px; line-height: 1.65; }
body.t127-frame .t127-sidebar .t127-block { border-radius: 8px; padding: 0 0 6px; overflow: hidden; }
body.t127-frame .t127-block-title { color: #fff; padding: 9px 12px; font-size: 16px; text-transform: uppercase; }
body.t127-frame .t127-sidebar .t127-block a { color: var(--brand-primary, #00408c); }
body.t127-frame #primary .t127-content-bottom .t127-block-title { color: var(--brand-primary-deep, #0a1a33); }
body.t127-frame .footer { margin-top: 0; }
body.t127-frame .site-footer { display: none; }

/* Astra adds its own submenu toggle button to menu items; our header shows submenus by hover/focus (desktop) or inline (phone) */
.site-header .ast-menu-toggle, .site-header .dropdown-menu-toggle { display: none !important; }

/* Inner pages: the old frame's "every link is the link colour" rule must not reach design A's header, footer and buttons */
body.t127-frame .site-header .logo-link, body.t127-frame .site-header .logo-link b, body.t127-frame .site-header .logo-link small { color: #fff; text-decoration: none; }
body.t127-frame .site-header .nav-menu a, body.t127-frame .topbar a { color: #fff; }
body.t127-frame .site-header .nav-menu .current-menu-item > a, body.t127-frame .site-header .nav-menu .current-menu-ancestor > a { color: var(--brand-accent, #f8a910); }
body.t127-frame .btn-primary, body.t127-frame .btn-primary:hover, body.t127-frame .btn-primary:focus { color: #fff; }
body.t127-frame .footer a { color: #fff; }
body.t127-frame .footer .foot-grid ul li { margin: 0 0 8px; line-height: 1.45; }
body.t127-frame .footer .foot-grid ul li a { display: inline; padding: 0; line-height: 1.45; }
