/**
 * U-Design theme – accessibility overrides (all sites)
 */

/* Skip link */
.udsg-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: #003d73;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}

.udsg-skip-link:focus,
.udsg-skip-link:focus-visible {
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	outline: 3px solid #ffb81c;
	outline-offset: 2px;
}

:focus {
	outline: none;
}

:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #005fcc !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
.menu .toggle-btn:focus-visible,
.mobile-menu .toggle-btn:focus-visible,
.elementor-item:focus-visible,
.elementor-nav-menu--dropdown a:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #005fcc !important;
}

.menu .toggle-btn,
.mobile-menu .toggle-btn {
	cursor: pointer;
}

.menu .toggle-btn:focus-visible,
.mobile-menu .toggle-btn:focus-visible {
	border-radius: 2px;
}

li.menu-item-has-children.show > a,
li.menu-item-has-children[aria-expanded="true"] > a {
	text-decoration: underline;
}

.mobile-menu-wrapper.open,
body.mmenu-active {
	overflow: visible;
}

.mobile-menu-toggle:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
}

a[href^="tel:"]:focus-visible,
a[href^="mailto:"]:focus-visible,
.btn:focus-visible,
.button:focus-visible,
.wpcf7-submit:focus-visible,
.elementor-button:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
}

.text-grey,
.text-muted,
.color-grey {
	color: #4a4a4a !important;
}

.main-content a:not(.btn):not(.button):not(.elementor-button):not([class*="btn-"]),
.page-wrapper a:not(.btn):not(.button):not(.elementor-button):not([class*="btn-"]) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.main-content a:not(.btn):not(.button):not(.elementor-button):hover,
.page-wrapper a:not(.btn):not(.button):not(.elementor-button):hover {
	text-decoration: underline;
}

.udsg-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;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
