/**************************************** Reset ****************************************/
*
{
	border: 0;
	box-sizing: border-box;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

:focus
{
	outline: 0;
}

html
{
	height: 100%;
}

body
{
	max-width: 100%;
	min-height: 100%;
	overflow-y: scroll;
	width: 100%;
}

address, article, aside, blockquote, body, details, dialog, dd, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, img, main, nav, ol, p, pre, section, ul
{
	display: block;
}

a, a:hover, a:visited, a:active
{
	text-decoration: none;
}

blockquote, q
{
	quotes: none;
}

blockquote::before, blockquote::after, q::before, q::after
{
	content: '';
	content: none;
}

ol, ul
{
	list-style: none;
}

strong
{
	font-weight: bold;
}

table
{
	border-collapse: collapse;
	border-spacing: 0;
}

/**************************************** Body *****************************************/

@font-face
{
	font-display: swap;
	font-family: "HansKendrick";
	font-style: normal;
	font-weight: normal;
	src: url('../f/HansKendrick-Regular.woff2') format('woff2'), url('../f/HansKendrick-Regular.woff') format('woff');
}

@font-face
{
	font-display: swap;
	font-family: "HansKendrick";
	font-style: normal;
	font-weight: bold;
	src: url('../f/HansKendrick-Bold.woff2') format('woff2'), url('../f/HansKendrick-Bold.woff') format('woff');
}

@font-face
{
	font-display: swap;
	font-family: 'Raisonne';
	src: url('../f/raisonne-demibold.woff2') format('woff2'), url('../f/raisonne-demibold.woff') format('woff');
}

body
{
	background-color: #fafafd;
	color: #242528;
	display: flex;
	flex-direction: column;
	font-family: "HansKendrick", sans-serif;
	font-size: calc(12px + 0.5vw);
}

body > header
{
	background-color: inherit;
	box-shadow: 0 1px 4px #c8c8cb;
	display: flex;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}

.top-menu-logo
{
	-ms-background-position: center;
	-ms-background-repeat: no-repeat;
	-ms-background-size: 100%;
	background-image: url("../i/chamber-music-scotland-logo-small.svg");
	background-origin: content-box;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	display: inline-block;
	font-size: 0;
	height: 3rem;
	margin: 0 0 0 4vw;
	width: 4.75rem;
}

.top-menu-my-account
{
	background-image: url("../i/sign-in.svg");
	background-origin: content-box;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50%;
	font-size: 0;
	height: 3rem;
	margin: 0 0.6rem 0 auto;
	width: 2rem;
}

.top-menu-my-account:hover
{
	background-image: url("../i/signed-in.svg");
	background-size: 100%;
}

.top-menu-navigation
{
	background-image: url("../i/menu.svg");
	background-origin: content-box;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 80%;
	font-size: 0;
	margin: 0 4vw 0 0;
	width: 2rem;
}

.directory-page .top-menu-logo, .events-page .top-menu-logo, .learning-page .top-menu-logo
{
	background-image: url("../i/chamber-music-scotland-logo-white-small.svg");
}

.directory-page .top-menu-my-account, .events-page .top-menu-my-account, .learning-page .top-menu-my-account
{
	background-image: url("../i/sign-in-white.svg");
}

.directory-page .top-menu-my-account:hover, .events-page .top-menu-my-account:hover, .learning-page .top-menu-my-account:hover
{
	background-image: url("../i/signed-in.svg");
	background-size: 100%;
}

.directory-page .top-menu-navigation, .events-page .top-menu-navigation, .learning-page .top-menu-navigation
{
	background-image: url("../i/menu-white.svg");
}

body > main
{
	-ms-flex: 1;
	-o-flex: 1;
	-webkit-flex: 1;
	background-color: inherit;
	color: inherit;
	flex: 1;
	margin: auto;
	max-width: 100%;
	padding-top: 3rem;
	text-align: center;
	width: 100%;
}

body > footer
{
	background-color: #fafafd;
	color: #242528;
	padding: 0 4vw;
}

body > footer > div
{
	border-bottom: 2px solid;
	display: flex;
	margin: 2rem auto 2rem;
}

body > footer > div > h1
{
	-ms-flex: 1;
	-o-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	font-family: "Raisonne";
	font-size: calc(22px + 0.5vw);
	font-weight: bold;
	line-height: 1em;
	padding: 0.25rem 0 1.2rem;
}

body > footer > div > a
{
	margin: 0 0.6rem;
}

body > footer > address
{
	margin-bottom: 2rem;
}

body > footer > p
{
	margin-bottom: 0.5rem;
}

.copyright
{
	font-size: 0.6em;
	margin-top: 2rem;
}

nav
{
	width: 100%;
}

nav > a
{
	display: block;
}

nav > a > div
{
	font-size: 1.5em;
	line-height: 3rem;
	padding-left: 2rem;
}

.menu-container
{
	display: flex;
	height: 100vh;
	position: absolute;
	width: 100%;
	z-index: 20;
}

.menu-container > nav
{
	display: flex;
	flex-direction: column;
	height: 50vh;
	position: absolute;
}

.menu-container > nav > a
{
	-ms-align-items: center;
	-ms-flex: 1;
	-o-align-items: center;
	-o-flex: 1;
	-webkit-align-items: center;
	-webkit-flex: 1;
	align-items: center;
	display: flex;
	flex: 1;
}

.menu-container > nav > a > div
{
	line-height: inherit;
}

.menu-overlay
{
	width: 100%;
}

.blur > header, .blur > main, .blur > footer
{
	-moz-filter: blur(5px);
	-webkit-filter: blur(5px);
	filter: blur(5px);
}

.about-nav
{
	background-color: #fafafd;
	color: #242528;
}

.musicians-nav
{
	background-color: #005548;
	color: #ffe0e4;
}

.promoters-nav
{
	background-color: #ffe0e4;
	color: #005548;
}

.events-nav
{
	background-color: #5f224d;
	color: #f4f7bc;
}

.commissions-nav
{
	background-color: #f4f7bc;
	color: #5f224d;
}

.projects-nav
{
	background-color: #a0a0a2;
	color: #242528;
}

.learning-nav
{
	background-color: #0e4c7d;
	color: #f9dbc1;
}

.directory-nav
{
	background-color: #7d123a;
	color: #c4f6e6;
}

/*********************************** General Styles ************************************/

.anchor
{
	position: relative;
	top: -54px;
}

.author
{
	font-style: italic;
}

blockquote > p::before
{
	content: "“";
	display: block;
	font-size: 8em;
	text-align: center;
}

blockquote > p
{
	line-height: 1.4em;
	margin: 5em 0 1.5em;
}

blockquote > footer
{
	border-top: 2px solid currentColor;
	display: inline-block;
	font-size: 0.8em;
	max-width: 75%;
	padding: 0.5em 1em;
}

a.button-link, a.button-link:hover, a.button-link:visited, a.button-link:active, button
{
	background-image: linear-gradient(#ffffff, #fafafd);
	border: 2px solid currentColor;
	border-radius: 0.4em;
	color: #005548;
	cursor: pointer;
	display: inline-block;
	font-size: 0.6em;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.8em;
	padding: 0.3em 0.3em 0.3em 0.5em;
	text-align: center;
	text-transform: uppercase;
	width: 20em;
}

a.button-link:hover, button:hover
{
	background-image: linear-gradient(#fafafd, #e1e1e4);
}

button:disabled, button[disabled]
{
	background-image: linear-gradient(#ffffff, #fafafd);
	color: #aaaaaa;
	cursor: not-allowed;
}

.button-link-disabled
{
	background-color: #eeeeee;
	border: 2px solid currentColor;
	border-radius: 0.4em;
	color: #999999;
	cursor: default;
	display: inline-block;
	font-size: 0.6em;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.8em;
	padding: 0.3em 0.3em 0.3em 0.5em;
	text-align: center;
	text-transform: uppercase;
	width: 20em;
}

.center
{
	text-align: center;
}

.dialog-box
{
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	display: inline-block;
	margin: 0 auto;
	padding: 0.5rem 2.5rem 2rem;
}

.dialog-box a.button-link, .dialog-box button
{
	margin: 2rem auto 1rem;
	width: auto;
}

.dialog-box input, .dialog-box select
{
	background-color: #fafafd;
	border: 0;
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	display: block;
	font-family: inherit;
	font-size: 0.9em;
	padding: 2px 4px;
	width: 20em;
}

.dialog-box select
{
	padding: 1px 4px;
}

.dialog-box label
{
	color: #005548;
	display: block;
	font-size: 0.9em;
	font-weight: bold;
	margin: 2rem auto 0.125rem;
	text-align: left;
}

.dialog-box textarea
{
	background-color: #fafafd;
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	display: block;
	font-family: "HansKendrick";
	font-size: 0.9em;
	height: 10em;
	margin: 0 auto;
	padding: 0.2em;
	width: 20em;
}

.dialog-box textarea.short
{
	height: 5em;
}

.dialog-box p
{
	font-size: 0.8em;
	margin: 1.5rem auto;
}

.dialog-box a.link, .dialog-box a.link:hover, .dialog-box a.link:visited, .dialog-box a.link:active
{
	border-bottom: 2px solid #005548;
	color: #005548;
	padding: 0 1px 1px;
}

.dialog-box .message
{
	font-size: 0.9em;
	line-height: 1.4em;
	max-width: 20em;
	text-align: justify;
}

.hidden
{
	display: none;
}

.wide-dialog, .wide-dialog .frame > div
{
	-moz-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: space-around;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-around;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	max-width: 40em;
}

.wide-dialog div
{
	padding: 0 0.5em;
	width: 50%;
}

.wide-dialog div.wide, .wide-dialog input, .wide-dialog select, .wide-dialog textarea
{
	min-width: 20em;
	width: 100%;
}

.wide-dialog .frame
{
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	padding: 0;
	width: 100%;
}

.wide-dialog .frame > div
{
	width: 100%;
}

.wide-dialog .frame > div > div
{
	width: 47.5%;
}

.wide-dialog .frame input, .wide-dialog .frame select
{
	min-width: auto;
}

.wide-dialog .label-hint
{
	display: flex;
	padding: 0;
	width: 100%;
}

.label-hint > label
{
	margin-left: 0;
}

.label-hint > span
{
	color: #888888;
	font-size: 0.75rem;
	margin: 2.5rem 0.3rem 0 0;
}

.dialog-box p.label-hint-normal
{
	color: #888888;
	font-size: 0.75rem;
	margin: 0.3rem auto 0;
	text-align: left;
}

.label-hint-bold
{
	font-weight: bold;
}

.wide-dialog .frame > div > div.row-delete-button
{
	padding: 0;
	width: 5%;
}

div.row-delete-button > button
{
	background-image: linear-gradient(#cd0000, #9b0000);
	border-color: #000000;
	color: #ffffff;
	letter-spacing: 0;
	margin: 3.625rem auto 0;
	min-width: auto;
	padding: 1px 8px;
}

div.row-delete-button > button:hover
{
	background-image: linear-gradient(#ff0000, #cd0000);
}

.image-upload-dialog .label-hint
{
	display: flex;
	padding: 0;
	width: 100%;
}

#image-upload
{
	cursor: pointer;
	margin-top: 0.3em;
}

.image-file-input-container
{
	display: none;
}

.image-frame
{
	-webkit-align-items: center;
	-webkit-justify-content: center;
	align-items: center;
	background-color: #ffffff;
	border: 2px dashed currentColor;
	border-radius: 0.2em;
	color: #96c7ff;
	display: flex;
	height: 400px;
	justify-content: center;
	width: 600px;
}

.croppie-container .cr-viewport
{
	border: 0;
}

.dialog-box input.cr-slider
{
	display: initial;
}

div.image-frame.dragenter
{
	border-style: solid;
}

.embed-container
{
	height: 0;
	max-width: 100%;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

.embed-container iframe, .embed-container object, .embed-container embed
{
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

p.error-message
{
	color: red;
	font-size: 0.75em;
	margin: 0.25rem 0 0;
	text-align: left;
	width: 24em;
}

.not-visible
{
	visibility: hidden;
}

.page-title
{
	margin-bottom: 1.5rem;
	padding-top: 2rem;
}

.page-title > span, .page-title > a
{
	border-bottom: 1.75px solid currentColor;
	color: #005548;
	font-size: 0.785em;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 2px 0 2px 0.2em;
	text-transform: uppercase;
}

.required::after
{
	color: red;
	content: "*";
	margin-left: 0.1em;
}

.account-management
{
	-moz-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
}

.account-management a.back
{
	color: #005548;
	font-size: 0.8em;
	padding: 0.5em;
}

.account-management a.back::before
{
	content: "\25C4\20";
}

.account-email
{
	padding: 0.5rem 0.5rem 0;
}

.account-menu
{
	margin-left: auto;
	padding: 0.5rem 0.5rem 0;
}

ul.tabs
{
	border-bottom: 1px solid #c8c8cb;
	display: flex;
	margin-bottom: -1px;
	margin-top: 1rem;
}

ul.tabs li
{
	background-color: #e1e1e4;
	border: 1px solid #c8c8cb;
	border-top-left-radius: 0.2em;
	border-top-right-radius: 0.2em;
	margin-bottom: -1px;
	margin-left: 1rem;
}

ul.tabs li a, ul.tabs li span
{
	border-top-left-radius: 0.2em;
	border-top-right-radius: 0.2em;
	color: #005548;
	cursor: pointer;
	display: block;
	padding: 0.3em 1.5em;
}

ul.tabs li.selected
{
	background-color: #fafafd;
	border-bottom: 1px solid #fafafd;
}

.article .download-links
{
	list-style-type: none;
	padding: 0;
}

.article .download-links li
{
	display: block;
	border: 1px solid #005548;
}

.article .download-links a
{
	border-bottom: 0;
	display: block;
	padding: 0;
}

.article .download-links li p
{
	margin: 0 2em;
	display: inline-block;
	vertical-align: middle;
}

.article .download-links li img
{
	display: inline-block;
	width: 100px;
	height: 100px;
	vertical-align: middle;
}

/**************************************** Pages ****************************************/

.about-page .page-title > span
{
	color: #242528;
}

.about-page .video
{
	margin: 1.5rem auto 0;
	width: 100%;
}

.about-page .video-text
{
	margin: 1rem auto 2rem;
	text-align: center;
	width: 70%;
}

.about-page .image-and-quote
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	background-color: #a0a0a2;
	color: #fafafd;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 100%;
}

.about-page .image-and-quote .quote
{
	margin: 1rem 0;
}

.about-page .image-and-quote > div > img
{
	width: 100%;
}

.about-page .image-and-quote h2, .about-page .what-we-do h2
{
	font-family: "Raisonne";
	font-size: calc(12px + 4vw);
}

.about-page .what-we-do
{
	padding: 1rem;
}

.about-page .what-we-do h2
{
	margin-bottom: 1rem;
}

.about-page ul
{
	list-style: disc;
	padding-left: 1rem;
}

.about-page li
{
	margin-bottom: 1rem;
	text-align: justify;
}

.about-page .tag-line
{
	font-size: 0.8em;
	margin-top: 1.5rem;
}

.about-page .about-team
{
	background-color: #242528;
	color: #a0a0a2;
	padding: 2rem 0 0.5rem;
}

.about-page .about-team .button-link
{
	background-image: linear-gradient(#fafafd, #a0a0a2);
	color: #242528;
}

.about-page .about-team p
{
	margin-bottom: 1em;
}

.about-page .about-team h1, .about-page .board-of-directors h1
{
	font-family: "Raisonne";
	font-size: calc(22px + 0.5vw);
	font-weight: bold;
	margin-bottom: 2rem;
}

.about-page .about-team .staff, .about-page .about-team .musicians
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.about-page .about-team .staff div, .about-page .about-team .musicians div
{
	margin: 0 1rem 1.5rem;
}

.about-page .about-team .staff h2, .about-page .about-team .musicians h2
{
	font-size: calc(14px + 0.5vw);
	font-weight: bold;
	margin: 0.2rem auto 0.1rem;
	text-align: left;
}

.about-page .about-team .staff p, .about-page .about-team .musicians p
{
	text-align: left;
}

.about-page .about-team .musicians a, .about-page .about-team .musicians a:hover, .about-page .about-team .musicians a:visited, .about-page .about-team .musicians a:active
{
	color: currentColor;
}

.about-page .board-of-directors
{
	padding: 1rem 4rem 0;
}

.about-page .board-of-directors > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.about-page .board-of-directors > div > div
{
	margin-bottom: 2em;
	width: 90%;
}

.about-page .board-of-directors > div > div > img
{
	width: 100%;
}

.about-page .board-of-directors h2
{
	font-size: calc(12px + 0.5vw);
	font-weight: bold;
	margin: 0 0 0.2rem;
	text-align: left;
}

.about-page .board-of-directors p
{
	font-size: 0.8em;
	line-height: 1.4em;
	text-align: left;
}

.about-page .board-of-directors > div > div.empty-wrap
{
	height: 0;
	margin-bottom: 0;
}

.article section
{
	padding-bottom: 3rem;
}

.article section a
{
	border-bottom: 2px solid currentColor;
	color: #005548;
	padding: 0 1px 0;
	text-decoration: none;
}

.article section.alternate
{
	background-color: #005548;
	color: #ffe0e4;
	padding-top: 2.5rem;
}

.article section.alternate h2
{
	color: #ffe0e4;
}

.article section.alternate a
{
	border-bottom: 2px solid #ffe0e4;
	color: #ffe0e4;
	padding: 0 1px 1px;
}

.article h2
{
	font-family: "Raisonne";
	font-size: calc(30px + 0.5vw);
	line-height: 1em;
	margin: 0.2rem 0 1rem;
}

.article section > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin-bottom: 1rem;
	align-items: center;
}

.article section > p
{
	line-height: 1.4em;
	margin: 1rem auto 3rem;
	padding: 0 1rem 0;
	text-align: justify;
}

.article .article-video
{
	margin-bottom: 1rem;
	max-width: 640px;
	text-align: left;
	width: 40em;
}

.article .article-video-text
{
	padding: 0 1rem;
}

.article .article-video-text > p
{
	line-height: 1.4em;
	margin-bottom: 1em;
	text-align: justify;
}

.article .longarticle
{
	padding: 0 1rem;
}

.article .longarticle > p
{
	line-height: 1.4em;
	text-align: justify;
	margin-bottom: 1em;
}

.article .longarticle > img
{
	margin-bottom: 1em;
}

.article blockquote
{
	padding: 0 1rem 2rem;
}

.article .article-columns
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	padding: 0 1rem 1rem;
}

.article .article-columns > div
{
	margin: 1rem auto;
}

.article .article-columns p
{
	line-height: 1.4em;
	text-align: justify;
}

.article img
{
	width: 100%;
}

.article ul
{
	list-style: disc;
	margin: 1em;
	padding-left: 2em;
	text-align: left;
}

.article ul > li
{
	margin: 0.67em 0;
}

.article .longarticle > p.centered
{
	text-align: center;
}

.article a.button-link
{
	background-image: linear-gradient(#bfbfbf, #a0a0a2);
	color: currentColor;
	font-size: 0.8em;
	letter-spacing: 0.3em;
	padding: 0.3em 0 0.3em 0.3em;
	width: 10em;
	margin-bottom: 3rem;
}

.article a.button-link:hover
{
	background-image: linear-gradient(#d8d8d8, #bfbfbf);
}

.article section.article-events p
{
	margin: 1rem auto;
}

.article section.article-events p.event-date
{
	color: #fafafd;
	text-align: center;
	font-weight: bold;
}

.article .past-events > h2
{
	font-size: unset;
	margin-top: 2em;
	margin-bottom: 0;
}

.commissions-page .page-title > span
{
	color: #5f224d;
}

.commissions-page h2
{
	color: #5f224d;
	font-family: "Raisonne", sans-serif;
	font-size: calc(80px + 0.5vw);
	margin: 3rem auto;
}

.commissions-page .composers
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.commissions-page .composers h3
{
	color: #5f224d;
	font-family: "Raisonne";
	font-size: calc(25px + 0.5vw);
	margin: 1rem auto 0.5rem;
}

.commissions-page .composers p
{
	line-height: 1.4em;
	text-align: justify;
}

.commissions-page .composers a
{
	border-bottom: 2px solid currentColor;
	color: #5f224d;
}

.commissions-page .new-composers
{
	background-color: #f4f7bc;
	padding: 2rem 1rem;
}

.commissions-page .composers img
{
	margin: auto;
	max-width: 100vw;
	width: 100%;
}

.commissions-page .new-composers p
{
	color: #5f224d;
	line-height: 1.4em;
	margin: 0 auto 1.5rem;
	max-width: 40em;
	text-align: justify;
}

.commissions-page .new-composers a.button-link
{
	background-image: linear-gradient(#ffffd5, #f4f7bc);
	color: #5f224d;
}

.commissions-page .new-composers a.button-link:hover
{
	background-image: linear-gradient(#f4f7bc, #dbdea3);
}

.commissions-page .previous-commissions
{
	background-color: #5f224d;
	color: #f4f7bc;
	padding: 3rem 0 1rem;
}

.commissions-page .previous-commissions > h1
{
	font-family: "Raisonne";
	font-size: calc(50px + 0.5vw);
}

.commissions-page .previous-commissions > div
{
	display: flex;
	margin: 2rem auto;
	max-width: 50em;
}

.commissions-page .previous-commissions > div > p
{
	-ms-flex: 1;
	-o-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	margin: 0 1rem;
	text-align: left;
}

.commissions-page .previous-commissions > div > a
{
	-ms-flex: 0;
	-o-flex: 0;
	-webkit-flex: 0;
	border-bottom: 2px solid #f4f7bc;
	color: #f4f7bc;
	display: inline-table;
	flex: 0;
	margin: 0 1rem;
	padding: 0 1px 0 1px;
	text-align: right;
}

.commissions-page .acknowledgements
{
	background-color: #f4f7bc;
	padding: 2rem 1rem;
}

.acknowledgements img
{
	display: inline;
	vertical-align: middle;
	height: 3.25em;
	width: initial;
}

.directory-page > header
{
	background-color: #005548;
	box-shadow: 0 1px 4px #002316;
}

.directory-page .page-title > a
{
	color: #ffe0e4;
}

.directory-page main
{
	background-color: #005548;
	color: #ffe0e4;
}

.directory-page h1.page-title > span
{
	color: #ffe0e4;
}

.directory-page .images > div
{
	margin: 0 auto 4rem;
	width: 100%;
}

.directory-page .images h2
{
	font-family: "Raisonne";
	font-size: calc(12px + 4vw);
	margin-bottom: 2rem;
}

.directory-page .images a
{
	color: #ffe0e4;
}

.directory-page .images img
{
	margin: 0 2rem;
	max-height: 20.8125rem;
	max-width: 100vw;
}

.directory-page .slideshow p
{
	padding-top: 1rem;
}

.directory-page .directory-filter h2
{
	font-family: "Raisonne";
	font-size: calc(12px + 2vw);
	margin: 2rem auto 1rem;
}

.directory-page .directory-filter > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1rem;
}

.directory-page .directory-filter form
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	margin: 0 1rem 1rem;
}

.directory-page .directory-filter form > div
{
	margin: auto;
}

.directory-page .directory-filter select, .directory-page .directory-filter input
{
	background-color: #005548;
	border: 2px solid currentColor;
	border-radius: 0.2em;
	color: currentColor;
	font-family: inherit;
	font-size: 0.8em;
	margin: 0.5rem auto 0;
	padding: 0 0.5rem;
	width: 27em;
}

.directory-page .directory-filter button
{
	background-image: linear-gradient(#196E61, #005548);
	color: currentColor;
	font-size: 0.7em;
	font-weight: bold;
	margin: 0.5rem 1rem 0;
	text-transform: uppercase;
	width: 10em;
}

.directory-page .directory-filter button:hover
{
	background-image: linear-gradient(#005548, #003C2F);
}

.directory-page .directory-letter
{
	padding: 0 1rem 2rem;
}

.directory-page .directory-letter a
{
	border-bottom: 1px solid currentColor;
	color: currentColor;
	display: inline;
	line-height: 2em;
	padding: 0 0 1px 0;
	text-decoration: none;
}

.directory-page .directory-summary
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.directory-page .directory-summary > div
{
	width: 15em;
}

.directory-page .directory-summary a
{
	color: currentColor;
}

.directory-page .directory-summary img
{
	width: 100%;
}

.directory-page .directory-summary p
{
	margin-bottom: 2rem;
}

.directory-page .directory-summary p > span
{
	border-bottom: 1px solid currentColor;
	display: inline;
	line-height: 1.6em;
	padding: 0 0 1px 0;
}

.directory-profile-page section
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 2rem;
}

.directory-profile-page section > div
{
	margin: 0 auto;
}

.directory-profile-page section > div > div
{
	margin: 0 1rem;
}

.directory-profile-page .directory-profile-picture
{
	max-width: 30em;
}

.directory-profile-page .directory-profile-picture > div
{
	max-width: 600px;
}

.directory-profile-page .directory-profile
{
	-ms-flex: 1;
	-o-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	margin-top: calc(2.5rem + 22px + 1.5vw);
	min-width: 25em;
}

.directory-profile-page .profile-video
{
	margin: 2rem 0;
}

.directory-profile-page h2, .directory-profile-page h3, .directory-profile-page h4
{
	color: #005548;
	font-family: "Raisonne";
}

.directory-profile-page blockquote
{
	color: #005548;
}

.directory-profile-page h2
{
	display: inline-block;
	font-size: calc(22px + 1.5vw);
	line-height: 1em;
	margin: 1rem auto 1.5rem;
	max-width: 85%;
}

.directory-profile-page .favourite-star
{
	cursor: pointer;
	display: inline-block;
	margin-left: 0.2em;
	width: calc(18px + 1.2vw);
}

.directory-profile-page h3
{
	font-size: calc(16px + 1vw);
	font-weight: bold;
	margin: 0;
	text-align: left;
}

.directory-profile-page h4
{
	margin: 2.5em auto 0.5em;
	text-align: left;
}

.directory-profile-page img
{
	width: 100%;
}

.directory-profile-page .directory-profile p
{
	margin-bottom: 1rem;
	text-align: justify;
}

.directory-profile-page a.website-link
{
	border-bottom: 2px solid #005548;
	color: #005548;
	padding: 0 1px 0 1px;
}

.directory-profile-page .directory-profile-icons
{
	display: flex;
	justify-content: normal;
	margin-top: 1.5rem;
}

.directory-profile-page .directory-profile-icons a
{
	margin: 0 1rem 0 0;
}

.directory-profile-page ul li
{
	margin-bottom: 0.75rem;
	text-align: left;
}

.directory-registration-banner
{
	border: 2px solid currentColor;
	border-radius: 0.2em;
	font-size: 0.9em;
	margin: 0 auto 1.5em;
	max-width: 40em;
	padding: 0.5em;
	text-align: justify;
}

.directory-registration-banner a
{
	border-bottom: 1px solid #ffe0e4;
	color: #ffe0e4;
	padding: 0 1px 1px;
}

.events-page main
{
	background-color: #5f224d;
	color: #f4f7bc;
}

.events-page > header
{
	background-color: #5f224d;
	box-shadow: 0 1px 4px #2d001b;
}

.events-page .page-title > span
{
	color: #f4f7bc;
}

.events-page h2
{
	font-size: 1.2em;
	margin: 1em 0;
}

.events-page .event-filter
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.events-page .event-filter div
{
	margin: 0 0.5rem 1rem;
}

.events-page .event-filter label
{
	display: block;
	text-align: left;
}

.events-page select, .events-page input
{
	background-color: #5f224d;
	border: 2px solid currentColor;
	border-radius: 0.2em;
	color: currentColor;
	font-family: inherit;
	font-size: 0.8em;
	height: 2.4em;
	padding: 2px;
}

.events-page select
{
	width: 14em;
}

.events-page button, .events-page a.button-link
{
	background-image: linear-gradient(#783b66, #511d41);
	color: currentColor;
	font-size: 0.8em;
	letter-spacing: 0.3em;
	padding: 0.3em 0 0.3em 0.3em;
	width: 10em;
}

.events-page button:hover, .events-page a.button-link:hover
{
	background-image: linear-gradient(#5f224d, #460934);
}

.events-page input::-webkit-calendar-picker-indicator
{
	background-color: #5f224d;
}

.events-page .event-list
{
	margin: 0 0.5rem 3rem;
}

.events-page h3
{
	font-family: "Raisonne";
	font-size: calc(16px + 4vw);
	line-height: 1.2em;
	margin: 3rem auto 0;
}

.events-page h4
{
	font-family: "Raisonne";
	font-size: calc(16px + 1.5vw);
	padding-top: 0.2rem;
}

.events-page .event-list p
{
	font-size: calc(16px + 0.5vw);
	margin: 0 auto 1rem;
	padding-top: 0.2rem;
}

.learning-page header
{
	background-color: #0e4c7d;
	box-shadow: 0 1px 4px #001a4b;
}

.learning-page main
{
	background-color: #0e4c7d;
	color: #f9dbc1;
}

.learning-page .page-title > span
{
	color: #f9dbc1;
}

.learning-page h2
{
	color: #f9dbc1;
	font-family: "Raisonne", sans-serif;
	font-size: calc(80px + 0.5vw);
	margin: 3rem auto;
}

.learning-page p
{
	line-height: 1.4em;
}

.learning-page .inspired-learning
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	background-color: #0e4c7d;
	color: #f9dbc1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 2rem;
}

.learning-page img
{
	width: 100%;
}

.learning-page .inspired-learning > div
{
	margin: 1rem 1rem 0;
}

.learning-page .inspired-learning > div > p
{
	margin-top: 1rem;
	text-align: justify;
}

.learning-page .images
{
	background-color: #fafafd;
	color: #242528;
	padding: 2rem 0;
}

.learning-page .images > div
{
	margin: 0 auto;
	width: 100%;
}

.learning-page .slideshow h4
{
	color: #0e4c7d;
	font-family: "Raisonne";
	line-height: 1em;
	margin: 1em 0 0.3em;
}

.learning-page .slideshow img, .learning-page .slideshow p
{
	margin: 0 2rem;
	max-width: 100vw;
	width: 400px;
}

.learning-page .slideshow p
{
	padding: 0 1rem;
	text-align: justify;
}

.learning-page .slideshow p a
{
	border-bottom: 2px solid currentColor;
	color: #0e4c7d;
	padding: 0 1px 0 1px;
}

.learning-page .music-education-matters
{
	background-color: #0e4c7d;
	color: #f9dbc1;
	padding: 2rem 1rem;
}

.learning-page .music-education-matters h1
{
	font-family: "Raisonne";
	font-size: calc(32px + 0.5vw);
	font-weight: normal;
	line-height: 1.2em;
	margin-bottom: 1rem;
}

.learning-page .music-education-matters p
{
	margin: 0 auto 1.5em;
	max-width: 30em;
	text-align: justify;
}

.learning-page .music-education-matters a.button-link
{
	background-image: linear-gradient(#276596, #0e4c7d);
	color: #f9dbc1;
}

.learning-page .music-education-matters a.button-link:hover
{
	background-image: linear-gradient(#0e4c7d, #003364);
}

.learning-page .learning-quotes
{
	background-color: #a0a0a2;
	color: #0e4c7d;
	padding: 2rem 1rem;
}

.learning-page .learning-quotes h1
{
	font-size: calc(22px + 0.5vw);
	font-weight: normal;
	line-height: 1.2em;
	margin: 0 auto 2rem;
	max-width: 30em;
}

.learning-page .learning-quotes a.button-link
{
	background-image: linear-gradient(#B9B9BB, #a0a0a2);
	color: #0e4c7d;
}

.learning-page .learning-quotes a.button-link:hover
{
	background-image: linear-gradient(#a0a0a2, #878789);
}

.learning-page .learning-quotes > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin: 2rem auto 0;
}

.learning-page .learning-quotes > div > div
{
	max-width: 30em;
}

.musicians-article main
{
	background-color: #d8d8d8;
	color: #242528;
}

.musicians-article header
{
	background-color: #d8d8d8;
	box-shadow: 0 1px 4px #6e6e70;
}

.musicians-article h2, .musicians-article blockquote
{
	color: #005548;
}

.musicians-page .musicians-article-preview
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.musicians-page .musicians-article-preview > div
{
	margin: 0 2rem 2rem;
}

.musicians-page .images p
{
	color: #005548;
	font-size: 0.75em;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 1rem 0 1rem 0;
	text-transform: uppercase;
}

.musicians-page .promoters-programme img
{
	width: 100%;
}

.musicians-page .promoters-programme
{
	background-color: #005548;
	color: #ffe0e4;
	padding: 3rem 0;
}

.musicians-page .promoters-programme > h2
{
	font-family: "Raisonne";
	font-size: 2.6em;
	line-height: 1.25em;
	margin-bottom: 2rem;
}

.musicians-page .promoters-programme > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 1rem;
}

.musicians-page .promoters-programme > div > *
{
	max-width: 25em;
}

.musicians-page .promoters-programme > div > img, .musicians-page .promoters-programme > div > p
{
	margin: 0 1rem;
}

.musicians-page .promoters-programme p
{
	margin: 1rem 1rem 0;
	text-align: justify;
}

.musicians-page .composers p
{
	margin: 1rem 1rem 0;
	text-align: justify;
}

.musicians-page a.button-link
{
	color: currentColor;
	margin: 1rem 0.5rem 0;
	width: 20.3em;
}

.musicians-page .promoters-programme a.button-link
{
	background-image: linear-gradient(#196E61, #005548);
}

.musicians-page .promoters-programme a.button-link:hover
{
	background-image: linear-gradient(#005548, #003C2F);
}

.musicians-page .composers
{
	background-color: #d8d8d8;
	color: #005548;
	padding: 0 0 3em;
}

.musicians-page .composers h2
{
	font-family: "Raisonne";
	font-size: 2.2em;
	font-weight: normal;
	margin: 1.5rem 0 0.5em;
}

.musicians-page .composers a.button-link
{
	background-image: linear-gradient(#f1f1f1, #d8d8d8);
}

.musicians-page .composers a.button-link:hover
{
	background-image: linear-gradient(#d8d8d8, #bfbfbf);
}

.musicians-page .images > div
{
	margin: 0 auto 4rem;
	width: 100%;
}

.musicians-page .images h2
{
	font-family: "Raisonne";
	font-size: calc(12px + 4vw);
	margin-bottom: 2rem;
}

.musicians-page .images a
{
	color: #005548;
}

.musicians-page .images img
{
	margin: 0 2rem;
	max-height: 536px;
	max-width: 100vw;
}

.my-account-page a.button-link, .my-account-page button, .my-account-page .button-link-disabled
{
	min-width: 7em;
	width: auto;
}

.my-account-page section a
{
	margin-bottom: 1.5rem;
}

.my-account-page .my-account-contacts > div, .my-account-page .my-account-events > div
{
	margin: 0 1rem;
}

.my-account-page .my-account-contacts > div > div, .my-account-page .my-account-events > div > div
{
	border-top: 1px solid black;
	display: flex;
	margin: 0 auto 0.5rem;
	max-width: 40em;
	text-align: left;
}

.my-account-page .my-account-contacts > div > div:last-child, .my-account-page .my-account-events > div > div:last-child
{
	border-bottom: 1px solid black;
}

.my-account-page .admin
{
	margin: 1em auto 0;
	padding: 0 1em;
}

.my-account-page .admin table
{
	border: 1px solid black;
	margin: auto;
}

.my-account-page .admin th
{
	border: 1px solid black;
	font-weight: bold;
	padding: 5px;
}

.my-account-page .admin td
{
	border: 1px solid black;
	padding: 5px;
	text-align: left;
}

.my-account-page .admin td > .button-link
{
	margin-bottom: 0;
}

.my-account-page .admin a
{
	color: #005548;
}

.my-account-page .admin a:hover
{
	text-decoration: underline;
}

.my-account-page .admin a.button-link:hover
{
	text-decoration: none;
}

.my-account-page .user .dialog-box
{
	max-width: 20em;
}

.my-account-page .user p
{
	text-align: justify;
}

.my-account-page .admin-events .my-account-events
{
	margin: 1em auto 1.5em;
}

.my-account-page .action-details
{
	-ms-flex: 1;
	-o-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	margin: 0.5rem 0;
}

.my-account-page .action-buttons
{
	-moz-flex-wrap: wrap;
	-ms-align-items: center;
	-ms-flex: 0;
	-ms-flex-wrap: wrap;
	-o-align-items: center;
	-o-flex: 0;
	-o-flex-wrap: wrap;
	-webkit-align-items: center;
	-webkit-flex: 0;
	-webkit-flex-wrap: wrap;
	align-content: start;
	align-items: center;
	display: flex;
	flex: 0;
	flex-wrap: wrap;
}

.my-account-page .my-account-contacts > div > div > div > p, .my-account-page .my-account-contacts > div > div > div > address, .my-account-page .my-account-events > div > div > div > p .my-account-page .my-account-events > div > div > div > address
{
	margin: 0.2rem 0;
}

.my-account-page .action-buttons > a, .my-account-page .action-buttons > form > button
{
	margin: 0.2rem 0.3rem 0.4rem;
}

.my-account-dialog-box .buttons > div
{
	margin: 0 1rem;
}

.my-account-dialog-box > div > .date-time
{
	display: flex;
}

.my-account-dialog-box #Date
{
	margin-right: 2rem;
	width: 9em;
}

.my-account-dialog-box #Time
{
	width: 5em;
}

.my-account-dialog-box .half-width, .my-account-dialog-box .input-with-button
{
	display: flex;
	justify-content: space-between;
	width: 18em;
}

.my-account-dialog-box .half-width > div
{
	width: 46%;
}

.my-account-dialog-box .half-width input, .my-account-dialog-box .half-width p.error-message
{
	width: 100%;
}

.my-account-dialog-box .input-with-button > div
{
	flex: 1;
}

.my-account-dialog-box .input-with-button input
{
	width: 14em;
}

.my-account-dialog-box .input-with-button button
{
	margin: 3.3rem auto 0;
}

.my-account-dialog-box > .buttons
{
	-o-justify-content: center;
	-webkit-justify-content: center;
	display: flex;
	justify-content: center;
}

.my-account-dialog-box > .buttons > div > button, .my-account-dialog-box > .buttons > div > .button-link
{
	width: 6rem;
}

.my-account-dialog-box .options
{
	margin-left: 1rem;
}

.my-account-dialog-box .options > div
{
	margin-top: 0.5rem;
	text-align: left;
}

.my-account-dialog-box .options > div > *
{
	cursor: pointer;
	display: inline-block;
	width: auto;
}

.my-account-dialog-box .options > div > label
{
	margin: 0 auto 0 0.3rem;
}

.my-account-page .directory-profile-list
{
	padding: 0 0.5em;
}

.my-account-page .directory-profile-list > .button-link
{
	margin: 0 auto 2rem;
}

.my-account-page .directory-profile-summary
{
	-moz-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 2rem;
	max-width: 40em;
	padding: 0.5em;
}

.my-account-page .directory-profile-summary .directory-profile-image
{
	border-radius: 0.4em;
	height: 12rem;
	margin: auto;
	width: 18rem;
}

.my-account-page .directory-profile-summary .directory-profile-image.missing-image
{
	background-color: #eeeeee;
	border: 1px solid #aaaaaa;
}

.my-account-page .directory-profile-summary img
{
	border-radius: 0.4em;
	height: 100%;
	width: 100%;
}

.my-account-page .directory-profile-summary .directory-profile-details
{
	-o-flex: 1;
	-o-justify-content: space-around;
	-webkit-flex: 1;
	-webkit-justify-content: space-around;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-around;
	margin-left: 0.5em;
}

.my-account-page .directory-profile-summary > div > div
{
	padding: 0.5em 0;
}

.my-account-page .directory-profile-summary-buttons
{
	display: flex;
	margin: 0 auto;
}

.my-account-page .directory-profile-summary a.button-link, .my-account-page .directory-profile-summary .button-link-disabled
{
	margin: 0 0.5em;
}

.my-account-page .directory-profile-summary .directory-link > a
{
	border-bottom: 2px solid #005548;
	color: #005548;
	padding: 0 1px 1px;
}

.my-account-page .payment-image
{
	height: 12rem;
	margin: 1rem auto;
	width: 18rem;
}

.my-account-page .payment-price
{
	margin: 0 auto;
}

.my-account-page .payment-image > img
{
	border-radius: 0.4em;
	height: 100%;
	width: 100%;
}

.my-account-page #payment-form
{
	margin: auto;
	max-width: 680px;
}

.my-account-page #card-element
{
	background-color: #fafafd;
	border: 1px solid #c8c8cb;
	border-radius: 0.2em;
	font-family: inherit;
	margin: 1rem 0.5rem;
	padding: 2px 4px;
}

.my-account-page #card-errors
{
	color: red;
	font-size: 0.9em;
	margin: 1rem auto;
}

.dialog-box .delete-instruction
{
	font-size: 0.9em;
	margin: 1.5rem 0;
	text-align: justify;
	width: 20em;
}

.dialog-box .delete-warning
{
	border: 2px solid red;
	border-radius: 0.4em;
	padding: 0.5em;
}

.dialog-box .delete-warning-title
{
	font-size: 1em;
	font-weight: bold;
	text-align: center;
}

.dialog-box .delete-warning p
{
	margin: 0 auto 0.5em;
}

.complete-profile-message
{
	font-size: 0.8em;
}

.my-account-page .directory-profile-summary .complete-profile-message a
{
	border-bottom: 2px solid #005548;
	color: #005548;
	margin: 0;
	padding: 0 1px 1px;
}

a.button-link.button-highlight
{
	background-image: linear-gradient(#e6bf00, #cda600);
	border-color: #000000;
	color: #000000;
}

a.button-link.button-highlight:hover
{
	background-image: linear-gradient(#ffff00, #e6bf00);
	border-color: #444444;
	color: #444444;
}

.error-page > main
{
	-ms-align-items: center;
	-o-align-items: center;
	-webkit-align-items: center;
	align-items: center;
	display: flex;
}

.error-page > main > p
{
	font-size: 2em;
	margin: 2rem auto 0;
}

.projects-article main
{
	background-color: #a0a0a2;
	color: #242528;
}

.projects-article header
{
	background-color: #a0a0a2;
	box-shadow: 0 1px 4px #6e6e70;
}

.projects-article h2, .projects-article blockquote, .projects-article .page-title > a
{
	color: #fafafd;
}

.projects-article h3
{
	font-weight: bold;
}

.projects-page main
{
	background-color: #a0a0a2;
	color: #242528;
}

.projects-page header
{
	background-color: #a0a0a2;
	box-shadow: 0 1px 4px #6e6e70;
}

.projects-page .page-title > span
{
	color: #fafafd;
}

.projects-page h2
{
	color: #fafafd;
	font-family: "Raisonne";
	font-size: calc(66px + 0.5vw);
	margin: 2rem auto 1rem;
}

.projects-page .projects-article-previews
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.projects-page .projects-article-previews > div
{
	margin: 0 1rem 3rem;
	text-align: left;
}

.projects-page .projects-article-previews > div > a, .projects-page .projects-article-previews > div > a:hover, .projects-page .projects-article-previews > div > a:visited, .projects-page .projects-article-previews > div > a:active
{
	color: currentColor;
}

.projects-page .projects-article-previews > div, .projects-page .projects-article-previews > div > a > img
{
	width: 100%;
}

.projects-page h3
{
	font-family: "Raisonne";
	font-size: 2.2em;
	line-height: 1.2em;
	padding-top: 0.5rem;
}

.promoters-page h2
{
	color: #005548;
	font-family: "Raisonne", sans-serif;
	font-size: calc(30px + 3vw);
	margin: 3rem 1rem;
}

.promoters-page .promoters-programme a
{
	border-bottom: 2px solid #ffe0e4;
	color: #ffe0e4;
	padding: 0 1px 1px;
}

.promoters-page .images > div
{
	margin: 0 auto;
	width: 100%;
}

.promoters-page .slideshow img
{
	margin: 0 2rem;
	width: 100vw;
}

.promoters-page .promoter-map .map-text
{
	margin: 3rem 1rem 1.5rem;
}

.promoters-page .promoter-map .map-text > p
{
	color: #005548;
	margin: 0 auto;
	max-width: 50rem;
	text-align: justify;
}

.promoters-page #map
{
	height: 31.25rem;
	margin: auto;
	max-width: 100%;
	width: 50rem;
}

.promoters-page .map-label-name
{
	font-family: "HansKendrick";
	margin: 0.5rem auto;
}

.promoters-page .map-label-link
{
	font-family: "HansKendrick";
	margin: 0.5rem auto;
}

.promoters-page .map-label-link > a
{
	color: #005548;
	text-decoration: underline;
}

.promoters-page .promoter-dropdown
{
	background-color: #fafafd;
	border: 2px solid #005548;
	border-radius: 0.2em;
	color: #005548;
	font-family: inherit;
	font-size: 0.67em;
	font-weight: bold;
	height: 2.4em;
	margin: 1rem auto 3rem;
	max-width: 90%;
	padding: 0 1rem;
	text-transform: uppercase;
	width: 40rem;
}

.promoters-page .promoters-programme
{
	background-color: #005548;
	color: #ffe0e4;
	padding: 3rem 0 2rem;
}

.promoters-page .promoters-programme > h3
{
	font-family: "Raisonne";
	font-size: calc(20px + 2vw);
	margin-bottom: 1rem;
}

.promoters-page .promoters-programme > div
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.promoters-page .promoters-programme > div > *
{
	margin: 1rem;
	max-width: 30rem;
	text-align: justify;
}

.promoters-page .promoters-programme p
{
	line-height: 1.4em;
	margin-bottom: 1rem;
}

.promoters-page .promoters-programme a.button-link
{
	background-image: linear-gradient(#196E61, #005548);
	color: currentColor;
}

.promoters-page .promoters-programme a.button-link:hover
{
	background-image: linear-gradient(#005548, #003C2F);
}

.promoters-page .promoters-programme img
{
	height: 100%;
}

.promoters-page .banner
{
	background-color: #ffe0e4;
	color: #005548;
	padding: 3rem 0 2rem;

}

.promoters-page .banner a
{
	color: #005548;
	border-bottom: 2px solid #005548;
	padding: 0 1px 1px;
}

.promoters-page .banner > div
{
	max-width: 40em;
	text-align: justify;
	margin: auto;
}

.promoters-page .banner > div > p
{
	line-height: 1.4em;
	margin-bottom: 1rem;
}

.promoters-page .banner h3
{
	font-family: "Raisonne";
	font-size: calc(20px + 2vw);
	margin-bottom: 1rem;
}

.promoters-page .banner a.button-link
{
	background-image: linear-gradient(#f1f1f1, #d8d8d8);
}

.promoters-page .banner a.button-link:hover
{
	background-image: linear-gradient(#d8d8d8, #bfbfbf);
}

.promoter-actions img
{
	width: 20em;
}

.promoter-actions
{
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	-o-justify-content: center;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 3rem auto 1rem;
}

.promoter-actions h3
{
	font-family: "Raisonne";
	font-size: calc(20px + 2vw);
	line-height: 1.4em;
	margin: 2.5rem auto 2rem;
	width: 70%;
}

.promoter-actions h4
{
	font-family: "Raisonne";
	font-size: calc(15px + 2vw);
	line-height: 1.2em;
	margin: 2.5rem auto 2rem;
	width: 70%;
}

.promoter-actions > div
{
	background-color: #005548;
	color: #ffe0e4;
	margin: 0.5rem 2rem;
	max-width: 20em;
	padding-bottom: 2rem;
}

.promoter-actions a.button-link
{
	background-image: linear-gradient(#196E61, #005548);
	color: currentColor;
}

.promoter-actions a.button-link:hover
{
	background-image: linear-gradient(#005548, #003C2F);
}

/************************************ Media Queries ************************************/

@media screen and (min-width: 376px)
{
	.about-page .video
	{
		width: 80%;
	}

	.about-page .what-we-do
	{
		padding: 2rem;
	}

	.about-page .about-team .staff div, .about-page .about-team .musicians div
	{
		margin: 0 2rem 3rem;
	}

	.article section
	{
		padding: 1rem 0 3rem;
	}

	.article .article-video-text
	{
		padding: 2rem 1rem;
	}

	.article .longarticle
	{
		padding: 0 1rem;
		margin: auto;
		width: 100%;
		display: block;
	}

	.article .longarticle p
	{
		max-width: 100%;
	}

	.article blockquote
	{
		width: 40em;
	}

	.events-page .event-list
	{
		margin-bottom: 4rem;
	}

	.events-page h3
	{
		margin-top: 4rem;
	}

	.events-page .event-filter div
	{
		margin-bottom: 1.5rem;
	}

	.learning-page .inspired-learning > div
	{
		max-width: 300px;
	}
}

@media screen and (min-width: 601px)
{
	.about-page .image-and-quote
	{
		padding: 1rem 0;
	}

	.about-page .image-and-quote > div
	{
		margin: 1rem 0;
		width: 600px;
	}

	.about-page .board-of-directors > div > div
	{
		margin: 0 1rem 2.5rem;
		width: 15rem;
	}

	.commissions-page .composers > div
	{
		margin: 0 0 2rem;
		max-width: 30%;
	}

	.directory-page .images > div
	{
		width: 75%;
	}

	.musicians-page .images > div
	{
		width: 75%;
	}

	.dialog-box
	{
		margin: 1rem auto;
	}

	.learning-page .images > div, .promoters-page .images > div, .promoters-page .slideshow img
	{
		width: 75vw;
	}

	.musicians-page .musicians-article-preview > div
	{
		width: 45%;
	}

	.musicians-page .composers p
	{
		margin: 1rem auto;
		max-width: 35em;
	}

	.projects-page .projects-article-previews > div
	{
		width: 45%;
	}
}

@media screen and (min-width: 801px)
{
	.menu-container > nav
	{
		height: 100vh;
		margin: 0 auto auto auto;
		width: 50vw;
		writing-mode: vertical-lr;
	}

	.menu-container > nav > a > div
	{
		padding: 1.2em 0 0 0;
	}

	.about-page .video
	{
		width: 60%;
	}

	.about-page .image-and-quote
	{
		padding: 3rem 0;
	}

	.about-page .what-we-do
	{
		padding: 3rem;
	}

	.about-page .board-of-directors
	{
		padding: 1rem 8rem 0;
	}

	.article .article-columns
	{
		padding: 0 2rem 2rem;
	}

	.dialog-box
	{
		margin: 2rem auto;
	}

	.events-page .event-list
	{
		margin-bottom: 5rem;
	}

	.events-page h3
	{
		margin-top: 5rem;
	}

	.learning-page .images > div, .promoters-page .images > div
	{
		width: 65vw;
	}

	.promoters-page .slideshow img
	{
		width: auto;
	}

	.musicians-page .musicians-article-preview > div
	{
		margin-bottom: 4rem;
		width: 28%;
	}

	.projects-page .projects-article-previews > div
	{
		width: 28%;
	}
}

@media screen and (min-width: 1100px)
{
	.article section p
	{
		max-width: 40em;
	}

	.article .article-video-text
	{
		width: 25em;
	}

	.article .article-columns > div
	{
		width: 25em;
	}

	.article .longarticle
	{
		width: 70%;
	}

	.learning-page .inspired-learning > div
	{
		max-width: 400px;
	}

	.learning-page .images > div
	{
		width: 50%;
	}
}

/* slick */

.slick-prev, .slick-next, .slick-prev:hover, .slick-next:hover
{
	-ms-transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	background: transparent;
	border: none;
	cursor: pointer;
	display: block;
	font-size: 0;
	outline: none;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	z-index: 1;
}

.slick-prev
{
	left: -5rem;
	width: auto;
}

.slick-next
{
	right: -5rem;
	width: auto;
}

.slick-prev::before
{
	background-image: url('/i/image-arrow-left.png');
	background-size: 46px 88px;
	content: "";
	display: inline-block;
	height: 88px;
	width: 46px;
}

.slick-next::before
{
	background-image: url('/i/image-arrow-right.png');
	background-size: 46px 88px;
	content: "";
	display: inline-block;
	height: 88px;
	width: 46px;
}

/* google maps */

.gm-style .transit-container
{
	background-color: white;
	max-width: 265px;
	overflow-x: hidden
}

.gm-style .transit-container .transit-title span
{
	font-size: 14px;
	font-weight: 500
}

.gm-style .transit-container .transit-title
{
	padding-bottom: 6px
}

.gm-style .transit-container .transit-wheelchair-icon
{
	background: transparent url('https://maps.gstatic.com/mapfiles/api-3/images/mapcnt6.png');
	background-position: -5px -450px;
	background-size: 59px 492px;
	display: inline-block;
	height: 13px;
	width: 13px;
}

.gm-style.gm-china .transit-container .transit-wheelchair-icon
{
	background-image: url('http://maps.gstatic.cn/mapfiles/api-3/images/mapcnt6.png')
}

@media (-webkit-min-device-pixel-ratio: 1.2), (min-resolution: 1.2dppx), (min-resolution: 116dpi)
{
	.gm-style .transit-container .transit-wheelchair-icon
	{
		background-image: url('https://maps.gstatic.com/mapfiles/api-3/images/mapcnt6_hdpi.png');
		background-position: -5px -449px;
		background-size: 59px 492px;
		display: inline-block;
		height: 13px;
		width: 13px;
	}

	.gm-style.gm-china .transit-container .transit-wheelchair-icon
	{
		background-image: url('http://maps.gstatic.cn/mapfiles/api-3/images/mapcnt6_hdpi.png')
	}
}

.gm-style .transit-container div
{
	background-color: white;
	font-size: 11px;
	font-weight: 300;
	line-height: 15px
}

.gm-style .transit-container .transit-line-group
{
	margin-right: -6px;
	overflow: hidden;
}

.gm-style .transit-container .transit-line-group-separator
{
	border-top: 1px solid #e6e6e6;
	padding-top: 5px
}

.gm-style .transit-container .transit-nlines-more-msg
{
	color: #999;
	margin-top: -3px;
	padding-bottom: 6px
}

.gm-style .transit-container .transit-line-group-vehicle-icons
{
	display: inline-block;
	margin-top: 1px;
	padding-right: 10px;
	vertical-align: top;
}

.gm-style .transit-container .transit-line-group-content
{
	display: inline-block;
	margin-bottom: -3px;
	max-width: 228px;
	min-width: 100px;
}

.gm-style .transit-container .transit-clear-lines
{
	clear: both
}

.gm-style .transit-container .transit-div-line-name
{
	float: left;
	padding: 0 6px 6px 0;
	white-space: nowrap
}

.gm-style .transit-container .transit-div-line-name .gm-transit-long
{
	width: 107px
}

.gm-style .transit-container .transit-div-line-name .gm-transit-medium
{
	width: 50px
}

.gm-style .transit-container .transit-div-line-name .gm-transit-short
{
	width: 37px
}

.gm-style .transit-div-line-name .renderable-component-icon
{
	float: left;
	margin-right: 2px
}

.gm-style .transit-div-line-name .renderable-component-color-box
{
	background-image: url(https://maps.gstatic.com/mapfiles/transparent.png);
	float: left;
	height: 10px;
	margin-left: 1px;
	margin-right: 3px;
	margin-top: 3px;
	width: 4px;
}

.gm-style.gm-china .transit-div-line-name .renderable-component-color-box
{
	background-image: url(http://maps.gstatic.cn/mapfiles/transparent.png)
}

.gm-style .transit-div-line-name .renderable-component-text
{
	display: block;
	overflow: hidden;
	text-align: left;
	text-overflow: ellipsis;
}

.gm-style .transit-div-line-name .renderable-component-text-box
{
	display: block;
	font-size: 8pt;
	font-weight: 400;
	overflow: hidden;
	padding: 1px 2px;
	text-align: center;
	text-overflow: ellipsis;
}

.gm-style .transit-div-line-name .renderable-component-text-box-white
{
	background-color: white;
	border: solid 1px #ccc;
	padding: 0 2px
}

.gm-style .transit-div-line-name .renderable-component-bold
{
	font-weight: 400
}

.poi-info-window div, .poi-info-window a
{
	-moz-user-select: text;
	-ms-user-select: text;
	-webkit-user-select: text;
	background-color: white;
	color: #333;
	font-family: Roboto, Arial;
	font-size: 13px;
	user-select: text
}

.poi-info-window
{
	cursor: default
}

.poi-info-window a:link
{
	color: #427fed;
	text-decoration: none;
}

.poi-info-window .view-link, .poi-info-window a:visited
{
	color: #427fed
}

.poi-info-window .view-link:hover, .poi-info-window a:hover
{
	cursor: pointer;
	text-decoration: underline
}

.poi-info-window .full-width
{
	width: 180px
}

.poi-info-window .title
{
	font-size: 14px;
	font-weight: 500;
	overflow: hidden;
}

.poi-info-window .address
{
	color: #555;
	margin-top: 2px;
}

.gm-style .gm-style-iw
{
	font-size: 13px;
	font-weight: 300;
	overflow: hidden
}

.gm-style .gm-style-iw-a
{
	height: 0;
	position: absolute;
	width: 9999px;
}

.gm-style .gm-style-iw-t
{
	position: absolute;
	width: 100%
}

.gm-style .gm-style-iw-t::after
{
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	background: linear-gradient(45deg, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0) 100%);
	box-shadow: -2px 2px 2px 0 rgba(178, 178, 178, .4);
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%) rotate(-45deg);
	width: 15px
}

.gm-style .gm-style-iw-c
{
	-webkit-transform: translate(-50%, -100%);
	background-color: white;
	border-radius: 8px;
	box-shadow: 0 2px 7px 1px rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
	left: 0;
	overflow: hidden;
	padding: 12px;
	position: absolute;
	top: 0;
	transform: translate(-50%, -100%);
}

.gm-style .gm-style-iw-d
{
	box-sizing: border-box;
	overflow: auto
}

.gm-style .gm-style-iw-d::-webkit-scrollbar
{
	-webkit-appearance: none;
	height: 12px;
	width: 18px;
}

.gm-style .gm-style-iw-d::-webkit-scrollbar-track, .gm-style .gm-style-iw-d::-webkit-scrollbar-track-piece
{
	background: #fff
}

.gm-style .gm-style-iw-c .gm-style-iw-d::-webkit-scrollbar-thumb
{
	background-clip: content-box;
	background-color: rgba(0, 0, 0, 0.12);
	border: 6px solid transparent;
	border-radius: 9px;
}

.gm-style .gm-style-iw-c .gm-style-iw-d::-webkit-scrollbar-thumb:horizontal
{
	border: 3px solid transparent
}

.gm-style .gm-style-iw-c .gm-style-iw-d::-webkit-scrollbar-thumb:hover
{
	background-color: rgba(0, 0, 0, 0.3)
}

.gm-style .gm-style-iw-c .gm-style-iw-d::-webkit-scrollbar-corner
{
	background: transparent
}

.gm-style .gm-iw
{
	color: #2c2c2c
}

.gm-style .gm-iw b
{
	font-weight: 400
}

.gm-style .gm-iw a:link, .gm-style .gm-iw a:visited
{
	color: #4272db;
	text-decoration: none
}

.gm-style .gm-iw a:hover
{
	color: #4272db;
	text-decoration: underline
}

.gm-style .gm-iw .gm-title
{
	font-weight: 400;
	margin-bottom: 1px
}

.gm-style .gm-iw .gm-basicinfo
{
	line-height: 18px;
	padding-bottom: 12px
}

.gm-style .gm-iw .gm-website
{
	padding-top: 6px
}

.gm-style .gm-iw .gm-photos
{
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	padding-bottom: 8px;
}

.gm-style .gm-iw .gm-sv, .gm-style .gm-iw .gm-ph
{
	cursor: pointer;
	height: 50px;
	overflow: hidden;
	position: relative;
	width: 100px;
}

.gm-style .gm-iw .gm-sv
{
	padding-right: 4px
}

.gm-style .gm-iw .gm-wsv
{
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.gm-style .gm-iw .gm-sv-label, .gm-style .gm-iw .gm-ph-label
{
	bottom: 6px;
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	font-weight: 400;
	position: absolute;
	text-shadow: rgba(0, 0, 0, 0.7) 0 1px 4px;
}

.gm-style .gm-iw .gm-stars-b, .gm-style .gm-iw .gm-stars-f
{
	font-size: 0;
	height: 13px;
}

.gm-style .gm-iw .gm-stars-b
{
	background-position: 0 0;
	margin: 0 5px;
	position: relative;
	top: 3px;
	width: 65px;
}

.gm-style .gm-iw .gm-rev
{
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	line-height: 20px;
}

.gm-style.gm-china .gm-iw .gm-rev
{
	display: none
}

.gm-style .gm-iw .gm-numeric-rev
{
	color: #dd4b39;
	font-size: 16px;
	font-weight: 400
}

.gm-style .gm-iw.gm-transit
{
	margin-left: 15px
}

.gm-style .gm-iw.gm-transit td
{
	vertical-align: top
}

.gm-style .gm-iw.gm-transit .gm-time
{
	color: #676767;
	font-weight: bold;
	white-space: nowrap;
}

.gm-style .gm-iw.gm-transit img
{
	float: left;
	height: 15px;
	margin: 1px 5px 0 -20px;
	width: 15px;
}

.gm-iw
{
	text-align: left;
}

.gm-iw .gm-numeric-rev
{
	float: left;
}

.gm-iw .gm-photos, .gm-iw .gm-rev
{
	direction: ltr;
}

.gm-iw .gm-stars-f, .gm-iw .gm-stars-b
{
	background: url("https://maps.gstatic.com/mapfiles/api-3/images/review_stars.png") no-repeat;
	background-size: 65px 26px;
	float: left;
}

.gm-iw .gm-stars-f
{
	background-position: left -13px;
}

.gm-iw .gm-sv-label, .gm-iw .gm-ph-label
{
	left: 4px;
}

.gm-control-active > img
{
	-webkit-transform: translate(-50%, -50%);
	box-sizing: content-box;
	display: none;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%)
}

.gm-control-active > img:nth-child(1)
{
	display: block
}

.gm-control-active:hover > img:nth-child(1), .gm-control-active:active > img:nth-child(1)
{
	display: none
}

.gm-control-active:hover > img:nth-child(2), .gm-control-active:active > img:nth-child(3)
{
	display: block
}

.gm-ui-hover-effect
{
	opacity: .6
}

.gm-ui-hover-effect:hover
{
	opacity: 1
}

.gm-style .gm-style-cc span, .gm-style .gm-style-cc a, .gm-style .gm-style-mtc div
{
	box-sizing: border-box;
	font-size: 10px;
}

@media print
{
	.gm-style .gmnoprint, .gmnoprint
	{
		display: none
	}
}

@media screen
{
	.gm-style .gmnoscreen, .gmnoscreen
	{
		display: none
	}
}

.gm-style-pbc
{
	-o-transition: opacity ease-in-out;
	-webkit-transition: opacity ease-in-out;
	background-color: rgba(0, 0, 0, 0.45);
	text-align: center;
	transition: opacity ease-in-out;
}

.gm-style-pbt
{
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	color: white;
	font-family: Roboto, Arial, sans-serif;
	font-size: 22px;
	margin: 0;
	position: relative;
	top: 50%;
	transform: translateY(-50%)
}

.gm-style img
{
	max-width: none;
}

.gm-style
{
	font: 400 11px Roboto, Arial, sans-serif;
	text-decoration: none;
}

.g-recaptcha-container
{
	margin-top: 2.4rem;
	text-align: center;
}

.g-recaptcha
{
	display: inline-block;
}

.g-recaptcha-container > .error-message
{
	text-align: center;
}
