/* reset */

*,
::before,
::after {
	box-sizing: border-box;
	background-repeat: no-repeat;
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline; /* consider middle */
	font-family: inherit;
	color: inherit;
	line-height: 1;
}

[hidden] {
	display: none !important;
}

::before,
::after {
	text-decoration: inherit;
	vertical-align: inherit;
}

:where(:root) {
	line-height: 1;
	overflow-wrap: break-word;
	tab-size: 4;
}

p {
	line-height: 1.5;
}

:where(ol, ul) {
	list-style-type: none;
	display: flex;
	flex-flow: column nowrap;
	row-gap: 0.5rem;
}

li {
	display: flex;
	align-items: center;
}

:where(pre) {
	font-family: monospace;
	font-size: 1rem;
	overflow: auto;
}

:where(audio, canvas, iframe, img, svg, video) {
	vertical-align: middle;
}

:where(svg:not([fill])) {
	fill: currentColor;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a:active, a:hover, a:focus {
	color: inherit;
}

/* better defaults */

body {
	min-height: 100vh;
	min-height: 100svh;
	font-family: system-ui, sans-serif;
}

/* tools */

.container {
	max-width: 60rem;
	margin-inline: auto;
}

.breakout {
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
}

.row {
	display: flex;
	flex-flow: row nowrap;
	gap: 1rem;
	align-items: flex-start;
}

.row.center {
	justify-content: center;
}

.row.fill > * {
	flex: 1 1 auto;
}

.row.space-evenly {
	justify-content: space-evenly;
}

.col {
	display: flex;
	flex-flow: row nowrap;
	gap: 1rem;
	align-items: flex-start;
}

.col.center {
	align-items: center;
}

.wrap {
	flex-wrap: wrap;
}

img {
	max-width: 100%;
}


/* style */

@font-face {
  font-family: 'Dosis';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/fonts/Dosis-Variable-Latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {

	--light-green: rgb(169, 214, 188);
	--lavender: rgb(173, 132, 245);
	--dim-lavender: rgb(114, 85, 181);
	--dark-lavender: rgb(85, 32, 161);

	--background-color: #9ba;
	--text-color: #222;
	--card-background-color: #111;
	--text-color-light: #eee;

	--interactive-color: var(--lavender);
	--interactive-color-dim: var(--dim-lavender);
	--interactive-color-dark: var(--dark-lavender);


}

html {
	min-height: 100%;
}

body {
	background-image: url('/images/site/black-thread-light.png');
	background-repeat: repeat;
	background-color: var(--background-color);
	color: var(--text-color);
	display: flex;
	flex-flow: column;
}

.card {
	background-image: url('/images/site/black-thread.png');
	background-repeat: repeat;
	background-color: var(--card-background-color);
	padding: 1rem;
	border-radius: 0.5rem;
	color: var(--text-color-light);
}

main {
	display: flex;
	flex-flow: column;
	flex-grow: 1;
}

section {
	padding: 1rem;
}

a {
	text-decoration: none;
	font-family: 'Dosis', system-ui, sans-serif;
}

header {
	height: 20rem;
	display: grid;
	place-items: center;
	font-family: 'Dosis', system-ui, sans-serif;
	font-size: 3.5rem;
	font-weight: bold;
	text-shadow: -2px -2px 1px white, 2px -2px 1px white, -2px 2px 1px white, 2px 2px 1px white;
	background-color: white;
	background-image: url("/images/site/header_background_bw_sprouts.jpg");
	background-size: auto 100%;
	background-position-x: center;
	padding-top: 4rem;
}

nav {
	background-color: var(--card-background-color);
	color: var(--text-color-light);
	display: flex;
	flex-flow: row;
	justify-content: center;
	padding: 1rem;
	font-size: 1.5rem;
	position: sticky;
	top: 0;
}

nav ul {
	display: flex;
	flex-flow: row;
	justify-content: center;
	column-gap: 2rem;
}

nav li {
	display: inline-block;
	height: 100%;
}

nav a:hover {
	color: var(--interactive-color);
}

nav a.active {
	text-decoration: underline;
}

.gallery {
	padding: 1rem;
	column-width: 25rem;
	column-gap: 1rem;
}

.gallery figure {
	padding: 0;
	border-radius: 0;
	height: fit-content;
	margin-bottom: 1rem;
	box-shadow: 2px 2px 5px #888;
}
/*
.gallery figure:hover {
	box-shadow: 2px 2px 5px #888;
}
*/

.gallery figure img {
	width: 100%;
	max-width: 100%;
	height: auto;
	background-color: #ddd;
}

.gallery figure figcaption {
	padding: 0.5rem 1rem;
}

.gallery figure figcaption h3 {
	font-size: 1.5rem;
	margin-bottom: 0.5rem;
}

.project_links {
	max-width: 70rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
}

.project_links ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	place-items: center;
	row-gap: 2rem;
	column-gap: 3rem;
	min-height: 30vh;
}

.project_links ul li {
	display: block;
	padding: 1rem 1.5rem;
	font-size: 1.5rem;
	text-transform: uppercase;
	background-color: var(--card-background-color);
	color: var(--text-color-light);
}