#missionBackgroundPhoto{
	display: block;
	height: 100%;
	position: fixed;
	object-fit: cover;
	width: 100%;
	z-index: -1;
}
main{
	display: grid;
	grid-template-columns: 400px 1fr;
	height: 100vh;
}
main > section{
	backdrop-filter: blur(4px);
    background: rgb(235 249 255 / 90%);
    border: 2px solid white;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.25);
    padding: 1em;
}
#navSection {
	border-bottom: none;
	border-left: none;
	border-top: none;
    text-align: center;
}
#missionLogo {
    margin: 1em 0;
    width: 100%;
}
nav {
    margin-top: 1em;
	max-height: calc(90vh - 2em - .5rem - 225px);
	overflow-y: auto;
	text-align: left;
}
nav a {
    color: var(--link-color);
    padding: 0.25em 0.75em;
    width: 100%;
}
nav a:is(:hover, .active){
	color: var(--button-background-color);
}
nav a > i{
	display: inline-block;
	width: 17px;
}
nav menu{
	margin: 0 0 0 0.3em;
	padding-left: 0;
}
nav menu li{
	display: block;
}
nav menu menu{
	border-left: 1px solid darkgray;
}
nav menu menu :is(summary, a){
	padding-left: 0.7em;
	position: relative;
}
nav menu menu :is(summary, a)::before{
	border-bottom: 1px solid darkgray;
	content: "";
	left: 0px;
	position: absolute;
	width: 0.7em;
	top: 1em;
}
nav menu menu a:not(:has(i.fa-solid))::before {
	width: 1.5em;
}
nav menu menu details menu{
	margin-left: 1em;
}
#contentSection{
	border-radius: 1em;
	margin: 2.5%;
	padding: 2.5%;
	position: relative;
	transition: .5s opacity;
	&.fadeOut{
		opacity: 0;
	}
}
#pagePrint{
	float: right;
	margin: 0;
	padding: 5px 15px; 
}
#pageContent{
	height: calc(85vh - 75px);
	overflow: auto;
	overflow-wrap: anywhere;
}
#teams{
	bottom: 0;
	display: flex;
	left: 400px;
	position: absolute;
	width: calc(100% - 400px);
	z-index: -1;
}
.team {
    position: relative;
}
.team .backgroundPhoto {
    width: 100%;
    max-height: 100%;
    object-fit: cover;
}
.team .logo {
    left: 50%;
    position: absolute;
    top: -50%;
    transform: translateX(-50%);
	width: 50%;
}
#mobileBackToTop{
	display: none;
}

@media screen and (max-width: 1024px){
	main {
		grid-template-columns: 1fr;
		height: unset;
	}
	nav {
   		max-height: unset;
	}
	#contentSection {
		border-radius: 0;
		margin: 0;
	}
	#pageContent {
		height: unset;
		/* Make sure the page content is tall enough to fit the screen. */
		min-height: 100vh;
		padding-bottom: 2em;
	}
	/* Make all page content images 100% width so that we don't have to worry about weird text wrapping with them. */
	#pageContent img{
		max-height: 100vh;
		object-fit: contain;
		width: 100%;
	}
	#teams{
		display: none;
	}
	#mobileBackToTop{
		aspect-ratio: 1;
		border-radius: 100%;
		bottom: 1rem;
		display: block;
		font-size: 1.75em;
		padding: 0.25em;
		position: fixed;
		right: 1rem;
	}
}

.showOnPrint{
	display: none;
}
@media print{
	/* Hide everything but the main page content. */
	.showOnPrint{
		display: initial;
	}
	body{
		background: white !important;
	}
	#missionBackgroundPhoto{
		display: none;
	}
	main{
		display: block;
		height: unset;
	}
	#navSection{
		display: none;
	}
	#contentSection{
		background: white;
		border: none;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
	}
	#pagePrint{
		display: none;
	}
	#pageContent{
		box-shadow: none;
		height: unset;
	}
	#teams{
		display: none;
	}
	#accessibilityIcon{
		display: none;
	}
}