/*
Black #464547
Red #961c41
Green #b4d8d6
Grey #c4c6c1
*/

body { background: #b4d8d6; color: #464547; margin: 0; padding: 0; font-size: 1.25rem; line-height: 1.5; }

.clear { clear: both; }
.hidden { display: none; }
.centered { text-align: center; }

* { font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; font-weight: normal; box-sizing: border-box; }
img { display: block; width: 100%; height: auto; }
a { color: #464547; text-decoration: none; cursor: pointer; }

label { display: block; padding: 1.5rem 0 0.5rem 1rem; margin: 0; font-weight: bold; }
label.normal { display: inline-block; padding: 5px 0 0 0; margin: 0 25px 0 0; font-weight: normal; }
label i { display: block; font-style: normal; color: #ccc; }
input, select { display: block; width: 100%; margin: 2px 0; border: 1px solid #ccc; font-size: 18px; line-height: 40px; padding: 5px 9px; }
textarea { display: block; width: 100%; margin: 2px 0; border: 1px solid #ccc; font-size: 18px; line-height: 25px; padding: 15px 9px; }
input[type=checkbox], input[type=radio] { display: inline-block; width: auto; }

a.button, button { display: inline-block; margin: 25px 0 50px 0 !important; padding: 1rem 2rem; font-weight: bold; text-transform: uppercase; font-size: 1rem; line-height: 1.5; background: #070047; color: #fff; border: none; border-radius: 3px; cursor: pointer; text-decoration: none; outline: none; }
a.button:hover, button:hover { color: #fff; background: #56957d; }

header { position: fixed; top: 0; right: 0; left: 0; padding: 3rem; z-index: 9; background: #c4c6c1; box-shadow: 0px 5px 15px 0px rgba(0,0,0,0.25); transition: all .25s ease-in-out; }
header a { user-select: none; color: #2b2344; }
header a.logo { display: block; position: absolute; top: 0; left: 3rem; width: 200px; height: 200px; overflow: hidden; transition: all .25s ease-in-out; z-index: 2; filter: drop-shadow(0 5px 5px #0004); }
header a.open.nav-trigger { display: none; position: absolute; top: 45px; right: 50px; font-size: 80px; line-height: 50px; height: 50px; z-index: 1; color: #961c41; }
header nav { display: block; float: right; width: calc(100% - 225px); text-align: right; margin: 0; z-index: 2; }
header nav ul { display: block; list-style: none; margin: 0; padding: 0; }
header nav ul li { position: relative; display: inline-block; margin: 0 0 0 2rem; }
header nav ul li:first-of-type { margin-left: 0; }
header nav ul li a { display: block; }
header nav ul li a span { position: relative; line-height: 25px; padding-bottom: 10px; font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; text-transform: uppercase; font-weight: bold; }
header nav ul li a span:after { content: ""; height: 2px; width: 100%; position: absolute; bottom: 5px; left: 0; background-color: #2b2344; display: inline-block; transform: scaleX(0); transition: all .25s ease-in-out; }
header nav ul li a:hover span:after, header nav ul li a.selected span:after { transform: scaleX(1); transition: all .25s ease-in-out; }
header nav a.close.nav-trigger { display: none; position: absolute; top: 45px; right: 50px; font-size: 80px; line-height: 50px; height: 50px; text-align: center; z-index: 1; color: #d0d0d0 !important; }
header nav a.logo { display: none; margin: 50px; }
header:after { content: ""; display: table; clear: both; }

body.fixed header { padding: 1.5rem 3rem; }
body.fixed header a.logo { top: 1rem; width: 125px; }

#aside { display: block; position: fixed; top: 300px; right: 0; width: 165px; background: #2b2344; color: #fff; text-decoration: none; z-index: 2; padding: 15px; text-align: right; border-radius: 10px 0 0 10px; box-shadow: 0 5px 5px 0 rgba(0,0,0,.25); line-height: 25px; }
#aside strong { display: block; font-size: 120%; text-align: left; padding-top: 80px; background: url("/images/icon-megaphone.png") no-repeat 0 0; background-size: auto 70px; }

main article.thanks { margin-top: 0; }
@media only screen and (max-width: 767px) and (orientation: portrait) {
	main article section { font-size: 50% !important; }
}
@media only screen and (max-width: 1023px) and (orientation: portrait) {
	main article.thanks { margin-top: 0; font-size: 120% }
}

main { position: relative; background: #fff; color: #464547; text-align: center; z-index: 1; padding: calc(6rem + 30px) 0 0 0; }
main article { position: relative; }
main article.white { background: #fff; color: #464547; }
main article.black { background: #46454744; color: #464547; }
main article.green { background: #58947944; color: #464547; }
main article.dark-blue { background: #2b234444; color: #464547; }
main article.light-blue { background: #c9edf944; color: #464547; }
main article:before { position: absolute; right: 0; bottom: 0; left: 0; content: ""; background: url("/images/section-break.png") no-repeat 50% 50%; background-size: cover; width: 100%; height: 25px; }
main article:nth-child(odd) section.ls { order: 1; }
main article:nth-child(odd) section.rs { order: 2; }
main article:nth-child(even) section.ls { order: 2; }
main article:nth-child(even) section.rs { order: 1; }
main article.header-image { background: url("/library/page-images/home.webp") no-repeat 50% 50%; background-size: cover; height: calc(100vh - 6rem - 30px); }
main article.header-image section.overlay { position: absolute; top: 0; bottom: 0; left: 0; text-align: left; color: #fff; background: rgba(0,0,0,0.5); padding: 2rem; display: flex; align-items: end; }
main article section { position: relative; width: 1200px; margin: 0 auto; padding: 4rem 0;  text-align: left; }
main article section a { color: inherit; }
main article section.image { background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; }
main article section.logos { margin: 0; padding: 2rem 0; text-align: center; display: flex; align-items: center; background: #f5f5f5; }
main article section.logos .inner { margin: 0 auto; padding: 3rem; display: flex; gap: 3rem; align-items: center; flex-flow: row wrap; }
main article section.logos .inner a { display: inline-block; max-width: 500px; }
main article section.logos .inner img { display: block; width: 100%; height: auto; }


main article section fieldset { border: 1px solid #d0d0d0; margin: 1rem 0; padding: 0 1rem 1rem 1rem; }
main article section fieldset legend { font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; color: inherit; padding: 0 5px; font-size: 24px; font-weight: bold; }
main article section fieldset label em { font-style: normal; font-weight: normal; color: #d0d0d0; }
main article section fieldset label em strong { color: #f00; }
main article section .columns { display: flex; justify-content: space-between; gap: 1rem; flex-flow: row wrap; }
main article section .columns .column { flex: 1; }

main article.the-story-so-far section.image, main article.have-your-say section.image, main article.programme section.image { background-color: #f5f5f5; background-size: contain; }

main article section h1 { position: relative; font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; color: #961c41; margin: 0 0 25px 0; padding: 0 0 15px 0; font-size: 3rem; font-weight: bold; border-bottom: 3px solid #b4d8d6; }
main article section h1:after { position: absolute; top: calc(100% - 3px); right: 0; bottom: -3px; left: 66.66%; content: ""; background-image: linear-gradient(to right, transparent, #fff); }
main article section h2 { font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; color: #961c41; margin: 25px 0 15px 0; font-size: 2rem; font-weight: bold; }
main article section h3 { font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; color: #961c41; margin: 25px 0 15px 0; font-size: 1.25rem; font-weight: bold; }
main article section p { margin: 15px 0 0 0; line-height: 25px; color: #464547; }
main article section p strong { font-weight: bold; color: #464547; }

main article section p.grey-image { margin: 1rem 0 3rem 0; padding: 2rem; background: #c4c6c1; }
main article section blockquote { margin: 2rem 0 2rem -4rem; padding: 1rem 2rem 2rem 4rem; background: #961c41; colour: #fff; }
main article section blockquote h1, main article section blockquote h2, main article section blockquote h3, main article section blockquote p, main article section blockquote li { color: #fff; }
main article section a.email { display: block; line-height: 30px; background: url("/images/icon-email.png") no-repeat 0 50%; padding-left: 40px; background-size: contain; text-decoration: none; margin: 5px 0; font-weight: bold; color: inherit; }
main article section a.phone { display: block; line-height: 30px; background: url("/images/icon-phone.png") no-repeat 0 50%; padding-left: 40px; background-size: contain; text-decoration: none; margin: 5px 0; font-weight: bold; color: inherit; }
main article section a.post { display: block; line-height: 30px; background: url("/images/icon-post.png") no-repeat 0 50%; padding-left: 40px; background-size: contain; text-decoration: none; margin: 5px 0; font-weight: bold; color: inherit; }
main article section a.pdf { display: inline-block; background: #f5f5f5; line-height: 30px; padding: 15px; text-decoration: none; margin: 5px 0; font-weight: bold; color: inherit; text-align: center; }
main article section a.pdf img { display: block; max-width: 250px; margin: 0 auto; }
main article section a.pdf strong { display: inline-block; padding: 15px 0 0 40px; color: inherit; background: url("/images/icon-pdf.png") no-repeat 0 100%; background-size: 30px; }
main article section .flexed { margin: 25px 0; width: 100%; display: flex; justify-content: space-between; align-items: flex-end; }
main article section .flexed .item { width: calc(50% - 25px); }
main article section .flexed .item a.image { display: inline-block; background: #f5f5f5; padding: 15px; text-align: center; }
main article section .flexed .item a.image strong { display: inline-block; padding: 15px 0 0 0; color: inherit; }
main article.the-vision section .gallery { margin: 50px 0 0 0; column-count: 3; column-gap: 25px; }
main article.the-vision section .gallery p { margin: 0 0 25px 0; }
main article.latest-news section { overflow: hidden; width: 100%; }
main article.latest-news section ul.gallery { list-style: none; margin: 50px 0 0 0; padding: 0; display: flex; flex-flow: row wrap; gap: 1rem; }
main article.latest-news section ul.gallery li { width: calc(25% - 1rem); text-align: center; align-self: center; }
main article.your-turn section { overflow: hidden; width: 100%; }
main article.your-turn section .left-column { width: calc(50% - 25px); float: left; }
main article.your-turn section .right-column { width: calc(50% - 25px); float: right; }
main article.thanks { padding: 50px; background: #109773; }
main article.thanks:before { display: none; }
main article.thanks section { width: 100%; text-align: center; }
main article.thanks section h1, main article.thanks section h2, main article.thanks section h3, main article.thanks section p { color: #fff; }
main article.management { padding: 50px; background: #fff; }
main article.management section { width: 100%; text-align: left; }
main article.management section h1 { margin: 0; font-family: "Libre Caslon Text", Arial, Helvetica, "sans-serif"; color: inherit; font-size: 55px; font-weight: normal; }

footer { padding: 50px; text-align: center; }
footer section p { margin: 0; font-size: 18px; color: #464547; vertical-align: center; }
footer section .logos { width: calc(400px + 1rem); display: flex; justify-content: space-between; align-items: center; margin: 0 auto 1rem auto; gap: 1rem; }
footer section .logos .logo { flex: 1; }
footer section .logos .logo img { display: inline-block; width: 200px; }
footer section p a { color: #464547; }

#cookie-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #464547; line-height: 20px; color: rgba(255,255,255,0.75); text-align: center; padding: 10px 20px; z-index: 99; }
#cookie-bar a { color: #fff; text-decoration: none; }

.noUi-target { background: linear-gradient(-90deg, #2b2344 0%, #fff 50%, #589479 100%) !important; }

@media only screen and (max-width: 1200px) {
	main article section { width: auto; margin: 0; padding: 4rem; }
}

@media only screen and (max-width: 1023px) and (orientation: portrait) {
	header { height: 125px; }
	header a.open.nav-trigger { display: block; }
	header nav { z-index: 2; display: none; background: #fff; position: fixed; top: 0; right: 0; bottom: 0; left: 0; float: none; width: 100%; text-align: center; margin: 0; }
	header nav > ul { position: absolute; top: 0; right: 0; bottom: 0; left: 0; list-style: none; margin: 0; padding: 125px 0 0 0; }
	header nav > ul > li { float: none; display: block; margin: 0 0 25px 0; }
	header nav > ul > li a { display: block; color: #464547; line-height: 50px; }
	header nav a.logo, header nav a.close.nav-trigger { display: block; color: #fff; }
	main article { display: block; }
	main article section { position: relative; width: 100%; }
	main article section.image { background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; height: 50vh; }
	main article section { margin: 0; padding: 50px; text-align: left; }
	main article.latest-news section ul.listing li { width: calc(50% - 50px); }
	main article section:after { content: ""; display: table; clear: both; }
	main article:nth-child(odd) section, main article:nth-child(odd) section.image, main article:nth-child(even) section, main article:nth-child(even) section.image { order: initial; }
}
@media only screen and (max-width: 767px) and (orientation: portrait) {
	body { font-size: 4vw; }
	header { height: 100px; }
	header a.logo { width: 142px; height: auto; left: 1rem; }
	header a.logo em { margin: -54px 0 0 0; }
	header a.open.nav-trigger { top: 25px; right: 25px; }
	header nav a.logo { margin: 25px; }
	header nav > ul { padding: 100px 0 0 0; }
	header nav > ul > li { margin: 0 0 10px 0; }
	header nav a.logo { top: 25px; left: 25px; }
	header nav a.close.nav-trigger { top: 25px; right: 25px; }
	main { padding: 100px 0 0 0; }
	main article section { padding: 25px; }
	main article section h1 { font-size: 10vw; }
	main article section h2 { font-size: 6vw; }
	main article section h3 { font-size: 6vw; }
	main article section h1 { font-size: 8vw; }
	main article section p, main article section label { font-size: 4vw; }
	main article.the-vision section .gallery { margin: 25px 0 0 0; column-count: 2; column-gap: 12.5px; }
	main article.the-vision section .gallery p { margin: 0 0 12.5px 0; }
	main article.latest-news section ul.listing li { width: calc(100% - 50px); }
	main article section .left-column, main article section .right-column, main article.your-turn section .left-column, main article.your-turn section .right-column { width: 100%; float: none; }
	main article section .columns .column { flex: initial; width: 100%; }
	footer { padding: 25px; }
	footer section p { font-size: 2.5vw; margin: 1rem 0; }
	footer section p small { font-size: 2.5vw; }
}
@media only screen and (max-width: 400px) and (orientation: portrait) {
}
@media only screen and (max-width: 320px) and (orientation: portrait) {
}


@media only screen and (max-width: 767px) and (orientation: landscape) {
	header { padding: 25px; }
}