/* ==========================================================================
   Accessibility remediation - WCAG 2.1 Level AA
   --------------------------------------------------------------------------
   This file only corrects values that failed a WCAG success criterion.
   Layout, spacing, typography and imagery are left untouched; the colour
   values below are the nearest accessible equivalents of the originals.
   Loaded last so that it wins over css/style.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   SC 2.4.7 Focus Visible
   css/style.css sets `:focus { outline: none; }` globally, which removes the
   only indicator keyboard users have. Restore a high-contrast indicator.
   -------------------------------------------------------------------------- */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
summary:focus,
[tabindex]:focus,
[role="button"]:focus,
[role="tab"]:focus {
	outline: 3px solid #ffbf47 !important;
	outline-offset: 2px !important;
}

/* Keep the original look for pointer users where the browser supports it. */
@supports selector(:focus-visible) {
	a:focus:not(:focus-visible),
	button:focus:not(:focus-visible),
	summary:focus:not(:focus-visible),
	[tabindex]:focus:not(:focus-visible),
	[role="button"]:focus:not(:focus-visible),
	[role="tab"]:focus:not(:focus-visible) {
		outline: none !important;
	}
}

/* --------------------------------------------------------------------------
   SC 2.4.1 Bypass Blocks - "Skip to main content"
   Hidden until it receives keyboard focus, then pinned to the top-left.
   -------------------------------------------------------------------------- */
.skip-link {
	position: absolute;
	top: -100px;
	left: 8px;
	z-index: 100000;
	display: inline-block;
	padding: 12px 20px;
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: #041530;
	background-color: #ffbf47;
	border: 2px solid #041530;
	border-radius: 0 0 4px 4px;
	text-decoration: none;
	transition: none;
}

.skip-link:focus,
.skip-link:active {
	top: 0;
	color: #041530;
}

/* The skip-link target must not show a focus ring of its own. */
[id="main-content"]:focus {
	outline: none !important;
}

/* --------------------------------------------------------------------------
   Utility: available to assistive technology, invisible on screen.
   -------------------------------------------------------------------------- */
.a11y-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 Contrast (Minimum) - body links
   DodgerBlue (#1E90FF) reaches only 2.6:1 on the #E8E8E8 section backgrounds
   and 3.2:1 on white. #0A5AA8 keeps the same blue hue at 5.6:1 / 6.9:1.
   -------------------------------------------------------------------------- */
a,
a:focus,
a:active {
	color: #0a5aa8;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
[class^='heading-'] a:hover,
a.hover-text:hover, a.hover-text:focus,
a.hover-light-text:hover, a.hover-light-text:focus,
.post-title > a,
.rights a:hover,
.text-primary {
	color: #0a5aa8;
}

/* Top-level nav links hover red on the dark navy bar; pure red is 3.9:1. */
.demo:hover {
	color: #ff6b6b !important;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 - breadcrumbs
   rgba(255,255,255,.4) resolves to 3.7:1 on the dark breadcrumb bands.
   -------------------------------------------------------------------------- */
.breadcrumbs-custom > li,
.breadcrumbs-custom > li > a,
.breadcrumbs-custom > li:not(:last-child):after {
	color: rgba(255, 255, 255, 0.85);
}

.breadcrumbs-custom > li > a:hover,
.breadcrumbs-custom > li > a:focus {
	color: #ffffff;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 - buttons whose white label sat on #1E90FF (3.2:1) or red (4.0:1)
   -------------------------------------------------------------------------- */
.btn-primary,
.btn-primary:active,
.btn-primary:focus,
.btn-contact,
.btn-contact:active,
.btn-contact:focus {
	color: #ffffff;
	background: #0a5aa8;
	background-color: #0a5aa8;
	border-color: #0a5aa8;
}

.btn-primary:hover,
.btn-contact:hover {
	color: #ffffff;
	background-color: #084a8c;
	border-color: #084a8c;
}

.button-primary {
	color: #ffffff;
	background-color: #c13326;
}

.button-primary:before {
	background: linear-gradient(to bottom, transparent, #8f2a20);
}

/* The blue call-to-action band that carries the investor-awareness ticker. */
section.bg-primary {
	background-color: #0a5aa8;
}

section.bg-primary a,
section.bg-primary a:focus,
section.bg-primary a:active {
	color: #ffffff;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   SC 1.4.11 Non-text Contrast - form control borders
   The default #ced4da / transparent borders reach only ~1.5:1.
   -------------------------------------------------------------------------- */
.form-control,
.form-input,
.txtInput,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
select,
textarea {
	border: 1px solid #767676;
}

.form-control:focus,
.form-input:focus,
select:focus,
textarea:focus {
	border-color: #0a5aa8;
}

/* The captcha refresh glyph - #EA880F is 2.6:1 on white. */
.ref-btn .fa,
.ref-btn i {
	color: #b06000 !important;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 - the readonly captcha field renders black text over captcha.jpg.
   Force an opaque light backdrop underneath the image so the code is legible.
   -------------------------------------------------------------------------- */
#mainCaptcha {
	background-color: #ffffff;
	color: #16171a;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 - accordion headings on opportunities.php (#FF9900 = 1.7:1).
   These render at 22px below the 1600px breakpoint, so they are normal-size
   text and need the full 4.5:1 rather than the large-text 3:1.
   -------------------------------------------------------------------------- */
.panel-title.asd {
	color: #985600 !important;
}

/* --------------------------------------------------------------------------
   SC 1.4.3 - the navigation bar paints white links over images/topbg.png.
   Declaring the matching solid colour makes the contrast deterministic.
   -------------------------------------------------------------------------- */
.rd-navbar-creative {
	background-color: #06214c;
}

/* --------------------------------------------------------------------------
   SC 2.2.2 Pause, Stop, Hide - CSS replacement for the deprecated <marquee>.
   js/accessibility.js swaps each ticker in and sets the duration so the text
   travels at the same speed the marquee used.
   -------------------------------------------------------------------------- */
.a11y-ticker {
	display: block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
}

.a11y-ticker-track {
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	will-change: transform;
	animation-name: a11y-ticker-scroll;
	animation-duration: 30s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.a11y-ticker-track > div {
	display: inline-block;
}

.a11y-ticker.is-paused .a11y-ticker-track {
	animation-play-state: paused;
}

@keyframes a11y-ticker-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}

/* The toggle button injected next to each ticker. */
.a11y-motion-toggle {
	display: inline-block;
	margin: 0 0 0 10px;
	padding: 4px 12px;
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #041530;
	background-color: #ffffff;
	border: 1px solid #041530;
	border-radius: 3px;
	cursor: pointer;
	vertical-align: middle;
}

.a11y-motion-toggle:hover {
	background-color: #ffbf47;
}

/* --------------------------------------------------------------------------
   SC 2.3.3 / 2.2.2 - honour the operating-system "reduce motion" setting.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*:before,
	*:after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}

	/* The ticker stays put rather than snapping to its end position. */
	.a11y-ticker-track {
		animation: none !important;
		padding-left: 0 !important;
		transform: none !important;
	}

	.a11y-ticker {
		white-space: normal;
		overflow: visible;
	}
}

/* --------------------------------------------------------------------------
   SC 1.3.4 Orientation - the audit could not determine that the page works in
   both orientations. Neutralise any inherited orientation lock.
   -------------------------------------------------------------------------- */
@media screen and (orientation: portrait) {
	html {
		transform: none !important;
		-webkit-transform: none !important;
	}
}

@media screen and (orientation: landscape) {
	html {
		transform: none !important;
		-webkit-transform: none !important;
	}
}

/* --------------------------------------------------------------------------
   SC 1.4.1 Use of Colour - raw URLs printed inside body copy were told apart
   from the surrounding text by colour alone.
   -------------------------------------------------------------------------- */
.tab-content p > a[href^="http"],
p > a[href^="mailto:"] {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Submenu disclosure toggles are focusable (see js/accessibility.js); make
   sure the focus ring is not clipped by the navbar.
   -------------------------------------------------------------------------- */
.rd-navbar-submenu-toggle:focus {
	outline-offset: 0 !important;
}

/* --------------------------------------------------------------------------
   Icon fonts vs. the EnableStack font tools
   --------------------------------------------------------------------------
   "Font Selection", "Readable Font" and the Dyslexia profile apply
   `* { font-family: … !important }` to the whole page. The site draws its
   chevrons, phone/mail glyphs and social icons from icon fonts, so those would
   turn into empty boxes while a font tool is on. These rules re-assert the
   icon families on the glyph carriers only; body copy still switches font.
   The `html` prefix is there to out-specify the widget's `*` rule.
   -------------------------------------------------------------------------- */
html .mdi,
html [class*="mdi-"],
html .mdi:before,
html [class*="mdi-"]:before,
html .breadcrumbs-custom > li:not(:last-child):after,
html .rd-navbar-submenu-toggle,
html .rd-navbar-submenu-toggle:before,
html .rd-navbar-dropdown li > a:before,
html .rd-megamenu-list li > a:before {
	font-family: "Material Design Icons" !important;
}

html .fa,
html [class*="fa-"],
html .fa:before,
html [class*="fa-"]:before {
	font-family: "FontAwesome" !important;
}

html .linearicons,
html [class^="linearicons-"],
html [class*=" linearicons-"],
html [class^="linearicons-"]:before,
html [class*=" linearicons-"]:before {
	font-family: "Linearicons" !important;
}

html .mercury-icon,
html [class^="mercury-icon-"],
html [class*=" mercury-icon-"],
html [class^="mercury-icon-"]:before,
html [class*=" mercury-icon-"]:before {
	font-family: "Mercury" !important;
}
