/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Version: 4.14.1
Requires at least: 5.3
WC requires at least: 3.0
WC tested up to: 11.2.0
Tested up to: 7.1
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */
/*
Theme Name: Teamsters Local 127
Template: astra
Description: Plain Astra child keeping teamsters127.org's Drupal page frame (TW #4789): banner with search, navy horizontal menu, left sidebar, main column, light-blue footer, credit. Colours sampled from the Drupal theme `client` and the live page.
Version: 0.2.0
Author: Prometheus Labor Communications
Text Domain: teamsters127-child
*/

:root {
	--t127-page: #28456c;        /* the navy page behind the white box */
	--t127-box: #fff;
	--t127-nav: #064a7b;         /* menu bar, dropdowns */
	--t127-nav-on: #3d6ba7;      /* current / hover menu item */
	--t127-block: #a0c7e6;       /* sidebar blocks, footer */
	--t127-block-title: #6b8fb2; /* sidebar title band, tagline */
	--t127-card: #e6f1fa;        /* main-column cards */
	--t127-link: #0e4f87;
	--t127-text: #111;
	--d2w-card: var(--t127-card);    /* plc-d2w album cards */
	--d2w-accent: var(--t127-nav);
}

body.t127-frame,
.t127-frame #page,
.t127-frame .site-content,
.t127-frame.ast-plain-container,
.t127-frame .ast-plain-container {
	background: var(--t127-page);
}
body.t127-frame {
	font-family: Arial, Helvetica, Verdana, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--t127-text);
}
.t127-frame a { color: var(--t127-link); }
.t127-frame a:hover, .t127-frame a:focus { color: var(--t127-nav-on); }

/* The white page box: header, menu, columns and footer all sit inside it, 940 wide with a 10px margin */
.t127-wrap { max-width: 960px; margin: 0 auto; background: var(--t127-box); padding: 10px 10px 0; }
.t127-footer .t127-wrap { padding-bottom: 0; }

/* Header: the banner with the search box on its right */
.t127-header { padding: 12px 0 0; }
.t127-header .t127-wrap { padding-bottom: 0; display: flow-root; } /* keeps the menu bar's margin inside the white box */
.t127-banner { position: relative; line-height: 0; }
.t127-logo, .t127-logo img { display: block; width: 100%; height: auto; }
.t127-search { position: absolute; right: 16px; top: 52%; display: flex; gap: 6px; line-height: 1; }
.t127-search input[type="search"] { width: 160px; height: 24px; padding: 2px 6px; border: 1px solid #9fb6cf; border-radius: 0; font-size: 13px; background: #fff; }
.t127-frame .t127-search button {
	height: 24px; padding: 0 8px; border: 0; border-radius: 4px; background: #f39a2b; color: #fff;
	font: bold 14px/1 Arial, Helvetica, sans-serif; cursor: pointer;
}
.t127-frame .t127-search button:hover, .t127-frame .t127-search button:focus { background: #d97f12; }

/* Primary menu: the navy bar, uppercase white links, dropdowns on hover/focus, no motion */
.t127-nav { background: var(--t127-nav); margin: 10px 0 12px; padding: 0 8px; border-radius: 5px; position: relative; z-index: 97; }
.t127-menu, .t127-menu ul { list-style: none; margin: 0; padding: 0; }
.t127-menu { display: flex; flex-wrap: wrap; }
.t127-menu > li { position: relative; }
.t127-menu a {
	display: block; color: #fff; text-decoration: none;
	font-weight: bold; font-size: 13px; line-height: 1.5; text-transform: uppercase;
	padding: 7px 9px;
}
.t127-frame .t127-menu a:hover, .t127-frame .t127-menu a:focus { color: #fff; background: var(--t127-nav-on); }
.t127-menu > li.current-menu-item > a,
.t127-menu > li.current-menu-ancestor > a { background: var(--t127-nav-on); }
.t127-menu ul {
	display: none; position: absolute; left: 0; top: 100%; min-width: 240px;
	background: var(--t127-nav); z-index: 98;
}
.t127-menu li:hover > ul, .t127-menu li:focus-within > ul { display: block; }
.t127-menu ul a { text-transform: none; padding: 6px 12px; }
.t127-menu-toggle { display: none; }

/* The frame: left 220 | main, 20px gutter; no left blocks on a page lets the main column widen */
.t127-frame .site-content { padding: 0; display: flex; flex-direction: column; }
/* Astra stretches #content to the window on short pages: let the white box take that height, so the footer follows it */
.t127-frame .site-content > .ast-container {
	display: flex; align-items: flex-start; gap: 20px;
	max-width: 960px; width: 100%; flex: 1 0 auto; padding: 0 10px 10px; margin: 0 auto; background: var(--t127-box);
}
.t127-frame .site-content > .ast-container::before,
.t127-frame .site-content > .ast-container::after { display: none; }
.t127-sidebar-left { flex: 0 0 220px; width: 220px; order: 1; }
.t127-frame #primary { flex: 1 1 auto; min-width: 0; width: auto; order: 2; }
body.t127-frame #content #primary, body.t127-frame #content .site-main { margin: 0; padding: 0; } /* beats Astra's #primary margins */
.t127-front-blocks #primary > .site-main { display: none; }

/* Sidebar blocks: light-blue box, title on a darker band */
.t127-sidebar .t127-block { background: var(--t127-block); border-radius: 5px; padding: 5px; margin: 0 0 12px; }
.t127-block-title {
	margin: 0; background: var(--t127-block-title); color: #fff;
	font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 22px; line-height: 1.1;
	padding: 5px 10px;
}
.t127-sidebar .t127-block > :not(.t127-block-title) { padding: 8px 6px 4px; }
.t127-sidebar .t127-block p { margin: 0 0 .5em; }
.t127-sidebar .t127-block img { display: block; max-width: 100%; height: auto; margin: 0 auto 6px; }

/* Main column: light-blue cards; the tagline on the darker band; inner pages one card */
.t127-frame #primary .ast-article-single,
.t127-frame #primary article { background: var(--t127-card); border-radius: 5px; padding: 12px; margin: 0 0 16px; border: 0; }
/* A single page or post: the title in black above the card, the body in the card (Drupal's node page) */
.t127-frame #primary article.ast-article-single { background: none; padding: 0; }
.t127-frame #primary article.ast-article-single .entry-header { margin: 0 0 10px; }
.t127-frame #primary article.ast-article-single .entry-title { color: #000; font-weight: bold; font-size: 22px; }
.t127-frame #primary article.ast-article-single .entry-content { background: var(--t127-card); border-radius: 5px; padding: 12px; }
.t127-content-top .t127-block { margin: 0 0 6px; }
.t127-content-top .t127-block-title { display: none; }
.t127-content-region .t127-block { background: var(--t127-block-title); color: #fff; border-radius: 5px; padding: 10px 12px 14px; margin: 0 0 16px; }
.t127-content-region .t127-block-title { display: none; }
.t127-content-region p { margin: 0; font-style: italic; }
.t127-content-bottom .t127-block-title { background: none; color: #000; font-size: 22px; padding: 0 0 8px; }
.t127-content-bottom .textwidget, .t127-content-bottom .t127-card { background: var(--t127-card); border-radius: 5px; padding: 12px; }
.t127-frame #primary .entry-title,
.t127-frame #primary .entry-title a { color: var(--t127-link); font-size: 22px; line-height: 1.25; font-weight: normal; margin: 0 0 .4em; }
.t127-frame #primary h2, .t127-frame #primary h3 { color: var(--t127-link); }
.t127-frame #primary .entry-content { font-size: 14px; line-height: 1.5; }
.t127-frame #primary .entry-content p { margin: 0 0 1em; }
.t127-frame .posted-by, .t127-frame .author, .t127-frame .entry-meta .byline, .t127-frame .entry-meta a[rel="author"] { display: none; } /* never show an author; the post date stays (Astra meta = date only), TW 4797 */

/* Footer: the light-blue box; credit strip under it on the navy page */
.t127-footer { padding: 0 0 30px; }
.t127-footer-box { background: var(--t127-block); color: #000; margin: 0 -10px; padding: 1em 20px 1.2em; text-align: center; font-size: 14px; }
.t127-footer-box .t127-block { margin: 0; }
.t127-footer-box h4 { margin: 0 0 .4em; font-size: 16px; }
.t127-footer-box p { margin: 0 0 .2em; }
.t127-credit { background: var(--t127-page); margin: 0 -10px; }

/* Credit line (our standard) */
.plc-credit { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 10px; padding: 14px 16px 18px; font-size: 16px; line-height: 1.4; color: #dfe8f2; text-align: center; }
.t127-frame .plc-credit-name { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: #fff; font-weight: 700; text-decoration: none; }
.t127-frame .plc-credit-name:hover, .t127-frame .plc-credit-name:focus { color: #fff; }
.plc-credit-name:hover span:last-child, .plc-credit-name:focus-visible span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.plc-fist-wrap { position: relative; display: inline-grid; place-items: center; width: 40px; height: 62px; }
.plc-fist-wrap::before { content: ""; position: absolute; inset: -10px -12px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,176,40,.55), rgba(255,120,20,.18) 60%, transparent); animation: plcGlow 2.4s ease-in-out infinite; }
.plc-fist { position: relative; overflow: visible; }
.plc-flare { transform-box: fill-box; transform-origin: 50% 100%; transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.plc-credit-name:hover .plc-flare, .plc-credit-name:focus-visible .plc-flare { transform: scale(1.07, 1.16); }
.plc-credit-name:hover .plc-fist-wrap::before { animation-duration: .9s; }
@keyframes plcGlow { 0%, 100% { opacity: .55; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.06); } }
@media (prefers-reduced-motion: reduce) {
	.plc-flame-img { filter: none; }
	.plc-fist-wrap::before { animation: none; opacity: .6; }
	.plc-flare { transition: none; }
}

/* Phone and tablet: one column (main, then left), search under the banner, menu behind a toggle */
@media (max-width: 921px) {
	.t127-header { padding-top: 0; }
	.t127-wrap { padding: 0; }
	.t127-search { position: static; padding: 10px 16px 0; }
	.t127-search input[type="search"] { flex: 1 1 auto; width: auto; height: 36px; font-size: 16px; }
	.t127-frame .t127-search button { height: 36px; padding: 0 14px; }
	.t127-nav { margin: 10px 0 14px; padding: 0 16px; border-radius: 0; }
	.t127-nav.t127-js .t127-menu-toggle {
		display: block; width: 100%; min-height: 44px; background: none; border: 0; color: #fff;
		font: bold 14px/1 Arial, Helvetica, sans-serif; text-transform: uppercase; text-align: left; padding: 0; cursor: pointer;
	}
	.t127-nav.t127-js .t127-menu-toggle::after { content: " \25BE"; }
	.t127-nav.t127-js:not(.is-open) .t127-menu { display: none; }
	.t127-menu { display: block; padding-bottom: 8px; }
	.t127-menu a { padding: 10px 0; font-size: 14px; }
	.t127-frame .t127-menu a:hover, .t127-frame .t127-menu a:focus { background: none; text-decoration: underline; }
	.t127-menu ul { display: block; position: static; min-width: 0; padding-left: 16px; background: none; }
	.t127-frame .site-content > .ast-container { flex-direction: column; align-items: stretch; gap: 0; padding: 0 16px 10px; }
	.t127-frame #primary { order: 1; width: 100%; }
	.t127-sidebar-left { order: 2; width: auto; flex: none; }
	.t127-footer-box { margin: 0 16px; }
	.t127-credit { margin: 0; }
}

/* Titles in the main column keep their block colours (beats `#primary h2`) */
.t127-frame #primary .t127-content-bottom .t127-block-title { color: #000; }
/* TW #4956: design A fonts, self-hosted (latin, variable weight), from Google Fonts. */
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;src:url(//teamsters127-stage.prometheuslabor.com/wp-content/themes/teamsters127-child/assets/design-a/fonts/oswald.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(//teamsters127-stage.prometheuslabor.com/wp-content/themes/teamsters127-child/assets/design-a/fonts/source-sans-3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}/* TW #4956 design A chrome for inner pages: tokens, header, footer, buttons (carved from a1.css) */
:root{
  --brand-primary: #00408c;
  --brand-primary-dark: #003687;
  --brand-primary-deep: #0a1a33;
  --brand-action: #0b4fa8;
  --brand-ink: #1a1a1a;
  --brand-night: #0e1218;
  --brand-paper: #ffffff;
  --brand-mist: #f1f2f4;
  --brand-line: #d5d3d4;
  --brand-accent: #f8a910;
  --brand-accent-2: #3c5997;
  --brand-signal: #ffb21a;
  --brand-truck: #f8a910;
  --font-heading: "Oswald", system-ui, sans-serif;
  --font-body: "Source Sans 3", system-ui, sans-serif;
}
:root{
  --deep:var(--brand-night); --navy:var(--brand-primary-deep); --mid:var(--brand-primary); --mid-text:var(--brand-primary-dark);
  --deeper:color-mix(in srgb,var(--deep) 72%,black); --navy-d:color-mix(in srgb,var(--navy) 45%,var(--deep)); --navy-2:color-mix(in srgb,var(--navy) 70%,var(--mid));
  --lblue:rgba(255,255,255,.82); --lblue-d:rgba(255,255,255,.55);  --pale:var(--brand-mist);
  --red:var(--brand-action); --red-h:color-mix(in srgb,var(--brand-action) 82%,white); --red-d:color-mix(in srgb,var(--brand-action) 55%,black);
  --ink:var(--brand-ink); --grey-l:var(--brand-mist); --grey:var(--brand-line); --grey-d:rgba(0,0,0,.74);
  --yellow:var(--brand-accent);
  --flame:var(--brand-signal); --flame-l:color-mix(in srgb,var(--brand-signal) 40%,white); 
  --maxw:1200px; --gut:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.wrap{width:min(100% - 2*var(--gut),var(--maxw));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--yellow);color:var(--ink);padding:.6rem 1rem;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.65rem 1.6rem;border-radius:999px;font-weight:700;font-size:1.17rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 10px 24px color-mix(in srgb,var(--red) 25%,transparent)}
.btn-primary:hover{background:var(--red-h);border-color:var(--red-h)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-sm{min-height:44px;padding:.45rem 1.15rem}
.topbar{background:var(--deeper);color:var(--lblue);font-size:1rem}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1rem}
.tb-left,.tb-right{display:flex;align-items:center;flex-wrap:wrap;gap:0 .25rem}
.tb-left span{display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;font-weight:600;border-radius:6px}
.topbar a:hover{color:var(--yellow)}
.tb-left .tb-addr,.tb-right .tb-reg{display:none}
@media (max-width:639px){
.topbar .wrap{flex-wrap:nowrap}
.tb-left span{padding-left:0}
.tb-right a{padding-right:0}
}
@media (min-width:640px){
.tb-left .tb-addr,.tb-right .tb-reg{display:inline-flex}
}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--deep) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--lblue) 15%,transparent)}
.site-header .wrap{display:flex;align-items:center;gap:.75rem;min-height:78px;flex-wrap:wrap}
.logo-link{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;margin-right:auto;min-height:44px}
.logo-link img{width:56px;height:55px}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text b{font-weight:700;font-size:1.25rem;letter-spacing:.02em}
.logo-text small{font-size:.875rem;color:var(--lblue);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:479px){
.logo-text{display:none}
}
.nav-menu{list-style:none;margin:0;padding:0;display:flex;gap:.1rem;align-items:center}
.nav-menu a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;color:#fff;text-decoration:none;font-weight:600;border-radius:8px}
.nav-menu a:hover{background:rgba(255,255,255,.08)}
.nav-menu a[aria-current="page"]{color:var(--yellow)}
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;border:1px solid color-mix(in srgb,var(--lblue) 35%,transparent);background:transparent;color:#fff;cursor:pointer}
.menu-toggle .bars,.menu-toggle .bars::before,.menu-toggle .bars::after{display:block;width:22px;height:2px;background:#fff;border-radius:2px;content:"";position:relative;transition:transform .25s,opacity .25s}
.menu-toggle .bars::before{position:absolute;top:-7px}
.menu-toggle .bars::after{position:absolute;top:7px}
.nav-open .menu-toggle .bars{background:transparent}
.nav-open .menu-toggle .bars::before{transform:translateY(7px) rotate(45deg)}
.nav-open .menu-toggle .bars::after{transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1280px) and (max-width:1599px){
.nav-menu a{font-size:.9375rem;padding:0 .6rem}
}
@media (max-width:1279px){
html.js .menu-toggle{display:inline-flex;order:3}
.nav-cta{order:2}
html.js .nav-menu{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding:.25rem 0 .9rem;border-top:1px solid color-mix(in srgb,var(--lblue) 15%,transparent)}
html.js .nav-open .nav-menu{display:flex}
html.js .nav-menu a{min-height:48px}
html:not(.js) .nav-menu{order:4;width:100%;flex-wrap:wrap;padding-bottom:.5rem}
}
@media (min-width:1100px){
html.js .netmap{display:block}
html.js .net-panel{display:block}
html.js .trunk{display:none}
}
html:not(.js) .trunk{padding-left:0}
html:not(.js) .trunk::before,html:not(.js) .trunk::after,html:not(.js) .trunk>li::before,html:not(.js) .trunk>li::after{display:none}
@media (min-width:760px){
html:not(.js) .trunk{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
html:not(.js) .trunk .hub-item{grid-column:1/-1}
}
.footer{background:var(--deeper);color:var(--lblue);padding:4rem 0 2rem;border-top:1px solid color-mix(in srgb,var(--lblue) 12%,transparent)}
.foot-grid{display:grid;gap:2rem}
@media (min-width:760px){
.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
}
.footer img{width:88px;height:86px;margin-bottom:1rem}
.footer h3{color:#fff;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}
.footer ul{list-style:none;margin:0;padding:0}
.footer li a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font-weight:600}
.footer li a:hover{color:var(--yellow)}
.footer address{font-style:normal;line-height:1.7}
.foot-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--lblue) 15%,transparent);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;color:var(--lblue)}
@media (min-width:1280px){
html.js .rail{display:block}
}
@media (prefers-reduced-motion:no-preference){
html.js .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
html.js .section:not(.lit) h2.title::after{width:0}
html.js .section:not(.light):not(.white):not(.lit) h2.title{text-shadow:none}
html.js .section:not(.lit) .eyebrow{opacity:.55}
html.js .network:not(.flow) .ln-flow{stroke-dashoffset:1}
html.js .network:not(.flow) .st{fill:var(--deep);stroke:var(--mid);filter:none}
html.js .network:not(.flow) .station .lbl{color:var(--lblue-d)}
html.js .network:not(.flow) .hub-core{fill:var(--mid)}
html.js .network.flow .hub-core{animation:core-breathe 2.6s ease-in-out 1.2s infinite}
html.js .network.flow .ln-pulse{opacity:.9;animation:net-pulse 6s linear 2s infinite}
html.js .network:not(.flow) .trunk::after{transform:scaleY(0)}
html.js .network:not(.flow) .trunk>li::before{background:var(--deep);border-color:var(--mid);box-shadow:none}
html.js .section:not(.lit) .gauge .needle{transform:rotate(6deg)}
}
@media (prefers-reduced-motion:no-preference){
html.appad-js .appad:not(.appad-on) .appad-copy > *,html.appad-js .appad:not(.appad-on) .appad-burst,html.appad-js .appad:not(.appad-on) .appad-pop{opacity:0}
html.appad-js .appad:not(.appad-on) .appad-swash svg{transform:scaleX(0)}
html.appad-js .appad:not(.appad-on) .appad-fan{transform:translateX(0) translateY(calc(var(--pw) * .06)) rotate(0deg) scale(.94)}
}
.logo-text b{font-size:1.35rem;letter-spacing:.03em}
.logo-text small{font-size:.75rem;letter-spacing:.05em;max-width:17em;white-space:normal;line-height:1.15}
@media (min-width:760px){
html:not(.js) .trunk>li:nth-child(even) .node{margin-left:0}
}/* 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; }