:focus {
    outline: -webkit-focus-ring-color auto 1px !important;
}

*:focus-visible {
    outline: 3px solid #005ea5 !important;
    outline-offset: 2px;
}

/* Skip Link (universal) */
.skip-link {
	position: absolute;
	left: -999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	color: #fff;
	background-color: #000;
}

.skip-link:focus {
	left: 10px;
	top: 10px;
	width: auto;
	height: auto;
	background: #000;
	color: #fff;
	padding: 8px;
	z-index: 10000;
	text-decoation: none;
}

/* Screen Reader Only Utility */
.screen-reader-only,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Hide visually but allow focus */
a.before_main_menu:focus {
    opacity: 1;
    display: block;
}

/* Desktop layout adjustment */
@media screen and (min-width: 992px) {
	a.before_main_menu {
		/* Use screen-reader-only directly or in HTML class */
		position: absolute !important;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}
	#header #header_main_alternate .container {
	    position: relative;
	}
}

/* Mobile: hide .before_main_menu completely */
@media screen and (max-width: 991px) {
	a.before_main_menu {
		display: none;
	}
}

/* Miscellaneous styles */
nav.main_menu {
	z-index: 10;	
}

#top #tribe-events-pg-template .tribe-events-notices {
    overflow: hidden;
}

.flex_column.av_one_fifth a.av-screen-reader-only:focus {
    outline: 3px solid #000 !important;
}

.flex_column.av_one_fifth a.av-screen-reader-only {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 99%;
    background: transparent;
    text-indent: -9999px;
    color: #FFF;
}