.site-menu-container {
	position: relative;
}

.site-menu-open iframe {
	pointer-events: none !important;
}

.site-menu {
	display: -webkit-flex;
	display: flex;
	position: relative;
	background: rgb(62, 134, 193);
	font-size: 0;
	font-family: Arial, sans-serif;
	line-height: 1;
	transition: width 0.1s;
	box-sizing: border-box;
}

.site-menu button,
.site-menu input {
	font-family: inherit;
	line-height: inherit;
	float: none;
}

.site-menu-group {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	display: inline-block;
	font-size: 14px;
	white-space: nowrap;
}

.site-menu-group.active {
	z-index: 2;
}

.site-menu-group.active .site-menu-dropdown {
	display: block;
}

.site-menu-group-title {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-left: -1px;
	padding: 7px 10px;
	border: none;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	background: transparent;
	font-size: 14px;
	color: rgb(255, 255, 255);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.site-menu-group-title::-moz-focus-inner {
	padding: 0;
	border: 0
}

.site-menu-group-title:hover,
.site-menu-group-title:focus,
.site-menu-group.active .site-menu-group-title {
	background: rgba(255, 255, 255, 0.2);
	outline: none;
}

.site-menu-group-title.current {
	font-weight: bold;
}

.site-menu-group-icon {
	display: none;
	vertical-align: middle;
	height: 16px;
	width: 16px;
}

.site-menu-show-icons .site-menu-group-icon {
	display: inline-block;
}

.site-menu-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0 -1px;
	min-width: 200px;
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-top: none;
	background: rgb(255, 255, 255);
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.site-menu-dropdown.right-side {
	left: auto;
	right: 0;
}

.site-menu-search-container {
	display: block;
	padding: 7px;
	background: rgb(240, 240, 240);
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

.site-menu-search {
	padding: 3px 7px;
	width: 100%;
	font-size: 14px;
	color: rgb(30, 30, 30);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.site-menu-search:focus {
	outline: 2px solid;
}

.site-menu-dropdown-items {
	position: relative;
	overflow: auto;
}

.site-menu-section-title {
	padding: 4px 7px;
	background: rgb(62, 134, 193);
	color: rgb(255, 255, 255);
	font-size: 16px;
	font-weight: bold;
}

.site-menu-item {
	position: relative;
	display: block;
	padding: 6px 14px;
	color: rgb(40, 40, 40);
	text-decoration: none;
	font-size: 12px;
	overflow: hidden;
}

.site-menu-item:focus {
	outline: none;
}

.site-menu-item.selected {
	outline: none;
	background: rgba(0, 0, 0, 0.1);
	color: rgb(40, 40, 40);
}

.site-menu-item.current {
	font-weight: bold;
}

.site-menu-item.current:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
}

/* =============================================================================
Sidebar
============================================================================= */

.site-menu-sidebar .site-header {
	color : #fff;
}

.site-menu-sidebar .site-middle {
	-webkit-flex-direction: row;
	flex-direction: row;
}

.site-menu-sidebar .site-menu-container {
	width: 45px;
}

.site-menu-sidebar .site-menu {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 45px;
	-webkit-flex-direction: column;
	flex-direction: column;
	border-right: 1px solid rgb(62, 134, 193);
	background: rgb(240, 240, 240) !important;
}

.site-menu-sidebar .site-menu.sizing {
	width: auto !important;
	transition: none !important;
}

.site-menu-sidebar .site-menu.expanded,
.site-menu-sidebar .site-menu.active {
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}

.site-menu-sidebar .site-menu-group {
	position: static;
	display: block;
}

.site-menu-sidebar .site-menu-group-title {
	display: block;
	margin: 0;
	padding: 7px 10px 7px 13px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-left: none;
	width: 100%;
	color: rgb(40, 40, 40);
	text-align: left;
	text-overflow: clip;
}

.site-menu-sidebar .site-menu-group-title:hover,
.site-menu-sidebar .site-menu-group-title:focus,
.site-menu-sidebar .site-menu-group.active .site-menu-group-title {
	background: rgba(0, 0, 0, 0.1);
}

.site-menu-sidebar .site-menu-group-title.current:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
}

.site-menu-sidebar .site-menu-group-icon {
	display: inline-block;
	margin-right: 13px;
}

.site-menu-sidebar .site-menu-dropdown {
	top: 0;
	left: 100%;
	bottom: 0;
	margin: 0;
	border-bottom: none;
}

/* ========================================================================= */
/* New Menu ================================================================ */
/* ========================================================================= */

.focus-menu,
.focus-menu-misc {
	--background-color : #FAFBFD;
	--outline-color    : #0AF;
	--hover-color      : #1E70BF;
	--box-shadow       : 0px 2px 10px rgba(0, 0, 0, 0.2);
	--border-radius    : 5px;
	--collapsed-width  : 40px;
	--item-height      : 2.5em;
	--font-size        : 14px;
	--font-family      : Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

@media (pointer : coarse) {
	.focus-menu,
	.focus-menu-misc {
		--collapsed-width : 50px;
		--item-height     : 3em;
	}

	/*
		FireFox incorrectly reports a coarse pointer on some devices.
		Reset the values if the browser width is large.
		https://bugzilla.mozilla.org/show_bug.cgi?id=1806259
		https://bugzilla.mozilla.org/show_bug.cgi?id=1638556
	*/
	@supports (-moz-appearance : none) {
		@media (min-width : 1024px) {
			.focus-menu {
				--collapsed-width : 40px;
				--item-height     : 2.5em;
			}
		}
	}
}

.focus-menu {
	position    : relative;
	z-index     : 3;
	flex-shrink : 0;
	width       : var(--collapsed-width);
	font-size   : var(--font-size);
	font-family : var(--font-family);
}

.focus-menu > .focus-menu-button {
	position : absolute;
	z-index  : -1;
	top      : 0;
	right    : 0;
	bottom   : 0;
	left     : 0;
	height   : auto;
	opacity  : 0;
}

.focus-menu,
.focus-menu ~ .site-content-container,
.focus-menu ~ .site-content-container .site-content,
.focus-menu ~ .site-content-container .legacy-portal {
	background : var(--background-color) !important;
}

/* Sections */

.focus-menu-sections {
	position        : absolute;
	z-index         : 2;
	top             : 0;
	bottom          : 0;
	left            : 0;
	display         : flex;
	flex-direction  : column;
	justify-content : start;
	outline         : 0;
}

.focus-menu-section {
	background      : var(--background-color);
	box-shadow      : var(--box-shadow);
	overflow-x      : hidden;
	overflow-y      : auto;
	overflow-anchor : none;
}

.focus-menu-section:not(:last-child) {
	flex-shrink                : 0;
	border-bottom-right-radius : var(--border-radius);
}

.focus-menu-section:only-child,
.focus-menu-section:not(:first-child):not(:last-child) {
	flex-grow        : 1;
	flex-shrink      : 1;
	scrollbar-gutter : stable;
}

.focus-menu-section:not(:first-child) {
	flex-shrink             : 0;
	margin-top              : 0.5em;
	border-top-right-radius : var(--border-radius);
}

/* Lists */

.focus-menu ul,
.focus-menu li {
	list-style : none;
}

.focus-menu-section .focus-menu-list {
	position       : relative;
	display        : flex;
	flex-direction : column;
	min-width      : 100%;
	width          : fit-content;
}

.focus-menu-section .focus-menu-list .focus-menu-list {
	padding  : 0 1em 0 var(--collapsed-width);
	overflow : hidden;
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-list {
	padding-left : 0em;
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-item {
	padding : 0 0 0 0.5em;
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-button {
	margin  : 0 -0.5em;
	padding : 0 0.5em;
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-button {
	height : calc(var(--item-height) - 0.5em);
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-icon-container {
	display : none;
}

.focus-menu-section .focus-menu-list .focus-menu-list .focus-menu-text {
	font-size     : 0.9em;
	max-width     : 18em;
	overflow      : hidden;
	text-overflow : ellipsis;
}

/* Items/Buttons */

.focus-menu-section .focus-menu-item {
	position       : relative;
	display        : flex;
	flex-direction : column;
	flex-grow      : 1;
	white-space    : nowrap;
}

.focus-menu-button {
	all             : unset;
	appearance      : none;
	position        : relative;
	display         : flex;
	align-items     : center;
	padding-right   : 0.5em;
	height          : var(--item-height);
	color           : #333;
	text-decoration : none;
	cursor          : pointer;
}

.focus-menu-button:is(:focus-visible, :active, :hover) {
	color : var(--hover-color);
}

.focus-menu input:focus-visible,
.focus-menu .focus-menu-button:focus-visible,
.focus-menu .focus-menu-button:focus-visible ~ .focus-menu-sections {
	outline        : 2px solid var(--outline-color);
	outline-offset : -2px;
}

.focus-menu-icon-container {
	display         : flex;
	align-items     : center;
	justify-content : center;
	align-self      : stretch;
	flex-shrink     : 0;
	width           : var(--collapsed-width);
}

.focus-menu-icon {
	width  : 20px;
	height : 20px;
}

.focus-menu-text {
	flex-grow : 1;
}

.focus-menu-toggle-arrow {
	margin-left: 0.5rem;
}

.focus-menu-toggle-arrow svg {
	transform : none;
}

/* Menu Toggling */

.focus-menu:not(.active) .focus-menu-section {
	width      : var(--collapsed-width) !important;
	overflow-y : hidden !important;
}

.focus-menu-section .focus-menu-item:not(.active) > .focus-menu-list {
	height : 0 !important;
}

.focus-menu-item:not(.active) > .focus-menu-toggle .focus-menu-toggle-arrow svg {
	transform : rotate(-90deg);
}

/* Transitions/Animations */

.focus-menu.initialized .focus-menu-section {
	transition : width 0.25s ease;
}

.focus-menu.initialized .focus-menu-section .focus-menu-list {
	transition : height 0.25s ease;
}

.focus-menu.initialized .focus-menu-toggle-arrow svg {
	transition : transform 0.25s ease;
}

/* Scrollbar */

.focus-menu-section {
	scrollbar-width : thin;
	scrollbar-color : rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0.1);
}

.focus-menu-section::-webkit-scrollbar {
	-webkit-appearance : none;
	width              : 10px;
	height             : 10px;
}

.focus-menu-section::-webkit-scrollbar-track {
	background    : rgba(0, 0, 0, 0.1);
	border-radius : 0 0 var(--border-radius) 0;
}

.focus-menu-section::-webkit-scrollbar-thumb {
	cursor        : pointer;
	border-radius : var(--border-radius);
	background    : rgba(0, 0, 0, 0.25);
	transition    : color 0.2s ease;
}

.focus-menu-section::-webkit-scrollbar-thumb:window-inactive {
	background : rgba(0, 0, 0, 0.15);
}

.focus-menu-section::-webkit-scrollbar-thumb:hover {
	background : rgba(128, 135, 139, 0.8);
}

/* Search */

.focus-menu-search-label {
	display       : flex;
	padding-right : 0.5em;
	height        : var(--item-height);
}

.focus-menu-search-container {
	display   : flex;
	flex-grow : 1;
	padding   : 0.25em 0;
}

.focus-menu-search {
	flex-grow     : 1;
	padding       : 0.1em 0.5em;
	height        : auto !important;
	border        : 1px solid #CCC;
	border-radius : 3px;
	box-shadow    : 2px 2px 2px rgba(0, 0, 0, 0.1) inset;
	color         : #333 !important;
	font-size     : inherit;
	font-family   : inherit;
	line-height   : 1;
	cursor        : text;
}

.focus-menu.searching .focus-menu-item:not(.match) {
	display : none;
}

/* Indicate first match */
.focus-menu.searching .focus-menu-section:not(:hover):not(:focus-within) .first-match .focus-menu-button {
	color : var(--hover-color);
}

body:has(> .skiptranslate > iframe) {
	position   : fixed !important;
	right      : 0;
	left       : 0;
	bottom     : 0;
	min-height : 0 !important;
	height     : auto !important;
}
