@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700');
/*********************************************************************************/
/* Reset                                                                         */
/*********************************************************************************/
* {
	margin:0; padding:0;
	-webkit-overflow-scrolling: touch;
}
html {
	margin: 0;
	height: 100%;
}
html, body {
	width: 100%;
	overflow-x: hidden; /* Fix wider background */
}
body {
	font-family: 'Open Sans', sans-serif;
	/*font-family: 'Open Sans', sans-serif;*/
	background: #399B00;
	font-weight: normal;
	text-rendering: optimizeLegibility; 
	-webkit-font-smoothing: antialiased;
}
img {
	display:block;
} /* Resets images to avoid gap beneath when using Strict doctype */
h1, h2, h3, h4, p, li {
	font-weight: 300;
	font-size: 1em;
}
a {
	text-decoration: none;	
}
strong {
	font-weight: 700;
}
/*********************************************************************************/
/* Wrappers                                                                      */
/*********************************************************************************/
.wrapper {
	max-width: 990px;
	margin: 0 auto;	
}
.overflow {
	overflow: hidden;
}
#contentwrapper {
	float: left;
	width: 100%;
	background: #F3F5F5 url(_gfxlib/bg.jpg) repeat fixed;
	padding: 3em 0;
}
.centre {
	text-align: center;
}
.sectionblock {
	margin: 0;
}
.largemargin {
	margin-top: 4em;
}
.halfwidth {
	float: left;
	width: 44%;
	margin: 3%;
}
.test {
	float: left;
	width: 100%;
	background: #DEB400;
}
.moreboxres {
	display: none;
}
/*********************************************************************************/
/* Colours                                                                       */
/*********************************************************************************/
.back1 {
	background: rgba(242,230,206, .5);
}
.back2 {
	background: #F2E6CE;
}
/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/
#header {
	float: left;
	width: 100%;
	background: #5FC000;
	padding-bottom: 1em;
}
#header #logo {
	width: 350px;
	height: 100px;
	margin: .5em 0;
	float: left;
	background: url(_gfxlib/logo350.png) no-repeat center;
    background-size: 100%;
}
#header #logo a {
	display: block;
	width: 100%;
	height: 100%;
}
#header #contact {
	float: right;
	width: 60%;
	max-width: 640px;
	margin: 2em .5em 0 0;
}
#header #contact p {
	text-align: right;
	color: #FFF;
	font-weight: 400;
	font-size: 1em;
	margin-bottom: .25em;
}
#header #contact p .label {
	font-size: .875em;
}
#header #contact p a {
	color: #FFF;
}
#header #contact p a:hover {
	text-decoration: underline;
}
/*********************************************************************************/
/* Menu                                                                          */
/*********************************************************************************/
#menuwrapper {
	float: left;
	width: 100%;
	background: #459800;
}
#menu {
	margin: .5em auto;
}
#menu ul {
	padding:0;
	z-index: 999;
	text-align: center;
}
#menu ul li {
	display: inline-block;
	list-style:none;
	font-size: 1em;
	font-weight: 400;
}
#menu ul li a {
	text-decoration: none;
	color: #FFF;
	display: block;
	padding: .25em 1.5em .25em 1.5em;
}

#menu ul li a.selected,
#menu ul li a:hover {
	color: #9FE95B;
}

/*style the sub menu*/
#menu ul li ul {
	position: absolute;
	visibility: hidden;
	margin:0;
	padding: 0;
	z-index: 900;
}
#menu ul li ul li {
	display: inline;
	float: none;	
}
#menu ul li ul li a {
	margin: 0;
	background: rgba(26,74,113,.8);
	text-transform: none;
	text-align: left;
	font-size: .75em;
	font-weight: 400;
	color: #FFF;
	padding-left: 1.875em;
	padding-right: 2.1875em;
	padding-top: .75em;
	padding-bottom: .75em;
	height: 1.25em;
}
#menu ul li ul li a:hover {
	background: rgba(81,117,149,1);
	color: #FFF;
	border: 0;
	padding-top: solid .3125em #CCCCCC;
}
.slicknav_menu {
	display:none;
}
/*********************************************************************************/
/* Main Banner                                                                   */
/*********************************************************************************/
#mainbanner {
	float: left;
	width: 100%;
	position: relative;
	background: #FFFFFF;
	display: inline-block;
	overflow: hidden;
	/*padding-bottom: 2em;*/
}
#mainbanner .caption {
	position: absolute;
	width: 100%;
	max-width: 990px;
	float: left;
	bottom: 75px; 
	background: rgba(89,71,37, .75);
	color: #fff; 
	padding: 20px 0;
}
#mainbanner .caption h1 {
	color: rgba(255,255,255,1.00);
	font-size: 2em;
	text-align: center;
	width: 90%;
	margin: 0 5%;
}
#mainbanner .caption p {
	color: rgba(255,255,255,1.00);
}
#mainbanner .caption a {
	color: rgba(255,255,255,1.00);
}
#mainbanner .caption a:hover {
	text-decoration: underline;
}
#mainbanner .contentcaption {
	position: absolute;
	width: 70%;
	max-width: 700px;
	height: 60px;
	float: left;
	bottom: 0; 
	background: rgba(39,119,0, .75);
	color: #fff; 
	padding: 10px 0;
}
#mainbanner .contentcaption h1 {
	color: rgba(255,255,255,1.00);
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
	font-size: 2em;
	width: 90%;
	margin: 0 5%;
}
#mainbanner .contentcaption p {
	color: #FFFFFF;
	font-size: 1.25em;
	font-weight: 400;
	width: 90%;
	margin: 0 5%;
}
/*********************************************************************************/
/* Main Image and Slider                                                         */
/*********************************************************************************/
.mainslider,
.mainimage {
	float: left;
	background: #FFFFFF;
	width: 100%;
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.mainimage img {
	width: 100%;
}
/*********************************************************************************/
/* Highlight                                                                     */
/*********************************************************************************/
.highlightwrapper {
	float: left;
	width: 100%;
	padding: 1em 0 3em 0;
	background: #F3F5F5 url(_gfxlib/bg.jpg) repeat fixed;
}
.highlightheight {
	float: left;
	width: 100%;
	/* Part of full height colour background hack below */
	overflow: hidden;
}
.highlightwrapper .highlight {
	float: left;
	width: 32.25%;
	margin: .5em .5%;
	/* Full height colour background hack */
	padding-bottom: 2000px;
	margin-bottom: -2000px;
	position: relative;
}
.highlightwrapper .highlight .title {
	float: left;
	width: 90%;
	padding: .5em 5% .75em 5%;
	background: #3D9A00;
	border-bottom: solid 10px #277700;
}
.highlightwrapper .highlight .title h1 {
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
	color: #FFF;
	font-size: 1.5em;
	text-align: center;
}
.highlightwrapper .highlight .title h1 a {
	color: #FFF;
	display: block;
}
.highlightwrapper .highlight img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.highlightwrapper .highlight .text {
	float: left;
	width: 90%;
	padding: .5em 5% 1em 5%;
}
.highlightwrapper .highlight .text p {
	color: #000000;
	font-weight: 400;
	font-size: .875em;
	line-height: 150%;
	margin-bottom: .875em;
}
.highlightwrapper .highlight .more {
	font-size: 1.1em;
	color: #8C7A55;
}
.highlightwrapper .highlight .more a {
	color: #8C7A55;
}
.highlightwrapper .highlight .more a:hover {
	color: #8C7A55;
	text-decoration: underline;
}
.morebox {
	float: left;
	width: 32.25%;
	margin: 0 .5%;
	background: #8C7A55;
	padding: .5em 0;
}
.morebox p {
	font-size: .875em;
	font-weight: 400;
	color: #FFF;
	width: 90%;
	margin: 0 5%;
}
.morebox a {
	color: #FFF;
}
.morebox a:hover {
	text-decoration: underline;
}
/*********************************************************************************/
/* Content Head                                                                  */
/*********************************************************************************/
#contenthead {
	float: left;
	width: 100%;
	background: #F3F1EE;
	padding: 1em 0;
}
#contenthead h1 {
	font-family: 'PT Serif', serif;
	font-size: 2em;
	font-weight: 700;
	color: #354D62;
}
/*********************************************************************************/
/* Content                                                                       */
/*********************************************************************************/
#content {
	float: left;
	width: 100%;	
	margin-top: 2em;
}
#leftwrapper {
	float: left;
	width: 20%;
	margin-right: 3%;
}
#leftwrapper h1 {
	color: #354D62;
	font-size: 1.5em;
	margin-bottom: 1em;
}
#leftwrapper ul {
	float: left;
	width: 100%;
	margin-bottom: 1em;
}
#leftwrapper li {
	list-style-type: none;
	margin-bottom: 1em;
}
#leftwrapper li a {
	color: #1D4B70;
}
#leftwrapper li a:hover,
#leftwrapper li a.selected {
	color: #42A9FC;
}
#leftwrapper li a.selected {
	font-weight: 700;
}
#centrewrapper {
	float: left;
	width: 64%;
	margin-left: 1%;
}
#centrewrapper h1 {
	color: #354D62;
	font-size: 1.5em;
	margin-bottom: 1em;
}
#centrewrapper h2 {
	color: #399B00;
	font-size: 1.25em;
	margin-bottom: .5em;
	font-weight: 700;
}
#centrewrapper p {
	color: #000;
	margin-bottom: 1.25em;
	line-height: 150%;
}
#centrewrapper p a {
	color: #399B00;
}
#centrewrapper p a:hover,
#centrewrapper li a:hover {
	text-decoration: underline;
}
#centrewrapper ol,
#centrewrapper ul {
	float: left;
	width: 100%;
	margin-bottom: 1em;
}
#centrewrapper ul li:before {
    content: "\25A0  ";
	font-family:"Arial Black";
    color: #399B00;
	padding-right: .5em;
}
#centrewrapper li {
	margin: 0 3em 1em 2em;
	color: #000;
}
#centrewrapper li a {
	color: #399B00;
}
#centrewrapper ul li {
	list-style-type: none;
}
#centrewrapper .standfirst {
	font-weight: 700;
	font-size: 1.125em;
}
#centrewrapper .google-maps {
	float: left;
	width: 95%;
	margin: 1.5em 0;
	border: solid 1px #333333;
	position: relative;
	padding-bottom: 75%; /* This is the aspect ratio*/
	height: 0;
	overflow: hidden;
}
#centrewrapper .google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
#centrewrapper .quotewrapper {
	float: left;
	background-image: url(_gfxlib/quote95.png);
	background-repeat: no-repeat;	
	width: 100%;
	margin-bottom: 1.5em;
}
#centrewrapper .quotewrapper p {
	margin: 0;
}
#centrewrapper .quotewrapper .quote {
	float: left;
	margin: 1em 1.25em 0 110px;
}
#centrewrapper .quotewrapper .quote .quotesource {
	font-size: 0.75em;
	font-weight: 400;
	margin: 0;
}
#rightwrapper {
	float: left;
	width: 24%;
	margin-left: 10%;
}
#rightwrapper .moredetails {
	float: left;
	width: 100%;
	background: rgba(242,230,206,.5);
}
#rightwrapper .moredetails .title {
	float: left;
	width: 90%;
	padding: .75em 5%;
	background: #8C7B58;
}
#rightwrapper .moredetails .title h1 {
	color: #FFF;
	font-weight: 400;
	font-size: 1.15em;
}
#rightwrapper .moredetails .text {
	float: left;
	width: 90%;
	margin: 1em 5%;
}
#rightwrapper .moredetails .text p {
	font-size: .875em;
	font-weight: 400;
	line-height: 135%;
}
#rightwrapper .moredetails .text p .more {
	float: left;
	width: 100%;
	margin: 1em 0;
	font-size: 1.25em;
	color: #8C7B58;
}
#rightwrapper .moredetails .text p .more a {
	color: #8C7B58;
}
#rightwrapper .moredetails .text p .more a:hover {
	text-decoration: underline;
}
/*********************************************************************************/
/* Gallery                                                                       */
/*********************************************************************************/
.gallerythumbholder {
	float: left;
	width: 100%;
	margin-top: 2em;
}
.gallerythumbholder h2 {
	font-family: 'Trocchi', serif;
	text-align: center;
	font-size: 1.8em;
	color: #96764C;
	font-weight: 400;
}
.gallerythumbwrapper {
	float: left;
	width: 90%;
	background: #EDE8DD;
	padding: 1em 5%;
	margin: 1.5em 0;
}
.gallerythumbwrapper #gallerythumbs {
	float: left;
	width: 100%;
	margin: 0;
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}
.gallerythumbwrapper #gallerythumbs li {
	display: inline-block;
	width: 15%;
	margin: 0 3% 1em 0;
}
.gallerythumbwrapper #gallerythumbs li img {
	width: 100%;
	height: auto;
	border: 1px #666 solid;
}
/*********************************************************************************/
/* Content Table                                                                 */
/*********************************************************************************/
.contenttable,
.qualtable {
	display: inline-block;
	width: 100%;
	margin: 1em 0;
}
.qualtable {
	font-family: 'PT Sans', sans-serif;
}
.contenttable th,
.contenttable td,
.qualtable th,
.qualtable td {
	font-size: 95%;
	padding: .5em;
}
.contenttable th {
	text-align: center;
	background: #ab9d87;
	color: #FFF;
}
.contenttable td {
	text-align: left;
	background: #eae6e1;
	color: #333;
}
.qualtable td,
.qualtable th {
	text-align: center;
	vertical-align: middle;
}
.qualtable th {
	font-size: 1.125em;
	background: #a09078;
	color: #FFF;
}
.qualtable td {
	background: #eae6e1;
	color: #333;
}
/*********************************************************************************/
/* Form                                                                          */
/*********************************************************************************/
#contentform {
	float: left;
	width: 100%;
	margin: 1em 0;
}
#contentform #ajaxform .formlayout {
	float: left;
	width: 100%;
}
#contentform h3 {
	font-size: 1.2em;
	color: #399B00;
	font-weight: 400;
}
#contentform #ajaxform .formlayout li:before {
	content: "";
	padding: 0;
	margin: 0;
}
#contentform #ajaxform .formlayout li {
	width: 98%;
	margin: .5em 1%;
	list-style-type: none;
}
#contentform #ajaxform label {
	font-size: .875em;
	font-weight: 400;
}
#contentform #ajaxform .formobject,
#contentform #ajaxform textarea {
	width: 98%;
	border: 1px solid #999999;
	font-size: .875em;
	padding: .25em;
	font-family: 'Open Sans', sans-serif;
}
#contentform #ajaxform textarea {
	resize: none; /* disables resizability */
}
#contentform #ajaxform .formbutton {
	display: inline-block;
	background: #399B00;
	text-decoration: none;
	color: #FFFFFF;	
	padding: .5em 2em;
	margin: 1em 0;
	border: 0;
	font-size: 1em;
}
#contentform #ajaxform .successmsg,
#contentform #ajaxform .errormsg {
	font-weight: 400;
	font-size: .875em;
}
/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
#googleMap {
	margin-top: 1em;
	float: left;
	width: 100%;
	height: 50%;	
	min-height: 310px;
	border: solid .0625em #000;
}
/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
#footer {
	float: left;
    width: 100%;
	padding-top: 1em;
}
#footermenu {
	float: left;
	margin: 0 0 2em 0;
	width: 100%;
}
#footermenu ul {
	text-align: center;
	padding:0;
	z-index: 999;
}
#footermenu ul li {
	display: inline-block;
	list-style:none;
	font-size: .75em;
}
#footermenu ul li a {
	text-decoration: none;
	color: #FFFFFF;
	display: block;
	padding: .5em 1.5em;
	font-weight: 400;
}
#footermenu ul li a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}
#footer #address,
#footer #social {
	float: left;
	width: 50%;
	font-size: .75em;
	color: #FFFFFF;
}
#footer #social img {
	margin: .5em;
	float: right;
}
#footer #logos,
#footer #clients {
	float: left;
	text-align: center;
	width: 100%;
	margin: .5em 0 0 0;
}
#footer #logowrapper #logos img,
#footer #logowrapper #clients img {
	margin: 0 .25em;
	display: inline-block;
	width: auto;
	height: 100%;
	max-height: 50px;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper a {
	color: #FFF;
}
#footer #creditswrapper {
	float: left;
	width: 100%;
	margin: .75em 0;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper #webcredit {
	font-size: .75em;
	float: left;	
}
#footer #creditswrapper #copyright {
	width: 65%;	
}
#footer #creditswrapper #webcredit {
	width: 35%;	
	text-align: right;
}
#footer #creditswrapper #copyright a:hover {
	text-decoration: underline;
}
#footer #creditswrapper #webcredit #beachshore:hover {
	color: #56D5FB;
}
#footer #creditswrapper #webcredit #beachshore #beachshorebold {
	font-weight: 700;
}
/*********************************************************************************/
/* Footer Newsletter                                                             */
/*********************************************************************************/
#footer #newsletter {
	float: left;
	width: 50%;
}
#newsletterwrapper {
	float: right;
	width: 60%;
	margin: 1em 2% 0 0;
}
#newsletterwrapper p {
	color: #FFFFFF;
	font-size: 1em;
	margin-bottom: .8em;
}
#mc_embed_signup {
	border: 0;
	float: left;
	width: 100%;
}
#newsletterwrapper #mc-embedded-subscribe-form {
	float: left;
	padding: .3em;	
	width: 100%;
	margin-bottom: 1em;
	background: #F0EEEB;
}
#mc_embed_signup input.email {
	float: left;
	background-color: #F0EEEB;
	font-size: .75em;
	color: #333333;
	padding: .3em;
	border: 0;
}
#mc_embed_signup input.button {
	margin: 0;
	float: right;
	font-size: .8em;
	font-weight: normal;
	color: #FFFFFF;
	background-color: #2E76B0;
	padding: .3em;
	border: .06em solid #1D4B70;
}
/*********************************************************************************/
/* Colour                                                                        */
/*********************************************************************************/
.lightbluebg,
.sblightblue {
	background: rgba(111,208,246,1.00);
	color: rgba(255,255,255,1.00);
}
.sblightblue h1,
.sblightblue h2,
.sblightblue .standfirst,
.sblightblue .highlight .text h1,
.sblightblue .highlight .text p,
.sbgold h1,
.sbgold h2,
.sbgold .standfirst,
.sbgold .highlight .text h1,
.sbgold .highlight .text p {
	color: rgba(255,255,255,1.00);
}
.sbgold  {
	background: rgba(173, 155, 103,1.00);
	color: rgba(255,255,255,1.00);
}
.sbgrey  {
	background: rgba(236,236,236,1.00);
	color: rgba(0,0,0,1.00);
}


/*********************************************************************************/
/* Below 1500px                                                                   */
/*********************************************************************************/
@media (max-width: 93.75em) { /* 1500px */

	#mainbanner .caption {
		bottom: 40px; 
		padding: 15px 0;
	}
	#mainbanner .caption h1 {
		font-size: 1.5em;
	}
}

/*********************************************************************************/
/* Below 1200px                                                                   */
/*********************************************************************************/
@media (max-width: 75em) { /* 1200px */

	#mainbanner .caption {
		bottom: 0px; 
		padding: 15px 0;
	}
	#mainbanner .caption h1 {
		font-size: 1.5em;
	}
}
/*********************************************************************************/
/* Below 960px                                                                   */
/*********************************************************************************/
@media (max-width: 60em) { /* 960px */
	#header #logo {
		float: none;
		margin: 1em auto .5em auto;
	}
	#menu {
		display:none;
	}
	
	.slicknav_menu {
		display:block;
	}
	
	#header #contact {
		float: left;
		width: 100%;
		max-width: 960px;
		margin: 1em 0 0 0;
	}
	#header #contact p {
		text-align: center;
	}
	
	#mainbanner .caption {
		position: relative;
		width: 100%;
		float: left;
		background: rgba(89,71,37, 1);
		padding: 15px 0;
	}
	
	#mainbanner .caption h1 {
		font-size: 1.5em;
	}
	
	#mainbanner .contentcaption {
		position: relative;
		width: 100%;
		max-width: 960px;
		background: rgba(39,119,0, 1);
		height: auto;
	}
	#mainbanner .contentcaption h1 {
		font-size: 1.75em;
		width: 98%;
		margin: 0 1%;
	}
	#mainbanner .contentcaption p {
		font-size: 1.25em;
		font-weight: 400;
		width: 98%;
		margin: 0 1%;
	}
	
	.highlightwrapper .highlight .title h1 {
		font-size: 1.25em;
	}
}
/*********************************************************************************/
/* Below 800px                                                                   */
/*********************************************************************************/
@media (max-width: 50em) {
	
	#mainbanner .caption {
		padding: 10px 0;
	}
	
	#mainbanner .caption h1 {
		font-size: 1.25em;
	}
	
	
	.highlightwrapper .highlight {
		float: left;
		width: 98%;
		margin: .5em 1%;
		padding-bottom: 0;
		position: relative;
	}
	.highlightwrapper .highlight .title {
		width: 98%;
		padding: .5em 1%;
	}
.highlightwrapper .highlight .title h1 {
	font-family: Copperplate, Copperplate Gothic Light, sans-serif;
	color: #FFF;
	font-size: 1.5em;
	text-align: center;
}
.highlightwrapper .highlight .title h1 a {
	color: #FFF;
	display: block;
}
	.highlightwrapper .highlight img {
		float: left;
		width: 40%;
		max-width: 250px;
		height: auto;
		margin-right: 5%;
	}
	.highlightwrapper .highlight .text {
		float: left;
		width: 55%;
		padding: .5em 0;
	}
.highlightwrapper .highlight .text p {
	color: #000000;
	font-weight: 400;
	font-size: .875em;
	line-height: 150%;
	margin-bottom: .875em;
}
.highlightwrapper .highlight .more {
	font-size: 1.1em;
	color: #8C7A55;
}
.highlightwrapper .highlight .more a {
	color: #8C7A55;
}
.highlightwrapper .highlight .more a:hover {
	color: #8C7A55;
	text-decoration: underline;
}
	.moreboxres {
		display: block;
		float: left;
		width: 98%;
		margin: 0 1%;
		background: #8C7A55;
		padding: .5em 0;
	}
	.moreboxres p {
		font-size: .875em;
		font-weight: 400;
		color: #FFF;
		width: 90%;
		margin: 0 5%;
	}
	.moreboxres a {
		color: #FFF;
		width: 100%;
		display: block;
	}
	.moreboxres a:hover {
		text-decoration: underline;
	}
	.morebox {
		display: none;
	}

	
}
/*********************************************************************************/
/* Below 750px                                                                   */
/*********************************************************************************/
@media (max-width:46.875em) {

	#mainbanner .contentcaption h1 {
		font-size: 1.5em;
	}
	#content {
		margin-top: 1em;
	}
	#centrewrapper {
		float: left;
		width: 98%;
		margin: 0 1%;
	}
	#rightwrapper {
		width: 98%;
		margin: 1em 1%;
	}
	
	#footer #creditswrapper #copyright,
	#footer #creditswrapper #webcredit {
		width: 98%;
		margin: 1em 1%;	
	}
	#footer {
		text-align: center;	
	}
	#footer #creditswrapper #webcredit {
		text-align: center; 	
	}
	#footer #social {
		float: none;
		width: 100%;
		margin: .5em auto;
		text-align: center;
	}
	#footer #social img {
		margin: .5em;
	}
}
/*********************************************************************************/
/* Below 600px                                                                   */
/*********************************************************************************/
@media (max-width:37.5em) {	
	#header #logo {
		max-width: 300px;
		height: 85px;
		background: url(_gfxlib/logo350.png) no-repeat center;
		background-size: 100%;
	}
}
/*********************************************************************************/
/* Below 400px                                                                   */
/*********************************************************************************/
@media (max-width:25.00em) {	

}