/* Keep the flyout's explicit state separate from hover so touch WebKit cannot
 * retain a synthetic hover after Escape has closed the menu. */
#primary-navigation .nav-item--dropdown .flyout {
	pointer-events: none;
	top: 16px;
	opacity: 0;
}

#primary-navigation .nav-item--dropdown .flyout > div > div {
	top: -10px;
	opacity: 0;
	transition: all .3s ease;
}

#primary-navigation .nav-item--dropdown > .flyout\:button svg.arrow {
	transform: rotate(0);
	transition: transform .3s ease;
}

#primary-navigation .nav-item--dropdown.active {
	z-index: 51;
}

#primary-navigation .nav-item--dropdown.active .flyout {
	pointer-events: auto;
	opacity: 1;
}

#primary-navigation .nav-item--dropdown.active .flyout > div > div {
	top: 0;
	opacity: 1;
}

#primary-navigation .nav-item--dropdown.active > .flyout\:button svg.arrow {
	transform: rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
	#primary-navigation .nav-item--dropdown:hover {
		z-index: 51;
	}

	#primary-navigation .nav-item--dropdown:hover .flyout {
		pointer-events: auto;
		opacity: 1;
	}

	#primary-navigation .nav-item--dropdown:hover .flyout > div > div {
		top: 0;
		opacity: 1;
	}

	#primary-navigation .nav-item--dropdown:hover > .flyout\:button svg.arrow {
		transform: rotate(180deg);
	}
}

@media (max-width: 767px) {
	#primary-navigation #navigation > div > a {
		min-width: 44px;
		min-height: 44px;
		justify-content: center;
	}

	#primary-navigation .nav-item--dropdown {
		position: static;
	}

	#primary-navigation .mobile-nav-flyout {
		top: 100%;
		right: 0.5rem;
		left: 0.5rem;
		z-index: 100;
		width: auto;
		max-width: none;
		margin-top: 0.75rem;
		padding-top: 0;
	}

	#primary-navigation .mobile-nav-flyout > div {
		max-height: calc(100vh - 9rem);
		max-height: calc(100dvh - 9rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	#primary-navigation .mobile-nav-flyout a {
		width: 100%;
		font-size: 1rem;
		line-height: 1.4;
	}

	#primary-navigation .mobile-nav-flyout p {
		overflow-wrap: anywhere;
	}
}
