
/* Colours */

:root
{
	--heading-on-white: 	#4B4B4B;
	--heading-on-colour:	#fff;
	--heading-on-image:		#fff;
	
	--body:					#7E7E7E;
	--body-on-colour:		#7E7E7E;
	--body-on-image:		#fff;
	
	--main-menu:			#fff;
	
	--blue:					#68c0da;
	--light-green:			#8ee3a6;
	
	--dark-green:			#62c77f;
	--light-purple:			#d66eae;
	--dark-purple:			#aa4382;
}


*
{
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}


body
{
	font-family: 'source_sans_proregular';
	color: var(--body);
}


body > header
{
	background: var(--blue);
	overflow: auto;
	padding: 0 10px;
	position: sticky;
	top: 0;
}


body > header h1 a
{
	color: var(--heading-on-colour);
	font-size: 1.3em;
	float: left;
}


body > header h1 a img#logo
{
	width: 50px;
	vertical-align: middle;
	background: #fff;
	border-radius: 100%;
	margin: 5px 10px 5px 5px;
}


#main-menu
{
	list-style: none;
	display: flex;
	color: var(--main-menu);
	font-family: 'source_sans_probold';
	font-size: 1.3em;
	justify-content: left;
	overflow: auto;
	align-items: stretch;
	flex-wrap: wrap;
	padding-left: 20px;
	float: left;
}


#main-menu a
{
	color: inherit;
	text-decoration: none;
	padding: 0.5em 0.5em 0.4em 0.5em;
	display: block;
	width: 100%;
	text-align: center;
}


#main-menu a:hover, #main-menu a:focus, #main-menu a.current
{
	color: var(--dark-purple);
}


#main-menu li.current a
{
	color: var(--dark-purple);
}



h1, h2, h3
{
	font-family: 'bebas_neueregular';
	font-weight: normal;
	letter-spacing: -0px;
	color: var(--heading-on-white);
}


#content, .content
{
	width: 100%;
	max-width: 1060px;
	margin: 0 auto;
}


#content
{
	padding: 2em;
}


#content h1
{
	font-size: 60px;
	clear: both;
}


#content h2
{
	font-size: 2em;
	margin-top: 30px;
	clear: both;
}


#content h3
{
	font-size: 1.2em;
	margin-top: 20px;
	clear: both;
}


p
{
	margin: 10px 0;
}


a
{
	color: var(--dark-purple);
	text-decoration: none;
}


a:hover
{
	color: var(--light-purple);
}


strong
{
	font-family: 'source_sans_probold';
	font-weight: normal;
}


em
{
	font-family: 'source_sans_proitalic';
	font-weight: normal;
}


#content ul, #content ol
{
	margin: 20px 0 20px 40px;
}


#content ul li, #content ol li
{
	margin-bottom: 5px;
}


#content img.decoration
{
	max-width: 100%;
	margin: 30px auto;
	display: block;
	border-radius: 4px;
}


.error
{

}


.error blockquote
{
	margin: 50px 80px;
	font-style: italic;
	font-size: 25px;
	font-family: 'Times New Roman', serif;
}


.error .quote-author
{
	text-align: center;
}





a.button
{
	padding: 10px 20px;
	float: right;
	border-radius: 100px;
	font-family: 'source_sans_probold';
	font-weight: normal;
	font-size: 0.8em;
	text-transform: uppercase;
	margin: 7px;
}


a.button.on-colour
{
	background: #fff;
	color: var(--dark-green);
}

a.button.on-colour:hover
{
	background: var(--light-green);
	color: #fff;
}


a.button.on-white
{
	background: var(--dark-green);	
	color: #fff;
}

a.button.on-white:hover
{
	color: #fff;
	background: var(--light-green);
}


a.more-button
{
	padding: 10px 20px;
	border: 2px solid var(--dark-green);
	border-radius: 100px;
	font-family: 'source_sans_probold';
	font-weight: normal;
	font-size: 0.8em;
	text-transform: uppercase;
	margin: 20px auto 30px auto;
	background: #fff;
	color: var(--dark-green);
	display: block;
	width: fit-content;
}


a.more-button:hover
{
	background: var(--dark-green);
	color: #fff;
}


#photo-banner
{
	width: 100%;
	height: 250px;
	background-position: center center;
	background-size: cover;
}


#photo-banner.home
{
	height: 600px;
}



#photo-banner .content
{
	font-size: 60px;
	color: #fff;
	text-align: center;
	padding-top: 200px;
	font-family: 'bebas_neueregular';
	text-shadow: 0 0 4px #000000ab;
}


#feature
{
	margin-top: -200px;
	border-radius: 20px;
	background: #fff;
	padding: 2em 3em;
	overflow: auto;
}


#feature p.intro
{
	text-align: center;
	font-size: 1.3em;
	font-family: 'source_sans_probold';
	margin: 1em 0 2em;
	color: var(--blue);
}


#feature .breadcrumb
{
	margin: 10px 0 20px;
	font-size: 0.9em;
}


.video
{
	display: block;
	margin: 30px auto 50px auto;
	border-radius: 10px;
	box-shadow: 0 0 6px #b7b7b7;
	max-width: 560px;
	width: 100%;
}


#project-list
{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
}


.project
{
	max-width: 400px;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 20px 20px 25px 20px;
	margin: 20px;
	box-shadow: 0 0 6px #b7b7b7;
	float: left;
	flex-grow: 1;
	flex-shrink: 1;
}


.project img
{
	height: 60px;
	float: left;
	margin: -35px 0 15px 0;
	background: #fff;
	border-radius: 100%;
}


.project .update
{
	display: block;
	float: right;
	background: var(--dark-purple);
	color: #fff;
	border-radius: 10px;
	padding: 3px 10px;
	font-family: 'source_sans_probold';
}

.project .update .fa
{
	margin-right: 5px;
}


#content .project h2
{
	margin-top: 0;
}


#page-menu
{
	float: right;
	border: 1px solid #e3e3e3;
	list-style: none;
	padding: 10px 20px;
	border-radius: 4px;
}


#page-menu a
{
	text-decoration: none;
}


#page-menu a.selected
{
	font-family: 'source_sans_probold';
	text-decoration: none;
}


footer
{
	background: var(--light-green);
	color: var(--heading-on-white);
	padding: 40px 20px;
}


footer p
{
	text-align: center;
}


footer .social-links
{
	text-align: center;
	font-size: 2em;
	margin: 0 0 1em 0;
}


footer .social-links a
{
	margin: 0 10px 0 0;
}


footer .footer-menu
{
	list-style: none;
	text-align: left;
	font-family: 'source_sans_probold';
	font-weight: normal;
}


footer .footer-menu li
{
	margin: 0 5px;
}


/* ================================== */


@media all and (max-width: 870px)
{
	
#content
{
	padding: 0;
}


body > header
{
	padding: 0 5px;
}


body > header h1
{
	text-align: center;
}


body > header h1 a
{
	float: none;
}


#main-menu
{
	font-size: 20px;
	justify-content: center;
	float: left;
	padding: 0;
}


#main-menu a
{
	padding: 3px 10px;
}


#photo-banner
{
	height: 250px;
}


#photo-banner.home
{
	height: 350px;
}
	
	
#photo-banner .content
{
	font-size: 30px;
	padding-top: 20px;
}
	

section#feature
{
	border-radius: 0;
	padding: 2em 20px;
}
	
	
#page-menu
{
  float: none;
  padding: 10px 20px;
  margin: 20px 0 !important;
}
	
	
	
	
	
}