/*!
 * CKB Mega Menu - stylesheet.
 * Written for the markup produced by the plugin (ubermenu-* class names).
 * Icons: Font Awesome Free 5.15.4 (CC BY 4.0), embedded as masks.
 */

:root {
	--ckbmm-top-level-color: #012069;
	--ckbmm-normal-color: #494949;
	--ckbmm-normal-hover: #020202;
	--ckbmm-normal-hover-bg: #f2f6ff;
	--ckbmm-breakpoint: 959px;
}

/* ------------------------------------------------------------------ *
 * Icons
 * ------------------------------------------------------------------ */
.ubermenu .fas,
.ubermenu .far,
.ubermenu-responsive-toggle .fas,
.ubermenu-mobile-close-button .fas {
	display: inline-block;
	flex: none;
	height: 1em;
	background-color: currentcolor;
	font-style: normal;
	line-height: 1;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.ubermenu .fa-angle-down {
	width: 0.625em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z'/%3E%3C/svg%3E");
}

.ubermenu-responsive-toggle .fa-bars {
	width: 0.875em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E");
}

.ubermenu .fa-times {
	width: 0.6875em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E");
}

.ubermenu .fa-bookmark {
	width: 0.75em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z'/%3E%3C/svg%3E");
}

.ubermenu .far.fa-bookmark {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ *
 * Base
 * ------------------------------------------------------------------ */
.ubermenu {
	display: block;
	position: relative;
	z-index: 100;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	color: #888;
	font-family: inherit;
	font-weight: 400;
	line-height: 1.3em;
	text-align: left;
	-webkit-tap-highlight-color: transparent;
}

.ubermenu *,
.ubermenu *::before,
.ubermenu *::after {
	box-sizing: border-box;
}

.ubermenu ul,
.ubermenu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ubermenu a {
	text-decoration: none;
	box-shadow: none;
	border: 0;
}

.ubermenu-nav {
	display: block;
	position: static;
	z-index: 10;
	margin: 0;
	padding: 0;
}

.ubermenu-item {
	position: static;
	z-index: 10;
	margin: 0;
	list-style: none;
	text-align: left;
}

/* Top level */
.ubermenu-nav > .ubermenu-item-level-0 {
	display: inline-block;
	float: none;
	vertical-align: top;
}

.ubermenu-target {
	display: block;
	position: relative;
	z-index: 10;
	padding: 10px 20px;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s, background-color 0.2s;
}

span.ubermenu-target {
	cursor: default;
}

.ubermenu-target:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: -2px;
}

.ubermenu-item-level-0 > .ubermenu-target {
	color: var(--ckbmm-top-level-color);
	font-size: 14px;
	line-height: 28px;
	text-transform: uppercase;
}

@media screen and (min-width: 960px) {
	.ubermenu-item-level-0:hover > .ubermenu-target,
	.ubermenu-item-level-0.ubermenu-active > .ubermenu-target {
		color: #222;
	}
}

.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target {
	padding-right: 25px;
}

.ubermenu-target-title {
	display: inline-block;
}

.ubermenu .ubermenu-icon {
	width: 1.3em;
	text-align: center;
	vertical-align: -0.125em;
}

.ubermenu-target-with-icon .ubermenu-icon {
	display: inline-block;
}

/* Close indicator: only shown in the mobile accordion (see media query) */
.ubermenu-sub-indicator-close {
	display: none;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -6px;
	font-size: inherit;
	line-height: 1;
	pointer-events: none;
}

.ubermenu-target-with-icon .ubermenu-target-title {
	margin-left: 0.6em;
}

.ubermenu-sub-indicator {
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -6px;
	font-size: inherit;
	line-height: 1;
	pointer-events: none;
}

/* ------------------------------------------------------------------ *
 * Submenus
 * ------------------------------------------------------------------ */
.ubermenu-submenu {
	display: block;
	margin: 0;
	padding: 0;
	color: #999;
	list-style: none;
}

.ubermenu-submenu-drop {
	position: absolute;
	z-index: 20;
	min-width: 0;
	border: 1px solid #e0e0e0;
	background: #f9f9f9;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
	color: #fff;
}

.ubermenu-submenu-align-full_width {
	right: 0;
	left: 0;
}

.ubermenu-submenu-align-left_edge_item {
	right: auto;
	left: auto;
}

.ubermenu-submenu-align-left_edge_bar {
	right: auto;
	left: 0;
}

.ubermenu-submenu-align-right_edge_bar {
	right: 0;
	left: auto;
}

.ubermenu-submenu-type-mega.ubermenu-submenu-align-left_edge_item,
.ubermenu-submenu-type-mega.ubermenu-submenu-align-left_edge_bar,
.ubermenu-submenu-type-mega.ubermenu-submenu-align-right_edge_bar {
	min-width: 50%;
}

.ubermenu-submenu-type-flyout.ubermenu-submenu-drop {
	min-width: 200px;
}

.ubermenu-item-level-0 > .ubermenu-submenu-type-flyout {
	left: 0;
}

.ubermenu-submenu-type-flyout .ubermenu-submenu-type-flyout {
	top: 0;
	left: 100%;
}

.ubermenu-submenu-type-mega::after {
	content: "";
	display: table;
	clear: both;
}

.ubermenu-submenu-type-stack {
	position: static;
}

/* Slide transition: closed state */
.ubermenu-transition-slide .ubermenu-submenu-drop {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: max-height 0.3s ease-in, visibility 0.3s ease-in;
}

/* Slide transition: open state */
.ubermenu-transition-slide .ubermenu-active > .ubermenu-submenu-drop,
.ubermenu-nojs.ubermenu-transition-slide .ubermenu-item:hover > .ubermenu-submenu-drop {
	max-height: 600px;
	visibility: visible;
}

.ubermenu-transition-slide .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop.ubermenu-submenu-type-mega {
	overflow: visible;
}

/* Submenus are opened on top of siblings that are open at the same time */
.ubermenu-submenu-drop .ubermenu-submenu-drop {
	z-index: 20;
}

.ubermenu-item-level-0.ubermenu-active > .ubermenu-submenu-drop {
	z-index: 20;
}

.ubermenu-item-level-0.ubermenu-active > .ubermenu-submenu-align-left_edge_item {
	z-index: 20;
}

/* ------------------------------------------------------------------ *
 * Columns
 * ------------------------------------------------------------------ */
.ubermenu-submenu-type-mega > .ubermenu-column,
.ubermenu-submenu-type-flyout > .ubermenu-column {
	float: left;
}

.ubermenu-submenu-type-stack > .ubermenu-item,
.ubermenu-submenu-type-flyout > .ubermenu-item {
	display: block;
	float: none;
	width: auto;
}

.ubermenu-submenu-type-mega > .ubermenu-item-type-column {
	min-width: 100px;
}

.ubermenu-column-1-1 { width: 100%; }
.ubermenu-column-1-2 { width: 50%; }
.ubermenu-column-1-3 { width: 33.3333333%; }
.ubermenu-column-2-3 { width: 66.6666667%; }
.ubermenu-column-1-4 { width: 25%; }
.ubermenu-column-3-4 { width: 75%; }
.ubermenu-column-1-5 { width: 20%; }
.ubermenu-column-1-6 { width: 16.6666667%; }

.ubermenu-submenu-type-stack > .ubermenu-column {
	width: auto;
}

.ubermenu .ubermenu-autocolumn {
	padding: 10px 0;
}

.ubermenu-item-type-column > .ubermenu-submenu-type-stack > .ubermenu-item:first-child {
	margin-top: 10px;
}

/* ------------------------------------------------------------------ *
 * Item styles
 * ------------------------------------------------------------------ */
.ubermenu-item-header > .ubermenu-target {
	border-bottom: 1px solid #e9e9e9;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.ubermenu-item-normal > .ubermenu-target {
	color: var(--ckbmm-normal-color);
	font-size: 13px;
}

.ubermenu-item-normal > .ubermenu-target:hover,
.ubermenu-item-normal.ubermenu-active > .ubermenu-target {
	background-color: var(--ckbmm-normal-hover-bg);
	color: var(--ckbmm-normal-hover);
}

.ubermenu-item-level-0 > .ubermenu-submenu-drop {
	top: auto;
}

/* ------------------------------------------------------------------ *
 * Responsive toggle
 * ------------------------------------------------------------------ */
.ubermenu-responsive-toggle {
	display: none;
	padding: 8px 6px;
	background: #f9f9f9;
	color: #888;
	font-size: 18px;
	line-height: 1.3em;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
}

.ubermenu-responsive-toggle .fa-bars {
	width: 1.25em;
}

.ubermenu-responsive-toggle:hover,
.ubermenu-responsive-toggle:focus {
	color: #222;
}

/* Mobile footer and header are only part of the modal */
.ubermenu-mobile-header,
.ubermenu-mobile-footer {
	display: none;
}

/* ------------------------------------------------------------------ *
 * Mobile modal
 * ------------------------------------------------------------------ */
@media screen and (max-width: 959px) {
	.ubermenu-responsive-toggle {
		display: block;
	}

	.ubermenu-responsive.ubermenu-mobile-modal {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		flex-direction: column;
		justify-content: flex-start;
		width: 100%;
		height: 100%;
		max-height: 100%;
		overflow: hidden;
		z-index: 9999999;
		background: #fff;
		opacity: 1;
		visibility: visible;
		transform: scale(1);
		transition: opacity 0.1s, transform 0.1s, visibility 0.1s;
	}

	.ubermenu-responsive.ubermenu-mobile-modal.ubermenu-responsive-collapse {
		opacity: 0;
		visibility: hidden;
		transform: scale(0.9);
		pointer-events: none;
	}

	.ubermenu-mobile-modal .ubermenu-mobile-header {
		display: block;
		flex: none;
		text-align: center;
	}

	.ubermenu-mobile-modal .ubermenu-nav {
		flex: 1 1 auto;
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ubermenu-mobile-modal .ubermenu-mobile-footer {
		display: block;
		flex: none;
		text-align: center;
	}

	.ubermenu-mobile-close-button {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		gap: 0.4em;
		min-width: 24px;
		width: 100%;
		margin: 0 1em 1em 0;
		padding: 14px;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: #888;
		font-size: 14px;
		font-weight: 700;
		line-height: 33.6px;
		text-transform: none;
		cursor: pointer;
		transition: color 0.3s, background 0.3s;
	}

	.ubermenu-mobile-close-button:hover,
	.ubermenu-mobile-close-button:focus {
		background: transparent;
		color: #222;
	}

	.ubermenu-responsive .ubermenu-nav > .ubermenu-item-level-0 {
		display: inline-block;
		width: 100%;
		min-width: 100%;
	}

	.ubermenu-responsive .ubermenu-nav > .ubermenu-item-level-0 > .ubermenu-target {
		cursor: pointer;
	}

	/* Submenus become accordions: absolute while closed, in flow when open */
	.ubermenu-responsive .ubermenu-submenu-drop {
		position: absolute;
		width: 100%;
		min-width: 100%;
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		border-right: 0;
		border-left: 0;
		box-shadow: none;
		transition: max-height 0.3s ease-in, visibility 0.3s ease-in;
	}

	.ubermenu-responsive.ubermenu-transition-slide .ubermenu-active > .ubermenu-submenu-drop {
		position: static;
		max-height: 3000px;
		visibility: visible;
	}

	.ubermenu-responsive .ubermenu-submenu-align-full_width,
	.ubermenu-responsive .ubermenu-submenu-align-left_edge_item,
	.ubermenu-responsive .ubermenu-submenu-align-left_edge_bar,
	.ubermenu-responsive .ubermenu-submenu-align-right_edge_bar {
		left: auto;
		right: auto;
	}

	.ubermenu-responsive .ubermenu-column,
	.ubermenu-responsive .ubermenu-submenu-type-mega > .ubermenu-column,
	.ubermenu-responsive .ubermenu-submenu-type-flyout > .ubermenu-column {
		float: none;
		width: 100%;
		min-width: 0;
	}

	.ubermenu-responsive .ubermenu-submenu-type-flyout .ubermenu-submenu-type-flyout {
		top: auto;
		left: auto;
	}
}

/* Scroll lock while the modal is open */
html.ubermenu-modal-open,
html.ubermenu-modal-open body {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.ubermenu-submenu-drop,
	.ubermenu-target,
	.ubermenu-responsive.ubermenu-mobile-modal {
		transition: none !important;
	}
}
