body {
	background-color: #fff;
	color: #070707;
	display: block;
	font-family:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Oxygen,
		Ubuntu,
		Cantarell,
		"Open Sans",
		"Helvetica Neue",
		sans-serif;
	margin: 0 4rem;
}

#nav-cards {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.big-head {
	color: #fff;
	font-size: 7.5rem;
	font-weight: 400;
	height: auto;
	line-height: 1.1;
	margin: 0;
	padding: 3rem 1rem 0;
	position: absolute;
	z-index: 10;
}

h1 > span {
	background-color: #f1f5f9;
	border: solid;
	color: #0f172a;
	font-weight: 700;
}

h1 > span:hover {
	background: rgba(0, 0, 0, 0.5);
	border: dashed #d63439;
	color: #d63439;
	cursor: crosshair;
}

header {
	background: #fff;
	padding-top: 4px;
	position: sticky;
	text-align: center;
	top: 0;
	z-index: 1000;
}

nav {
	display: inline-block;
	padding: 12px;
	top: 0;
}

nav > ul {
	margin: 0;
	padding: 0;
}

nav ul > li {
	display: inline-block;
	font-size: 1.15rem;
	line-height: 1.75rem;
	list-style: none;
	margin: 0 0.75rem;
	width: fit-content;
}

ul {
	margin: 1rem 0 1rem 1rem;
}

ul > li {
	font-size: 1.125rem;
	line-height: 1.75rem;
	margin-top: 0.5rem;
}

ul.news li {
	width: fit-content;
}

a {
	color: inherit;
	text-decoration: none;
}

p > a {
	color: #d63439;
}

h2 + div.separator {
	background: linear-gradient(
		to right,
		#d63439 20%,
		transparent,
		transparent
	);
	height: 2px;
	width: 100%;
}

.separator {
	background: linear-gradient(to right, transparent, #e2e8f0, transparent);
	height: 2px;
	width: 100%;
}

.home {
	box-shadow: 0 20px 25px -5px #0000001a;
	height: auto;
	margin-bottom: 1rem;
	width: 100%;
}

h2 {
	font-size: 1.875rem;
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 2.25rem;
	margin: 0;
	padding-bottom: 0.5rem;
	z-index: 1000;
}

.stick {
	background: #fff;
	position: sticky;
	top: 58px;
	z-index: 999;
}

h3 {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 2rem;
	margin: 0;
	padding-bottom: 0.5rem;
}

dt {
	color: #d63439;
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0.5rem 0;
}

dl {
	display: grid;
}

p,
dd {
	font-size: 1.125rem;
	line-height: 1.75rem;
}

blockquote {
	border-left: 2px solid #d63439;
	font-style: italic;
	margin-top: 1.5rem;
	padding-left: 1.5rem;
}

footer {
	color: #64748b;
	display: flex;
	font-size: 0.9rem;
	justify-content: space-between;
	line-height: 1.25rem;
	margin: 1rem 0 2rem;
}

figure > img {
	box-shadow: 0 20px 25px -5px #0000001a;
	height: auto;
	width: 400px;
}

.float {
	float: right;
	margin: 20px 0;
	padding: 10px;
	text-align: center;
}

figcaption {
	margin-top: 0.5rem;
}

.events {
	display: flex;
	justify-content: space-evenly;
}

figure {
	margin: 20px 0;
	padding: 10px;
	text-align: center;
}

nav li:hover,
ul.news li:hover,
p > a:hover {
	color: #d63439;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.active {
	color: #d63439;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#science-world,
#museum-of-anthropology,
#vancouver-art-gallery {
	scroll-margin: 5rem;
}

.card {
	background-color: #fff;
	border: 1px solid;
	box-shadow: 0 1px 3px 0 #0000001a;
	color: #0f172a;
	margin-bottom: 1.5rem;
}

.card:hover {
	border: 1px solid #d63439;
	box-shadow: 0 5px 8px -3px #0000001a;
}

.card .header {
	display: flex;
	flex-direction: column;
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
	padding: 1.5rem;
}

.card .header > * {
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
}

.card .header .title {
	font-weight: 600;
	letter-spacing: -0.025rem;
	line-height: 1;
}

.card .header img {
	height: 100%;
	width: 100%;
	max-height: 300px;
	max-width: 400px;
	object-fit: contain;
	place-self: center;
}

.card .content {
	padding: 0 1.5rem 1.5rem;
}

.card .footer {
	padding: 0 1.5rem 1.5rem;
}

.button {
	align-items: center;
	background: #d63439;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px 0 #0000001a;
	color: #fff;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 500;
	height: 2.5rem;
	justify-content: center;
	line-height: 1.25rem;
	padding: 0 2rem;
	white-space: nowrap;
}

.button:hover {
	background: #d63439cc;
	cursor: pointer;
}

abbr {
	color: #d63439;
	font-style: italic;
}

footer .flex {
	display: flex;
	flex-direction: column;
}

h4 {
	margin: 0;
}
