:root {
	--color-background: #000;
	--color-highlight: #cc0000;
	--color-text: #fff;
	--color-text-dim: #9c9c9c;
}

html {
	background: url("background.png") top center no-repeat var(--color-background);
	background-size: cover;
	color: white;
	font-family: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
	font-family: Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;
	font-size: 16pt;
	font-weight: normal;
}

a {
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.1s linear;
}

a:hover {
	color: var(--color-highlight);
}

body {
	margin: 0 auto;
	max-width: 1000px;
	padding: 1em;
}

footer {
	margin: 6em 0 3em;
}

footer p {
	margin: 0.5em 0;
}

footer small {
	display: block;
	margin: 4em 0;
	text-align: center;
}

footer small svg {
	width: 1em;
}

footer #blocks {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
}

h1 {
	margin: 0;
}

h2 {
	text-align: center;
	margin: 1em 0;
}

h3 {
	font-size: 1em;
	margin: 0.5em 0;
}

header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 1em 0 3em;
}

header img {
	max-width: 5em;
}

header nav {
	flex: 0 0 23em;
	font-size: 0.8em;
	font-weight: bold;
	text-align: right;
	text-transform: uppercase;
}

header nav li {
	display: inline;
	margin-left: 1em;
}

header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
}

section {
	margin-bottom: 3em;
}

#about p {
	line-height: 1.5em;
}

#about p a {
	text-decoration: underline;
}

#artists li {
	display: inline;
}

#artists li::after {
	content: ' · ';
}

#artists li:last-child::after {
	display: none;
}

#artists ol {
	color: var(--color-text-dim);
	line-height: 1.5em;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

#past-events img {
	display: block;
}

#past-events ol {
	display: grid;
	gap: 1em;
	grid-template-columns: 1fr 1fr 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

#photos {
	display: grid;
	gap: 1em;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 2em 0;
	padding: 0;
}

#photos img {
	display: block;
}

#social-links {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: right;
}

#social-links li {
	display: inline-block;
	margin: 0 0.25em;
}

#social-links svg {
	height: 1.5em;
}

#social-links .icon {
	transition: color 0.1s linear;
}

#social-links .icon-facebook:hover {
	color: #1094f5;
}

#social-links .icon-instagram:hover {
	color: #dc2c77;
}

#social-links .icon-spotify:hover {
	color: #1dda63;
}

#upcoming-shows a {
	display: block;
}

#upcoming-shows h3 {
	font-size: 1em;
	font-weight: normal;
	margin: 0.5em 0;
}

#upcoming-shows img {
	display: block;
}

#upcoming-shows ol {
	display: grid;
	gap: 2em;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

#upcoming-shows small,
#upcoming-shows time {
	color: var(--color-text-dim);
	display: block;
	font-size: 0.8em;
	margin: 0.5em 0;
}

.sr-only {
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
 }

@media only screen and (max-width: 768px) {
	footer #blocks {
		display: block;
	}

	footer #social-links {
		margin: 2em 0;
		text-align: left;
	}

	header {
		display: block;
	}

	header h1 {
		text-align: center;
	}

	header nav {
		font-weight: normal;
		line-height: 1.5em;
		margin: 1em 0;
		text-align: center;
	}

	header nav li {
		margin: 0 0.35em;
	}

	#upcoming-shows {
		text-align: center;
	}

	#upcoming-shows li {
		margin: 4em 0;
	}

	#upcoming-shows ol {
		display: block;
	}
}
