html { 
	
}
body { 
	color: #4d4d4d;
	font-family: 'Nimbus Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: normal; /*font-weight: 300;*/
	line-height: 1.3; /*new*/
	overflow-x: hidden;
	font-variant-ligatures: no-common-ligatures;
}


/* useful styles */
hr { 
	border: 0;
	border-bottom: 1px solid #8cc63f;
	margin: 1.5em 0;
}
hr.vertical {
	border-bottom: 0; 
	border-right: 1px solid #8cc63f;
	margin: 0 auto;
	width: 0; height: 100%;
}
.error { 
	color: #FF0000;
}


b, strong {
	
}


p { 
	/*margin-bottom: 1em;*/
}
img { 
	border: 0;
}
a {
	color: #8ab03f;
	text-decoration: none;
}
a:hover,
a:focus { 
	color: #777777;
	/*text-decoration: none;*/
}

a.noclick,
.noclick > a {
	pointer-events: none;
}

b, strong {
	font-variant-ligatures: none;
}


/* headings */
h1, h2, h3, h4, h5, h6, 
.h1, .h2, .h3, .h4, .h5, .h6 { 
	margin: 0 0 1rem;
}
h1, .h1 { 
	font-size: 1.6rem;
}
h2, .h2 { 
	font-size: 1.4rem;
}
h3, .h3 { 
	font-size: 1.2rem;
}
h4, h5, h6, .h4, .h5, .h6 { 
	font-size: 1.1rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a { 
	color: inherit;
}


.screen-reader-text {
	display: block;
	height: 0;
	overflow: hidden;
	position: absolute; top: -3em;
}

/* pagination */
.pagination {
	display: block;
	margin: 2em 0 0;/*margin: 2em 0;*/
	text-align: center;
	text-transform: lowercase;
}
	.pagination a { color: #777; }
	.pagination span { padding: 0 1em; }


.menu-social-links-container {  
	display: inline-block; 
	margin: 1em 0;
}
	.menu-social-links-container ul {
		list-style-type: none;
		margin: 0 !important;
		padding: 0;
	}
		.menu-social-links-container ul li {
			display: inline-block;
			margin-left: 1em;
		}
		.menu-social-links-container ul li:first-of-type {
			margin-left: 0;
		}
			.menu-social-links-container ul li a {
				color: inherit;
				display: block;
				text-decoration: none;
			}


.padded {
	padding: 2em 0;
}

.padded.more {
	padding: 3em 0;
}
.padded.more-top {
	padding-top: 3em;
}
.padded.more-bottom {
	padding-bottom: 3em;
}

.padded.less {
	padding: .5em 0;
}
.padded.less-top {
	padding-top: .5em;
}
.padded.less-bottom {
	padding-bottom: .5em;
}

body.siteorigin-panels .padded.fallback {
	padding-top: 0 !important; padding-bottom: 0 !important;
}

body.siteorigin-panels .fallback-content {
	display: none;
}



.collapse-heading {
	color: #b3b3b3;
	font-weight: bold;
	margin: 0;
}
.collapse-heading:not(:first-child) {
	border-top: 1px solid #7c7c7c;
}
	.collapse-heading a {
		display: block;
		padding: 1em 0;
		position: relative;
	}
		.collapse-heading a:after {
			content: '+';
			display: block;
			font-size: 1.8em;
			font-weight: 300;
			position: absolute; right: 0; top: .2em;
		}
		.collapse-heading.open a:after {
			content: '-';
		}
.collapse-text {
	padding: 1.5em 0;
}
.collapse-text.hidden {
	display: none;
}



/* ----------------------------- PAGE STRUCTURE ----------------------------- */
#root {
	overflow-x: hidden;
	
	/* new; advised against
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;*/
	
	width: 100%;
}


.skip-link {
	display: block;
	height: 0;
	overflow: hidden;
	position: absolute; top: -3em;
}


#alert_banner_container {
	background: #404040;
	color: #FFFFFF;
	padding: .5em 3%;
	position: fixed; right: 0; bottom: 0; left: 0;
	text-align: center;
}
	#alert_banner_container a {
		color: inherit;
	}
	#alert_banner_container p:last-child {
		margin: 0;
	}


.page-header { 
	background: #FFFFFF;
	padding: 0 0 1.5em 0;
	position: relative;
	transition: all .3s ease;
	z-index: 1001;
}
	.page-header a { 
		color: inherit;
	}
	.page-header a:hover,
	.page-header a:focus {
		color: inherit;
	}
	
	
	.page-header .logo { 
		display: block;
		margin: 0 auto;
		position: relative;
		transition: all .3s ease;
		width: 50%;
		z-index: 101;
	}
		.page-header .logo img { 
			display: block;
			width: 100%; height: auto;
		}
	
	
	.page-header .options {
		font-size: .8em;
		text-align: center;
	}
	
	
	.page-header .search-form {
		background: #f2f2f2;
		display: inline-block;
		vertical-align: top;
		/*position: absolute; top: 0; right: 0;*/
	}
		.page-header .search-form label {
			overflow: hidden;
			position: absolute;
			width: 1px; height: 1px;
		}
		.page-header .search-form input[type="search"] {
			background: transparent;
			border: 0;
			margin: 0;
		}
		.page-header .search-form input[type="image"] {
			margin: 0;
			padding: .2em;
		}
	
	
	#header_links_container {
		display: inline-block;
		vertical-align: top;
	}
	
	
	.menu-toggle {
		cursor: pointer;
		display: block;
		-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
		-webkit-transition: .3s ease-in-out; -moz-transition: .3s ease-in-out; -o-transition: .3s ease-in-out; transition: .3s ease-in-out;
		position: absolute; left: 1em; top: calc(50% - .75em);
		width: 1.8em; height: 1.5em;
	}
	body.show-menu .menu-toggle {
		left: calc(100% - 3em);
	}
		/*.menu-toggle:before {
			color: #000000;
			content: 'Menu';
			display: block;
			padding-right: calc(100% + .5em);
			position: absolute; right: 0; top: calc(50% - .7em);
		}*/
		.menu-toggle span {
			background: #000000;
			display: block;
			position: absolute; left: 0;
			-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
			-webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out;
			width: 100%; height: 4px;
		}
		.menu-toggle span:nth-child(1) { top: 0; }
		.menu-toggle span:nth-child(2), .menu-toggle span:nth-child(3) { top: calc(50% - 2px); }
		.menu-toggle span:nth-child(4) { top: calc(100% - 4px); }
		body.show-menu .menu-toggle span:nth-child(1),
		body.show-menu .menu-toggle span:nth-child(4) { left: 50%; width: 0%; }
		body.show-menu .menu-toggle span:nth-child(2) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
		body.show-menu .menu-toggle span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }



.menu-main-menu-container { 
	background: rgba(0,0,0,.9);
	color: #FFFFFF;
	display: block;
	font-size: 1em;
	margin: 0; margin-left: -85%;
	padding: 8%;
	position: fixed; top: 0; left: 0;
	transition: all .3s ease;
	width: 80%; height: 100%;
	z-index: 1003;
}
body.show-menu .menu-main-menu-container { 
	margin-left: 0;
	overflow-x: hidden;
	overflow-y: auto;
}
	.menu-main-menu-container > ul { 
		list-style-type: none;
		margin: 0 !important;
		padding: 0 0 2em !important;
	}
		.menu-main-menu-container ul li {
			display: block;
		}
			.menu-main-menu-container ul li a, 
			.menu-main-menu-container ul li a:visited { 
				border-right: 0;
				color: inherit;
				display: block;
				padding: .3em 0;
			}
			.menu-main-menu-container ul li:first-child > a {
				
			}
			.menu-main-menu-container ul li:last-child > a { 
				
			}
			.menu-main-menu-container ul li.current_page_item > a,
			.menu-main-menu-container ul li.current_page_ancestor > a,
			.menu-main-menu-container ul li.current_page_parent > a,
			.menu-main-menu-container ul li.current-menu-item > a { 
				text-decoration: underline;
			}
			.menu-main-menu-container ul li a:hover,
			.menu-main-menu-container ul li a:focus { 
				text-decoration: underline;
			}
				.menu-main-menu-container ul li a img {
					display: none;
				}
			
			.menu-main-menu-container ul ul.sub-menu { 
				border-top: 0;
				padding: .3em 0 1em 1em;
				position: static; top: auto; left: auto;
				visibility: visible;
				width: auto;
			}
				.menu-main-menu-container ul ul.sub-menu li { 
					background: transparent;
					padding: 0;
				}
					.menu-main-menu-container ul ul.sub-menu a, 
					.menu-main-menu-container ul ul.sub-menu a:visited { 
						background: none;
						padding: .2em 0;
						text-decoration: none;
					}
					.menu-main-menu-container ul ul.sub-menu li:first-child > a { 
						
					}
					.menu-main-menu-container ul ul.sub-menu li:last-child > a { 
						
					}
					.menu-main-menu-container ul ul.sub-menu a:hover,
					.menu-main-menu-container ul ul.sub-menu a:focus { 
						text-decoration: underline;
					}
					.menu-main-menu-container ul ul.sub-menu li.current_page_item > a,
					.menu-main-menu-container ul ul.sub-menu li.current_page_ancestor > a,
					.menu-main-menu-container ul ul.sub-menu li.current_page_parent > a,
					.menu-main-menu-container ul ul.sub-menu li.current-menu-item > a { 
						text-decoration: underline;
					}


.menu-sectors-menu-container {
	text-align: center;
}
	.menu-sectors-menu-container ul {
		align-items: stretch;
		display: flex;
		flex-wrap: wrap;
		list-style-type: none;
		margin: 0 !important;
		padding: 0 !important;
		
	}
		.menu-sectors-menu-container ul li {
			align-items: stretch;
			display: flex;
			margin: 0;
			padding: 1px;
			width: 50%; height: 50vw;
		}
			.menu-sectors-menu-container ul li a, 
			.menu-sectors-menu-container ul li a:visited { 
				color: #FFFFFF;
				display: block;
				overflow: hidden;
				padding: 20% 15% 0;
				position: relative;
				width: 100%;
			}
				.menu-sectors-menu-container .menu-item a.menu-image-title-after.menu-image-not-hovered .menu-image-hover-wrapper, 
				.menu-sectors-menu-container .menu-item a.menu-image-hovered.menu-image-title-after .menu-image-hover-wrapper {
					display: block;
					padding: 0;
				}
					.menu-sectors-menu-container a img:nth-child(1) {
						display: block;
						-webkit-filter: brightness(0%) invert(100%); /* Safari 6.0 - 9.0 */
						filter: brightness(0%) invert(100%);
						margin: 0 auto .3em;
						opacity: 1 !important;
						padding: 0 !important;
						position: relative;
						transform: scale(1);
						transition: all .3s ease !important;
						width: auto; height: 3.5em;
						z-index: 1;
					}
					.menu-sectors-menu-container a:hover img:nth-child(1),
					.menu-sectors-menu-container a:focus img:nth-child(1) {
						transform: scale(1.5) !important;
					}
					.menu-sectors-menu-container a img:nth-child(2) {
						display: block;
						opacity: 0;
						object-fit: cover !important;
						margin: 0 !important;
						position: absolute; top: 0; right: 0; bottom: 0; left: 0;
						width: 100%; height: 100%;
						z-index: 0;
					}
					.menu-sectors-menu-container a:hover img:nth-child(2),
					.menu-sectors-menu-container a:focus img:nth-child(2) {
						opacity: .5 !important;
					}
					.menu-sectors-menu-container .menu-image-hover-wrapper:after {
						content: 'more +';
						display: block;
						opacity: 0;
						padding: 0 0 2em;
						pointer-events: none;
						position: absolute; right: 0; bottom: 0; left: 0;
						text-align: center;
						transition: opacity .3s ease;
						z-index: 1;
					}
				.menu-sectors-menu-container ul li a .menu-image-title {
					align-items: center;
					display: flex;
					line-height: 1.2em;
					opacity: 1;
					flex-direction: column;
					justify-content: center;
					transition: opacity .3s ease;
					height: 4em;
					padding: 0 !important;
				}
			
			/* colours */
			.menu-sectors-menu-container ul li a,
			.menu-sectors-menu-container ul li:nth-child(1) a {
				background-color: #518239;
			}
			.menu-sectors-menu-container ul li:nth-child(2n) a {
				background-color: #8ea12e;
			}
			.menu-sectors-menu-container ul li:nth-child(3n) a {
				background-color: #93c84a;
			}
			.menu-sectors-menu-container ul li:nth-child(4n) a {
				background-color: #8ab03f;
			}
			.menu-sectors-menu-container ul li:nth-child(5n) a {
				background-color: #5d821d;
			}
			.menu-sectors-menu-container ul li:nth-child(6n) a {
				background-color: #9faf27;
			}
			
			/* hover */
			.menu-sectors-menu-container ul li a:hover,
			.menu-sectors-menu-container ul li a:focus {
				background: #404040 !important;
			}
				.menu-sectors-menu-container ul li a:hover .menu-image-hover-wrapper:after,
				.menu-sectors-menu-container ul li a:focus .menu-image-hover-wrapper:after {
					opacity: 1;
				}
				.menu-sectors-menu-container ul li a:hover .menu-image-title,
				.menu-sectors-menu-container ul li a:focus .menu-image-title {
					opacity: 0;
				}


.menu-services-menu-container {
	font-size: .8em;
	text-align: center;
}
	.menu-services-menu-container ul {
		background: #f2f2f2;
		align-items: stretch;
		display: flex;
		flex-wrap: wrap;
		list-style-type: none;
		margin: 0 !important;
		padding: 0 !important;
	}
		.menu-services-menu-container ul li {
			align-items: stretch;
			border: 1px solid #FFFFFF;
			display: flex;
			margin: 0;
			padding: 0;
			width: 33.33%; height: 33.33vw;
		}
		.menu-services-menu-container ul li.wide {
			align-items: center;
			display: flex;
			flex-direction: column;
			font-size: 1.4em;/*font-size: 1.2em;*/
			padding: 0 3em; /*new*/
			justify-content: center;
			width: 66.66%;
		}
			.menu-services-menu-container ul li a, 
			.menu-services-menu-container ul li a:visited { 
				background: #f2f2f2;
				color: inherit;
				/*overflow: hidden;*/
				padding: 25% 15% 0;
				width: 100%;
			}
			.menu-services-menu-container ul li.wide a, 
			.menu-services-menu-container ul li.wide a:visited {
				padding: 0 5%;
			}
				.menu-services-menu-container ul li a img {
					display: block;
					-webkit-filter: brightness(0%) invert(10%); /* Safari 6.0 - 9.0 */
					filter: brightness(0%) invert(10%);
					margin: 0 auto .3em;/*margin: 0 auto .5em;*/
					padding: 0 !important;
					width: auto; height: 3em;
				}
				.menu-services-menu-container ul li a .menu-image-title {
					align-items: center;
					display: flex;
					font-size: 90%; /*new*/
					line-height: 1.1em; /*line-height: 1.2em;*/
					flex-direction: column;
					justify-content: center;
					height: 3em; /*height: 4em;*/
					padding: 0 !important;
					word-spacing: 100vw; /*new - force line breaks - see also below */
				}
				.menu-services-menu-container ul li.no-break a .menu-image-title {
					word-spacing: normal;
				}
			.menu-services-menu-container ul li a:hover,
			.menu-services-menu-container ul li a:focus,
			.menu-services-menu-container ul li.current_page_item > a,
			.menu-services-menu-container ul li.current_page_ancestor > a,
			.menu-services-menu-container ul li.current_page_parent > a,
			.menu-services-menu-container ul li.current-menu-item > a {
				color: #8ab03f;
				text-decoration: none;
			}
			.menu-services-menu-container ul li.current-menu-item > a {
				pointer-events: none;
			}
				.menu-services-menu-container ul li a:hover img,
				.menu-services-menu-container ul li a:focus img,
				.menu-services-menu-container ul li.current_page_item > a img,
				.menu-services-menu-container ul li.current_page_ancestor > a img,
				.menu-services-menu-container ul li.current_page_parent > a img,
				.menu-services-menu-container ul li.current-menu-item > a img {
					-webkit-filter: brightness(100%) invert(0%); /* Safari 6.0 - 9.0 */
					filter: brightness(100%) invert(0%);
				}



main {
	display: block;
	position: relative;
}


.format-text { 
	position: relative;
}
	.format-text iframe {
		display: block;
		max-width: 100%;
	}
	.format-text img { 
		max-width: 100%; height: auto;
	}

	.format-text table {
		border: 1px solid #cccccc;
		border-collapse: collapse;
		margin: 2em 0;
	}
		.format-text table tr {
			
		}
			.format-text table th,
			.format-text table td {
				padding: .2em .4em;
				text-align: left;
			}
			.format-text table th {
				/* background: rgba(255,255,255,0.4); */
				color: #93c84a;
				font-weight: bolder;
				border: 1px solid #FFFFFF;
			}
			.format-text table td {
				border: 1px solid #cccccc;
			}
.table-format {
	width: 100%;
}
	.skip-type-desc-row {
		background: rgba(175,175,175,0.3);
	}


.childpage { 
	display: block;
	padding: 1em 0;
}
	.childpage .image { 
		
	}
		.childpage .image a { 
			display: block;
			width: 100%;
		}
	.childpage .text { 
		background: #FFFFFF;
		min-height: 25vw;
		padding: 1.5em 1.5em 4.5em;
	}
		.childpage h2 {
			color: #929292;
			font-weight: bold;
		}
		.childpage .more-link,
		.acorn-project .more-link {
			position: absolute; bottom: 1.5em; left: 1.5em;
		}


.category-search-form {
	background: #FFFFFF;
	display: inline-block;
	font-weight: bold;
	margin: 1em 0 0;
	padding-right: .8em;
}
	.category-search-form input {
		margin: 0 !important;
	}
	.category-search-form input[type="image"] { 
		
	}


.projectpage {
	display: block;
	margin: .5em .25em 0;
	position: relative;
}
	.projectpage .cats {
		display: block;
		position: absolute; top: 0; left: 0;
		z-index: 3;
	}
		.projectpage .cats .cat {
			
		}
	.projectpage .text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		
		background: rgba(33,33,33,.9);
		color: #FFFFFF;
		opacity: 0;
		padding: 15% 20%;
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
		transition: all .3s ease;
		width: 100%; height: 100%;
		z-index: 2;
	}
	.projectpage .text:after {
		content: '+';
		display: block;
		font-size: 3em;
		font-weight: 300;
		position: absolute; bottom: 15%; left: 15%;
	}
	.projectpage a:hover .text,
	.projectpage a:focus .text {
		opacity: 1;
	}
	.projectpage .date {
		color: #999999;
	}


.image { 
	display: block;
}
	.image > a {
		display: block;
	}
	.image img { 
		display: block;
		width: 100%; height: auto;
	}


#news_browse_container {
	
}
	#news_browse_container .widgettitle {
		display: none;
	}
	#news_browse_container label {
		display: none;
		vertical-align: middle;
	}


.page-cats {
	position: absolute; top: 6em; right: 0;
	max-width: 360px;
	z-index: 101;
}
	.page-cats .cat {
		background-color: #518239;
	}


.cat img {
	-webkit-filter: brightness(0%) invert(100%); /* Safari 6.0 - 9.0 */
	filter: brightness(0%) invert(100%);
	padding: 10%;
}

.acorn-project {
	
}
	.acorn-project .logo {
		
	}
		.acorn-project .logo img {
			margin: 1em 0;
			width: auto; max-width: 8em; height: auto; max-height: 4em;
		}
	.acorn-project .heading,
	.acorn-project .summary {
		background: #93c84a;
		padding: 1.5em 1.5em 3em;
	}
	.acorn-project .summary {
		padding-bottom: 1.5em;
	}
	.acorn-project .heading {
		margin-bottom: .2em;
		min-height: 5em;
	}
		.acorn-project .cats {
			position: absolute; top: 0; right: 0;
		}
		.acorn-project h2 {
			padding-right: 20%;
		}
	.acorn-project .summary {
		
	}
		.acorn-project .summary p:last-child {
			margin-bottom: 0;
		}


.acorn-latest-news {
	padding: 1em 0;
	text-align: center;
}



.page-footer { 
	background: #3c3c3b;
	color: #FFFFFF;
	padding: 2em 0 4em;
}
	.page-footer a { 
		color: inherit;
	}
	.page-footer a:hover,
	.page-footer a:focus {
		color: inherit;
		text-decoration: underline;
	}
	
	.page-footer .logo {
		margin-bottom: 2em;
	}
		/* new */
		.page-footer .logo img {
			height: auto;
			width: 140px;
		}
	
	.footer-menu {
		display: block;
		margin: 0 0 1em;
	}
		.footer-menu ul { 
			display: block;
			list-style-type: none;
			margin: 0;
			padding: 0;
		}
			.footer-menu ul li {
				margin: 0;
				padding: 0 2em 0 0;
			}
				.footer-menu ul li a { 
					display: block;
				}
					.footer-menu ul li ul.sub-menu {
						display: block;
						padding: .5em 0 0;
					}
						.footer-menu ul li ul.sub-menu li {
							float: none;
							padding: 0;
						}
							.footer-menu ul li ul.sub-menu li a {
								display: block;
							}
		.footer-menu ul:after {
			clear: both;
			content: '';
			display: block;
		}
	
	
	#footer_content_container {
		color: #cccccc;
	}