/*
* Styles for normal text pages
*/
main {
	max-width: 45em;
	margin: 0 auto;
}
main h1 {
	border-bottom: solid 0.05em #AAA;
	margin: 0;
	color: #333;
	clear: both;
}
main h2 {
	margin: 0.5em 0;
	color: #333;
	clear: both;
	border-top: 1px solid;
	padding-top: 1em;
}
main article h2:first-child {
	border-top: none;
}
main article {
	border-top: 0.1em solid #AAA;
	padding: 1em 0;
	clear: both;
}
main article:first-child, main h1 + article {
	border-top: none !important;
}
main article h2 + p, main article h3 + p, main article p:first-child {
	font-size: 1.1em;
}
main article table {
	padding-bottom: 1em;
	width: 100%;
}
main .important {
	color: #FFF;
	border-radius: 1em;
	background-color: #D44;
	padding: 0.5em 2em;
	border-top: none !important;
	margin: 1.5em 0;
}
main article.important h2, main article.important h3 {
	color: #FFF;
}
main article.important a {
	color: #BAF;
}
main article iframe {
	margin: 1em 0;
	width: 100%;
	height: 25em;
}
main article figure {
	padding: 0;
	margin: 0;
}
main article img {
	clear: both;
	position: relative;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain !important;
}
main article svg {
	margin: 1em;
	width: 8em;
	height: 8em;
}
main article .small_image_v img {
	width: 7em;
}
main article img.inline {
	margin: 1em 0;
	width: 100%;
}
main article .large_image_v img {
	width: 60vw;
	max-width: 20em;
}
main article .teacher img {
	width: 25vw;
	max-width: 12em;
}
main article .poster_large img {
	width: 30vw;
	max-width: 20em;
}
main article .float_right {
	float: right;
	margin: 0 0 1em 1.5em;
	clear: both;
}
main article .float_left {
	float: left;
	margin: 0 1.5em 1em 0;
	clear: both;
}
main article blockquote {
	font-style: italic;
	line-height: 1.75em;
	margin: 0.5em;
}
main article p.question {
	margin-top: 1.5em;
}
main article p.question:before {
	content: "Q";
	color: #D11;
	font-size: 1.2em;
	padding: 0 1em 0 0;
	float: left;
}
main article p.question + p:before {
	content: "A";
	font-weight: bold;
	color: #1B1;
	font-size: 1.2em;
	padding: 0 1em 0 0;
	float: left;
}
main article.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: space-around;
}
main.shows figure.wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: space-around;
}
main.shows figure.wp-block-image {
	margin-bottom: 1em;
}
article p.quote {
	text-indent: -1.25em;
	font-style: italic;
	font-size: 0.9em;
	padding: 0 1em;
	margin: 0.25em 0;
	line-height: 150%;
}
article p.quote:before {
	content: open-quote;
	color: #888;
	font-size: 1.5em;
	padding: 0 0.25em;
}
article p.quote:after {
	content: close-quote;
	color: #888;
	font-size: 1.5em;
	padding: 0 0.25em;
}
article p.pullout {
	font-style: italic;
	border-top: 1px solid #AAA;
	border-bottom: 1px solid #AAA;
	padding: 1em 0;
	margin: 1em;
}
article ul li {
	margin-top: 0.5em;
}
div.class-level {
	clear: both;
	margin: 1em 0;
	padding: 1em;
	background-color: #E8E8E8;
	min-height: 8em;
	display: flex;
}
div.class-level img {
	float: left;
	clear: both;
	width: 10em;
	height: 10em;
}

/* Custom colours for different areas */
main.about h1 {
	color: red;
	border-bottom: solid 0.05em red;
}
main.about h2, main.about h3 {
	color: red;
}
main.about article {
	border-top: 0.1em solid red;
}
main.classes h1 {
	color: orange;
	border-bottom: solid 0.05em orange;
}
main.classes h2, main.classes h3 {
	color: orange;
}
main.classes article {
	border-top: 0.1em solid orange;
}
main.studio h1 {
	color: green;
	border-bottom: solid 0.05em green;
}
main.studio h2, main.studio h3 {
	color: green;
}
main.studio article {
	border-top: 0.1em solid green;
}
main.shows h1 {
	color: blue;
	border-bottom: solid 0.05em blue;
}
main.shows h2, main.shows h3 {
	color: blue;
}
main.shows article {
	border-top: 0.1em solid blue;
}
main.news h1 {
	color: purple;
	border-bottom: solid 0.05em purple;
}
main.news h2, main.news h3 {
	color: purple;
}
main.news article {
	border-top: 0.1em solid purple;
}
main.news article ul.wp-block-latest-posts__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
main.news article ul.wp-block-latest-posts__list li {
	border-top: solid 0.1em purple;
	padding-top: 1.5em;
}
main.news article a.wp-block-latest-posts__post-title {
	color: purple;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.75em;
}
main.news ul.wp-block-latest-posts__list h2 {
	padding: 0.5em 0;
}

/* over-ride the flex gallery CSS */
.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0 !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: initial !important;
}
.wp-block-image .alignright {
	margin: 0 !important;
}
.wp-block-image .alignleft {
	margin: 0 !important;
}
.wp-block-media-text h2 {
	margin: 0;
	padding: 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
	margin-bottom: 1em !important;
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
	div.class-level {
		background-color: #111;
	}
	main h1, main h2 {
		color: #EEE;
	}
	div.about h2 {
		color: #C00;
	}
	main.about h1 {
		color: #C00;
		border-bottom: solid 0.05em #C00;
	}
	main.about article {
		border-top: .1em solid #C00;
	}
	div.classes h2 {
		color: #D80;
	}
	main.classes h1 {
		color: #D80;
		border-bottom: solid 0.05em #D80;
	}
	main.classes article {
		border-top: .1em solid #D80;
	}
}
