.nav {
	visibility: hidden;
	background: var(--color-dark-gray);
	max-height: 0;
	position: absolute;
	width: 100%;
	transition: max-height 0.5s var(--animation-timing-function);
	overflow: hidden;
	z-index: 998;
}

.nav.nav--active {
	visibility: visible;
	max-height: 100vh;
}

.topnav {
	display: flex;
	flex-direction: column;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.topnav__item {
	margin: 0;
}

.topnav__link {
	color: var(--color-white);
	display: block;
	text-transform: uppercase;
	text-decoration: none;
	padding: 1em 2em;
	white-space: nowrap;
	font-weight: 500;
}

.topnav__link--current {
	color: var(--color-light-blue);
}

.topnav__link:hover,
.topnav__link:focus {
	outline: 0;
	background-color: var(--color-light-blue);
	color: var(--color-font);
}

@media screen and (min-width: 1000px) {
	.nav {
		visibility: visible;
		max-height: none;
		position: relative;
		background: inherit;
	}

	.topnav {
		flex-flow: row nowrap;
		justify-content: flex-end;
		height: auto;
		visibility: visible;
	}

	.topnav__item {
		flex: 0 0 auto;
	}

	.topnav__link {
		padding: 1.4em 1em;
		font-size: min(1.35vw, var(--font-size-uppercase));
	}

	.topnav__link:not(.topnav__link--current) {
		color: var(--color-font);
	}

	.topnav__link:hover {
		color: var(--color-white);
		background: var(--color-light-blue);
	}
}
