/* NCFWP accessibility fixes (WO-162). Every rule is an override: deactivate the plugin to undo.
   Brand green #5b8b18 measures 4.07:1 with white (needs 4.5:1). #4f7a15 is the nearest shade
   that passes with white text on it (5.1:1) and as text on white and on #f5f5f5 (4.7:1). */

/* --- Contrast: white text on the brand green ------------------------------------------- */
.site-footer,
.genesis-nav-menu li .sub-menu a {
	background-color: #4f7a15;
}

/* Share buttons under news posts (the theme sets these with !important). */
.content .share-filled .sharrre .share,
.content .share-filled .sharrre:hover .count {
	background: #4f7a15 !important;
}

.content .share-filled .sharrre .count,
.content .share-filled .sharrre .count:hover {
	color: #4f7a15;
	border-color: #4f7a15;
}

.content .share-filled .sharrre:hover .count {
	color: #fff;
}

/* Dropdown links keep their white-on-hover look from the theme. */
.genesis-nav-menu li .sub-menu a:hover,
.genesis-nav-menu li .sub-menu a:focus {
	background-color: #fff;
	color: #222;
}

/* --- Contrast: brand green as text on white or light gray ------------------------------ */
.entry-meta a,
.entry-footer .entry-meta a,
.entry-terms a,
.genesis-nav-menu a:hover,
.genesis-nav-menu a:focus,
.entry-title a:hover,
.entry-title a:focus,
.site-header .site-title a:hover,
.archive-pagination li a:hover {
	color: #4f7a15;
}

/* Small gray contact lines in the sidebar staff card (#777 at 12px is 4.47:1). */
.clb-custom-widget-wrapper .staff-phone,
.clb-custom-widget-wrapper .staff-email {
	color: #666;
}

/* Form submit buttons: Gravity Forms now prints a <button>, which the theme colors #222 on #333. */
.gform_wrapper .gform_button,
.gform_wrapper button.button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {
	color: #fff;
}

/* --- Links in running text: underlined, so color is not the only cue -------------------- */
.entry-content p a,
.entry-content li a,
.entry-content td a,
.site-footer .wrap a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.entry-content a.button,
.entry-content a.wp-block-button__link,
.entry-content .sharrre a,
.entry-content .gallery a,
.entry-content a:has(> img) {
	text-decoration: none;
}

/* --- Dropdown menus open for keyboard users --------------------------------------------- */
.genesis-nav-menu .menu-item:focus-within {
	position: static;
}

.genesis-nav-menu .menu-item:focus-within > .sub-menu {
	left: auto;
	opacity: 1;
}

/* --- Visible keyboard focus where the theme removes it ---------------------------------- */
.search-form input:focus-visible,
.soliloquy-container a:focus-visible,
.soliloquy-container button:focus-visible,
.genesis-nav-menu a:focus-visible,
.gform_wrapper input:focus-visible,
.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible {
	outline: 3px solid #1a5fb4;
	outline-offset: 2px;
}

/* --- Slider pause button ----------------------------------------------------------------
   Soliloquy resets everything inside its container, hence the doubled selector and !important. */
.soliloquy-container.soliloquy-container .ncfwp-a11y-slider-toggle {
	position: absolute !important;
	right: 12px !important;
	bottom: 12px !important;
	z-index: 60 !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: rgba(0, 0, 0, 0.75) !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 40px !important;
	text-align: center !important;
	cursor: pointer;
}

.soliloquy-container.soliloquy-container .ncfwp-a11y-slider-toggle:hover,
.soliloquy-container.soliloquy-container .ncfwp-a11y-slider-toggle:focus {
	background: #000 !important;
}

.soliloquy-container.soliloquy-container .ncfwp-a11y-slider-toggle:focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 6px #1a5fb4;
}
