html * {box-sizing: border-box;}

:root {
	--headerbg: #aaa;
	--dark: #30364F;
	--bg1: #F26076;
	--bg2: #FF9760;
	--bg3: #FFD150;
	--bg4: #458B73;
}

body {
	font-family: "Avenir Next", system-ui, sans-serif;
	font-size: 100%;
	line-height: 1.4rem;
	margin: 0;
}

body>* {padding: 0 1em;}

header {
	min-height: 35vh;
	color: var(--dark);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.home header {
	background-color: var(--bg1);
}
.gallery header {
	background-color: var(--bg2);
}
.about header {
	background-color: var(--bg4);
}

h1 {
	font-size: 1.5rem;
	margin: 0;
}
h2 {
	font-size: 10vw;
	line-height: 1.1em;
	text-align: center;
}

nav {
	padding-bottom: 1em;
}

ul.toplink {
	margin-bottom: 1em;
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .5em;
}

.toplinks
main {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.gallery section.primary {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: 1;
}

.gallery figure {
	flex: 1;
	margin: .2em;
	padding-top: .5em
}

@media (max-width: 480p) {
	
	main {
		flex-direction: column;
	}
}

@media(min-width: 600px) {

	main {
		flex-direction: row;
		gap: 1em;
	}
	.about main {
		flex-direction: row;
		padding: 0 20vw;
	}
	
	section.primary {flex: 3;}
	section.secondary {flex: 1;}
	
	ul.toplink {
	 flex-direction: row;
	 gap: 2em;
	}
	
}

@media (min-width: 900px) {
	body {
		display: flex;
		flex-direction: row;
		align-items: stretch;
	}
	header {
		align-self: stretch;;
	}
	h2 {hyphens: auto;}
	main {
		flex-direction: column;
		overflow: auto;
	}
	footer {
		display: absolute;
		bottom: 1em;
	}
}