/* Accessibility (WCAG 2.2 AA).
   Nothing here is visible until a keyboard user focuses an element. */

/* Text for screen readers only (WCAG 1.3.1, 4.1.2) */
.a11y-sr-only,
.home #main-container > .page-heading-hidden,
.single-jobs #main-container > .page-heading-hidden {
	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;
}

.home #main-container > .page-heading-hidden,
.single-jobs #main-container > .page-heading-hidden {
	display: block !important;
}

/* Skip link: off-screen until focused (WCAG 2.4.1) */
.a11y-skip-link {
	position: absolute;
	top: -200px;
	left: 8px;
	z-index: 100000;
	padding: 12px 16px;
	background: #000;
	color: #fff !important;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: underline;
}

.a11y-skip-link:focus {
	top: 8px;
}

/* Keyboard focus indicator (WCAG 2.4.7, 2.4.11). :focus-visible does not
   match mouse clicks on links and buttons, so pointer users see no change. */
html body :focus-visible {
	outline: 2px solid #000 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px #fff !important;
}

/* Gray body copy (.a-gray, theme @gray #7f828c = 3.84:1 on white) darkened the
   minimum needed for WCAG 1.4.3 (4.67:1). */
.a-gray,
.a-gray * {
	color: #71747e;
}

/* Contact Form 7 error states on forms 1753 and 1687 (WCAG 1.4.3), site palette @red and @gray-dark. */
.wpcf7[id^="wpcf7-f1753-"] .wpcf7-not-valid-tip,
.wpcf7[id^="wpcf7-f1687-"] .wpcf7-not-valid-tip {
  color: #b5121b;
}
.wpcf7[id^="wpcf7-f1753-"] label:has(input.wpcf7-file[aria-invalid="true"]),
.wpcf7[id^="wpcf7-f1687-"] label:has(input.wpcf7-file[aria-invalid="true"]),
.wpcf7[id^="wpcf7-f1753-"] input.wpcf7-file[aria-invalid="true"],
.wpcf7[id^="wpcf7-f1687-"] input.wpcf7-file[aria-invalid="true"] {
  color: #666972;
}

/* Search forms without a submit button get one that appears only on keyboard focus (HTMLCS H32, WCAG 3.2.2). */
.a11y-search-submit:focus {
  position: static !important;
  clip: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0.5em 0 0 !important;
  padding: 0.5em 1em !important;
  overflow: visible !important;
  white-space: normal !important;
  border: 2px solid #b5121b !important;
  background: #b5121b;
  color: #fff;
}

/* Upload label and file control sit on the tinted form panel (#f0eef1); site @gray-dark keeps them at 4.76:1 in every state (WCAG 1.4.3). */
.wpcf7[id^="wpcf7-f1753-"] label:has(input.wpcf7-file),
.wpcf7[id^="wpcf7-f1687-"] label:has(input.wpcf7-file),
.wpcf7[id^="wpcf7-f1753-"] input.wpcf7-file,
.wpcf7[id^="wpcf7-f1687-"] input.wpcf7-file {
	color: #666972;
}
