/* layout */
body
{
	display: flex;
	flex-flow: column wrap;
	min-height: 100vh; /* sticky footer */
}

article { flex: 1; } /* sticky footer */

#page_header
{
	flex-grow: 0; /* otherwise it'll take up too much height */
	margin-bottom: 10px;
	padding: 1em;
	border-bottom: 3px solid #CCC;
}

#album
{
	flex: 1 100%;
	display: flex;
	flex-flow: row wrap;
	width: 900px;
	margin: 0 auto;
}

#col_left
{
	flex: 1;
	padding-right: 10px;
}

#col_center
{
	flex-basis: 500px;
}

#col_right
{
	flex: 1;
	padding-left: 10px;
}

.full-width
{
	flex: 1 0 100%;
}

#page_footer
{
	border-top: 3px solid #CCC;
}
	
/* sidebars */

.sidebar h1
{
	font-size: 2em;
}

	.sidebar header h1
	{
		display: block;
		margin: 10px 0 10px 0;
		padding: 0.25em 0.5em 0.25em 0.5em;
		text-align: center;
		font-weight: bold;
		
		border: 1px solid #CCC;
	}
	
		.sidebar section:first-child h1
		{
			margin-top: 0;
		}
		
	.section_collapse
	{
		border: 1px solid #CCC;
		border-top: 0;
	}

		.sidebar header h1 + .section_collapse
		{
			margin: -10px 0 10px 0;
		}

.sidebar h2
{
	font-size: 1.5em;
	border-bottom: 1px solid #CCC;
}

abbr.more_info
{
	display: block;
	width: 1em;
	height: 1em;
	padding: 0.25em;
	text-decoration: none; /* seriously, Firefox? */
	border: 1px solid black;
	border-radius: 50% 50%;
}

/* general text */

.center
{
	text-align: center;
}
	
/* lists specifically */
.no-bullets
{
	list-style-type: none;
}

.checkbox-list li
{
	list-style-type: none;
	display: flex;
}

	.checkbox-list input,
	.checkbox-list dfn
	{
		flex-basis: content;
		margin: 0 !important;
	}
	
	.checkbox-list .indent_spacer
	{
		flex-basis: content;
		width: 1.5em;
	}
	
	.checkbox-list label
	{
		flex: 1;
		padding: 0 1em 0 0.5em;
	}

.inline-list li
{
	display: inline-block;
}

.inline-flex-list
{
	display: flex;
}

	.inline-flex-list li
	{
		flex: 1;
		text-align: center;
	}

/* Imaginary Album specifics */

#page_header h1
{
	font-size: 3em;
}

.icon_button
{
	padding: 0.25em;
}

#album_art.error
{
	text-align: center;
}

	#album_art.error h1
	{
		font-size: 3em;
	}

	p.frownyface
	{
		font-size: 250px;
	}

.album-artwork img
{
	border: 5px solid black;
}

#options ul
{
	margin: 0.5em 0 1.5em 0;
}

	#options ul li + li
	{
		margin-top: 0.5em;
	}

#include_sources_label
{
	margin-bottom: 10px;
	
	border: 1px solid #CCC;
	
	text-align: center;	
	font-size: 1.25em;
	font-weight: bold;
	padding: 0.25em 0 0.25em 0;
}