/* ACCESSIBILITY FIXES */

/* ---------- Colors ---------- */

:root {
	--a11y-focus: var(--primary);
}

/* ---------- Skip link ---------- */

/* Hidden link */
.a11y-skip-link {
	position: absolute;
	top: -100px;
	left: 16px;
	z-index: 100000;
	padding: 12px 20px;
	border-radius: 0;
	background-color: var(--primary);
	color: white;
	font-weight: 600;
	text-decoration: none;
}

/* Focus show */
.a11y-skip-link:focus {
	top: 16px;
	color: white;
	outline: 2px solid var(--dark-1);
	outline-offset: 2px;
}

/* Main focus */
#main:focus {
	outline: none;
}

/* Main wrapper */
.a11y-main {
	display: block;
}

/* ---------- Focus ring ---------- */

/* Visible focus */
.nav-menu a:focus-visible,
.header-widget a:focus-visible,
.search-button > a:focus-visible,
.menu-button:focus-visible,
.menu-close-button:focus-visible,
.footer a:focus-visible,
.bottom-bar a:focus-visible,
.ae-link-yes > a:focus-visible {
	outline: 2px solid var(--a11y-focus);
	outline-offset: 2px;
}

/* ---------- Dropdown menus ---------- */

/* Keyboard open */
.nav-menu li.a11y-open > ul {
	visibility: visible;
	opacity: 1;
	height: auto;
	overflow: visible;
	transition: opacity 250ms ease-in-out;
}

/* Submenu arrow */
.nav-menu > li.menu-item-has-children > a > span::after {
	content: "\f107";
	content: "\f107" / "";
	display: inline-block;
	margin-left: 0.35em;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	transition: transform 250ms ease-in-out;
}

.nav-menu > li.menu-item-has-children:hover > a > span::after,
.nav-menu > li.menu-item-has-children.a11y-open > a > span::after {
	transform: rotate(180deg);
}

/* Hover color */
.nav-menu li ul li.a11y-open > a,
.nav-menu li ul li > a:focus-visible {
	background-color: var(--primary);
	color: white;
	outline-offset: -2px;
	outline-color: white;
}

/* ---------- Hidden menus ---------- */

/* Sticky bar */
.scroll-bar:not(.active) {
	visibility: hidden;
}

/* Mobile drawer */
.mobile-nav-right .mobile-nav:not(.active),
.mobile-nav-left .mobile-nav:not(.active) {
	visibility: hidden;
	transition: all 400ms ease-in-out, visibility 0s linear 400ms;
}

/* ---------- Back to top ---------- */

/* Focus show */
.btt-button:focus-visible {
	height: auto;
	overflow: visible;
	opacity: 1;
	outline: 2px solid var(--a11y-focus);
	outline-offset: 2px;
}

/* ---------- Footer ---------- */

/* Footer wrapper */
.a11y-footer {
	display: block;
}

/* ---------- Home photos ---------- */

/* Link underline */
.text-white a:not(.button):not(.elementor-button) {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Text links ---------- */

/* Link underline */
.main p a:not(.button):not(.elementor-button):not(:has(i[class*="fa-"], img)),
.main .elementor-widget-text-editor li a:not(.button):not(:has(i[class*="fa-"], img)) {
	text-decoration: underline;
	text-underline-offset: 3px;
	border-bottom: 0;
}
