@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/*********************************************************************************/
/* Reset                                                                         */
/*********************************************************************************/
* {
	margin:0; padding:0;
	/*-webkit-overflow-scrolling: touch; disabled as obscured header on ios pull down*/
}
html {
	margin: 0;
	height: 100%;
}
html, body {
	width: 100%;
	overflow-x: hidden; /* Fix wider background */
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	background: #FFFFFF;
	font-weight: normal;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: subpixel-antialiased;
}
img {
	display:block;
} /* Resets images to avoid gap beneath when using Strict doctype */
h1, h2, h3, h4 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1rem;
}
p, li {
	font-size: 1rem;
	font-weight: 400;
}
a {
	text-decoration: none;	
}
strong {
	font-weight: 700;
}
/*********************************************************************************/
/* Wrappers                                                                      */
/*********************************************************************************/
.pagewrapper {
	float: left;
	width: 100%;
}
.wrapper {
	max-width: 1200px;
	margin: 0 auto;	
}
.wrappernarrow {
	max-width: 800px;
	margin: 0 auto;	
}
.overflow {
	overflow: hidden;
}
.contentwrapper {
	float: left;
	width: 90%;
	margin: 2rem 5% 1rem 5%;
}
.topgap {
	margin-top: 150px;
}
.sectionblock {
	margin: 0;
}
.largemargin {
	margin-top: 4em;
}
.flexwrapper {
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.flexwrapper .halfblock {
	width: 48%;
}
.flexmargin {
	margin: 1rem 0;
}
/*********************************************************************************/
/* Common                                                                        */
/*********************************************************************************/
.button {
	background: #FDB128;
	color: #666666;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	padding: 0 10px;
	margin: 0 5px;
	line-height: 35px;
	min-width: 50px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	display: inline-block;
	-moz-transition: background-color ease-out .5s;
	-o-transition: background-color ease-out .5s;
	-webkit-transition: background-color ease-out .5s;
	transition: background-color ease-out .5s;
	font-size: 120%;
}
.button:hover {
	background: #f2f2f2;
}
.promote {
	background: #79A31E;
	text-transform: uppercase;
	color: #FFFFFF;
}
.promote:hover {
	background: #D62957;
}
/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/
#header {
	overflow: hidden;
	background-color: rgba(255,255,255,1);
	box-shadow: 0 0 2px rgba(136,136,136,.9);
	position: fixed; /* Set the navbar to fixed position */
	top: 0; /* Position the navbar at the top of the page */
	width: 100%; /* Full width */
	height: 110px;
	z-index: 99;
	/* animation magic */
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
}
#header #logo {
	width: 300px;
	height: 75px;
	float: left;
	margin: 15px 0 0 10px;
	background: url(_gfxlib/logo600.png) no-repeat center;
	background-size: 100%;
	/* animation magic */
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
}
#header #logo a {
	display: block;
	width: 100%;
	height: 100%;
}
#header #topcontact {
	font-weight: 600;
	font-size: 1rem;
	color: #FFFFFF;
	float: right;
	margin: 40px 20px 0 0;
}
#header #topcontact i {
	margin: 0 10px 0 0;
}
#header #topcontact .contactblock {
	display: block;
	margin-bottom: .5rem;
	/* animation magic */
	transition: all 0.9s ease-in-out;
	-webkit-transition: all 0.9s ease-in-out;
	-moz-transition: all 0.9s ease-in-out;
	text-transform: uppercase;
	font-size: .875rem;
}
#topcontact .contactblock a {
	color: #79A31E;
}
#topcontact .contactblock a:hover {
	color: #79A31E;
}
#topcontact .contactblock .phone {
	color: #333333;
}
/*********************************************************************************/
/* Smaller Header                                                                */
/*********************************************************************************/
#header.smaller {
	height: 80px;
	/* animation magic */
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
}
#header.smaller #logo {
	width: 160px;
	height: 40px;
	background: url(_gfxlib/logo320.png) no-repeat center;
	background-size: 100%;
}
/*********************************************************************************/
/* Main Banner                                                                   */
/*********************************************************************************/
#mainbanner {
	float: left;
	width: 100%;
	margin-top: 110px;
	max-height: 600px;
	position: relative;
	background: #000000;
	display: inline-block;
	overflow: hidden;
	/*padding-bottom: 2em;*/
	z-index: 98;
}
#mainbanner .mainimage .caption,
#mainbanner .mainslider .caption {
	position: absolute;
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: 300px;
	color: #fff;
	padding: 20px 0;
}
#mainbanner .mainslider .mainimage .wrapper .caption h1 {
	color: #FFFFF;
	font-size: 4rem;
	line-height: 100%;
	text-align: center;
}
.toppad {
	float: left;
	width: 100%;
	margin-top: 120px;
}
.hero {
	margin-top: 110px;
	color: #000000;
	background: #000000;
	height: 62%;
	min-height: 400px;
	position: relative;
	display: table;
	width: 100%;
}
.hero .inner-hero {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.hero .hero-colourbg {
	background-image: linear-gradient(#509316, #90AD28);
}
.hero .overlay {
	background: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	transition: background 0.8s ease-in-out;
	-moz-transition: background 0.8s ease-in-out;
	-webkit-transition: background 0.8s ease-in-out;
}
.hero .hero-text {
	z-index: 98;
	top: 0;
	bottom: 0;
	position: relative;
	left: 0;
	right: 0;
    padding: 60px 0 0;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}
.hero .hero-text p.title, 
.hero .hero-text h1 {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 3rem;
	line-height: 3rem;
	margin: 0 0 20px 0;
	color: #FFFFFF;
}
.hero .hero-text p {
	font-family: 'Poppins', sans-serif;
	margin: 0;
	font-size: 1.25rem;
	line-height: 2rem;
	color: #FFFFFF;
}
/*********************************************************************************/
/* Main Image and Slider                                                         */
/*********************************************************************************/
.mainslider,
.mainimage {
	float: left;
	background: #000000;
	width: 100%;
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.mainimage img {
	/* opacity: 0.7; */
	width: 100%;
	
}
#slider01res {
	display: none;
}
/*********************************************************************************/
/* Content                                                                       */
/*********************************************************************************/
.contentwrapper {
	padding: 1rem 0;
	float: left;
}
.contentwrapper hr {
	 border: 0; 
	 height: 0; 
	 border-top: 1px solid rgba(0, 0, 0, 0.1); 
	 border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	 margin: 3rem 0;
	 width: 100%;
	 float: left;
}
.contentwrapper h1,
.contentwrapper h2,
.contentwrapper h3 {
	color: #79A31E;
	text-align: center;
	font-size: 2rem;
	margin-bottom: 1rem;
}
.contentwrapper h2 {
	font-size: 1.25rem;
	color: #79A31E;
	text-align: left;
	font-weight: 600;
}
.contentwrapper h3 {
	font-size: 1.75rem;
}
.contentwrapper h4 {
	color: #79A31E;
	font-size: 110%;
	margin-bottom: 1rem;
}
.contentlist {
	margin: 1em 0 2em 4%;
	display: block;
}
.contentlistcentre {
	margin: 1rem auto 2rem auto;
}
.contentwrapper p,
.contentwrapper .contentlist li {
	color: #333333;
	font-size: 1rem;
	line-height: 155%;
	margin-bottom: 1em;
	font-family: 'Noto Sans JP', sans-serif;
}
.contentwrapper .contentlist li {
	list-style-type: none;
}
.contentwrapper.contentcentre .contentlist {
	list-style-position: inside;
}
.contentwrapper.contentcentre,
.contentwrapper .centre,
.contentwrapper.contentcentre .contentlist li {
	text-align: center;
}
.flexwrapper .halfblock .contentlist {
	width: 86%;
	margin: 1rem 7%;
}
.flexwrapper .halfblock .contentlist li {
	text-align: left;
	list-style-position: outside;
}
ul.contentlist li:before {
    content: "\25A0";
    font-family: "Arial Black";
    color: #79A31E;
    padding-right: .5em;
}
.contentwrapper .contentlist50 li {
	width: 48%;
	float: left;
}
.contentwrapper p .small {
	font-size: 90%;
}
.contentwrapper p a {
	color: #79A31E;
}
.contentwrapper p a:hover {
	text-decoration: underline;
}
.contentwrapper .contentimage {
	float: left;
	width: 90%;
	height: auto;
	margin: 1em 5%;
}
.contentwrapper .contentslider {
	float: left;
	width: 100%;
	height: auto;
	margin: 1em 0 2em 0;
}
.contentwrapper .preview {
	float: left;
	width: 100%;
	margin: 2rem 0;
}
.contentwrapper .preview .imgright {
	float: right;
	width: 40%;
	height: auto;
	margin: 0 0 1em 2%;
	border: solid 1px #ECECEC;
}
.contentwrapper .textwrap {
	float: left;
	width: 70%;
}
.contentwrapper .textwrap.left {
	margin-right: 5%;
}
.contentwrapper .imagewrap {
	float: left;
	width: 25%;
}
.contentwrapper .imagewrap.right {
	float: right;
	width: 25%;
}
.contentwrapper .imagewrap img {
	width: 100%;
	height: auto;
	border-radius: 50%;
}
.highlightcolour {
	background: #FDB128;
}
.highlightwrapper {
	color: #FFFFFF;
	padding: 1em 3%;
}
.highlightwrapper h1 {
	font-size: 150%;
	font-weight: 400;
	margin-bottom: .5em;
}
.highlightwrapper p {
	font-size: 120%;
	margin-bottom: .75em;
	line-height: 140%;
}
.contentlight {
	background: #F3F2F2;
}
.contentred {
	background: #79A31E;
}
.contentdarkred {
	background: #8C1D02;
}
.contentbeige {
	background: #BAAC96;
}
.contentorange {
	background: #79A31E;
}
.contentlightbeige {
	background: #d7cec1;
}
.contentblue {
	background: #79A31E;
}
.contentgold {
	background: #F7B42A;
}
.contentbeige h2,
.contentbeige p,
.contentbeige p a,
.contentlightbeige h2,
.contentlightbeige p,
.contentlightbeige p a {
	color: #3e3528;
}
.contentred h2,
.contentred p,
.contentred p a,
.contentred .contentwrapper .contentlist li,
.contentred .contentwrapper .contentlist li a,
.contentred li a,
.contentpink h2,
.contentpink p,
.contentpink p a,
.contentdarkred h2,
.contentdarkred p,
.contentdarkred p a,
.contentdarkred .contentwrapper .contentlist li,
.contentdarkred .contentwrapper .contentlist li a,
.contentblue h2,
.contentblue p,
.contentblue p a,
.contentblue .contentwrapper .contentlist li,
.contentblue .contentwrapper .contentlist li a,
.contentgold h2,
.contentgold p,
.contentgold p a,
.contentgold .contentwrapper .contentlist li,
.contentgold .contentwrapper .contentlist li a
 {
	color: #FFFFFF;
}
.contentlist.contentlistdark {
	background: #333333;
}
.contentlight p {
	color: #4C4845;
}
.contentwrapper .aboutimage {
	float: left;
	width: 25%;
	margin: 0 5% 0 0;
}
.contentwrapper .aboutimage img {
	border-radius: 50%;
	width: 100%;
	height: auto;
}
.contentwrapper .abouttext {
	float: left;
	width: 70%;
}
/*********************************************************************************/
/* Content Table                                                                 */
/*********************************************************************************/
.contenttable {
	display: inline-block;
	width: 100%;
	margin-bottom: 2rem;
}
.contenttable th,
.contenttable td {
	font-size: 110%;
	padding: .5em;
}
.contenttable th {
	text-align: center;
	background: #3C483C;
	color: #FFF;
}
.contenttable td {
	text-align: left;
	background: #F3F1F2;;
	color: #333;
}
.contenttable .white {
	background: #FFFFFF;
}
.contenttable .shaded {
	background: #ECECEC;
	color: #999999;
}
.contenttable .link,
.contenttable .link a {
	background: #79A31E;
	color: #FFFFFF;
}
/*********************************************************************************/
/* Testimonial.                                                                  */
/*********************************************************************************/
.testimonialwrapper {
	float: left;
	width: 90%;
	margin: 2rem 5% 1rem 5%;
}
.testimonialwrapper q,
.testimonialwrapper p {
	font-size: 1.25rem;
	line-height: 145%;
	font-family: 'Poppins', sans-serif;
}
.testimonialwrapper p a:hover {
	text-decoration: underline;
}
.testimonialwrapper p.small,
.testimonialwrapper p.author {
	font-size: 1rem;
	margin: 1rem 0 0 0;
}
.testimonialwrapper p.cta {
	font-size: .75rem;
	margin: 2rem 0 0 0;
}
.testimonialwrapper .ctabuttons {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
.testimonialwrapper .ctabuttons i {
	font-size: 2rem;
	margin: 0 1rem 0 0;
}
.testimonialwrapper .ctabuttons a {
	color: #FFFFFF;
	cursor: pointer;
}
p.xclose {
	width: 90%;
	text-align: right;
	font-size: .875rem;
	margin: 0 5% 2rem 5%;
}
.contentgold .testimonialwrapper q,
.contentgold .testimonialwrapper p {
	color: #FFFFFF;
}
.contentwrapper.accreditation {
	float: left;
	text-align: center;
	width: 100%;
	margin: 2rem 0 0 0;
	padding: 0;
}
.contentwrapper.accreditation img {
	display: inline-block;
	margin: .5em;
	width: auto;
	height: 100%;
}
/*********************************************************************************/
/* Plain Content                                                                 */
/*********************************************************************************/
.plaincontent {
	display: inline-block;
	width: 90%;
	margin: 0 5%;
}
.plaincontent p {
	margin-bottom: 1em;
}
/*********************************************************************************/
/* Gallery                                                                       */
/*********************************************************************************/
.gallerywrapper {
	float: left;
	width: 100%;
	margin: 2rem 0;
}
.gallerywrapper ul {
	float: left;
	width: 100%;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}
.gallerywrapper ul li {
	list-style-type: none;
	flex-basis: 24.5%;
	margin: .2rem .25%;
	text-align: left;
}
.gallerywrapper ul li img {
	width: 100%;
	height: auto;
}
.gallerywrapper ul li p {
	font-size: .875em;
	margin: .5em 0;
	line-height: 125%;
}
/*********************************************************************************/
/* Promo Wrapper                                                                 */
/*********************************************************************************/
.fullwidthpromo {
	width: 100%;
	display: flex;
	align-items: center;
}
.fullwidthpromo.promoleft {
	flex-direction: row;
}
.fullwidthpromo.promoright {
	flex-direction: row-reverse;
}
.fullwidthpromo .imgblock,
.fullwidthpromo .mapblock,
.fullwidthpromo .subtitleblock,
.fullwidthpromo .moreblock {
	display: inline-block;
	width: 50%;
	margin: 0;
}
.fullwidthpromo .imgblock {
	background: #000000;
}
.fullwidthpromo .mapblock {
	display: initial;
	margin: 0;
	padding: 0;
	width: 70%;
	background: #000000;
}
.fullimage .imgblock,
.fullimage .mapblock {
	width: 100%;
}
.fullwidthpromo .imgblock.contactimage {
	margin: 0 auto;
}
.fullwidthpromo .imgblock.contactimage img {
	width: 100%;
	height: auto;
}
.bggrey {
	background: #333333;
}
.bgwhite {
	background: #FFFFFF;
}
.bgdark {
	background: #79A31E;
}
.bgdarkred {
	background: #8C1D02;
}
.bgcream {
	background: #FFFAE6;
}
.bgpurple {
	background: #4D0033;
}
.bgmidblue {
	background: #305C92;
}
.bglightblue {
	background: #0194EB;
}
.bgwarmgrey {
	background: #E0DED8;
}
.bgwarmgrey2 {
	background: #C7C2BA;
}

.textwhite {
	color: #FFFFFF;
}
.textwhite a {
	color: #FFFFFF;
}
.textdark p {
	color: #666666;
}
.textdark h2,
.textdark a {
	color: #0092EB;
}
.fullwidthpromo .textblock {
	float: left;
	width: 40%;
	padding: 0 5%;
	display: initial; /* Reset flex attributes */
}
.fullwidthpromo .textmapblock {
	width: 20%;
	padding: 0 5%;
}

.promowideimg .imgblock,
.promowideimg .mapblock {
	width: 65%;
}
.promowideimg .textblock {
	width: 25%;
	padding: 0 5%;
}
.fullwidthpromo .textblock h2,
.fullwidthpromo .textblock p,
.fullwidthpromo .textblock li {

}
.fullwidthpromo .textblock p {
	font-size: 1.125rem;
	line-height: 150%;
	font-weight: 600;
}
.fullwidthpromo .textblock p.readmore {
	font-size: 1rem;
	line-height: 200%;
	font-weight: 400;
}
.fullwidthpromo .textblock h2 {
	font-weight: 800;
	margin: 0;
	font-size: 1.75rem;
}
.fullwidthpromo .textproject h2 {
	font-weight: 600;
	font-size: 2.5rem;
	text-transform: uppercase;
}
.fullwidthpromo .textproject p {
	font-size: 1.375rem;
	line-height: 150%;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.fullwidthpromo .textblock h2 a {
	text-decoration: none;
}
.fullwidthpromo .textblock p a {
	text-decoration: none;
}
.fullwidthpromo .textblock p .sub {
	font-size: 24px;
}
.fullwidthpromo .textblock ul {
	float: left;
	list-style: none;
}
.fullwidthpromo .textblock ul li {
	font-weight: 400;
	margin-bottom: 1.5em;
	letter-spacing: 1px;
}
.fullwidthpromo .textmapblock h2,
.fullwidthpromo .textmapblock p {
	width: 100%;
	text-align: center;
}
.fullwidthpromo .textmapblock h2,
.fullwidthpromo .smalltitle h2 {
	display: inline-block;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	border-bottom: solid 2px #FFFFFF;
	margin: 0 auto 10px auto;
	padding-bottom: 5px;
}
.bgpurple .textmapblock h2,
.bgpurple .smalltitle h2 {
	border-bottom: solid 2px #FFFFFF;
}
.fullwidthpromo .textmapblock p,
.fullwidthpromo .smalltext p {
	font-size: 1.125rem;
	line-height: 150%;
	margin-bottom: 1em;
}
.fullwidthpromo .imgblock img {
	width: 100%;
	height: auto;
	margin: 0;
	vertical-align:top;
	display: block;
}
.promocentre {
	float: left;
	width: 100%;
	text-align: center;
	padding: 80px 0;
}
.promocentre h3,
.promocentre p {
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 3px;
}
.promocentre h3 {
	display: inline-block;
	margin: 0 auto 20px auto;
	padding-bottom: 10px;
	text-transform: uppercase;
}
.promocentre p {
	font-size: 24px;
	margin-bottom: 24px;
}
.textwhite h3 {
	border-bottom: solid 2px #FFFFFF;
}

.promomore {
	background: #305C92;
}
.promomore .subtitleblock {
	background: #0194EB;
}
.promomore .subtitleblock,
.promomore .moreblock {
	text-transform: uppercase;
	padding: 1rem 5%;
	line-height: 150%;
	letter-spacing: 1px;
}
.fullwidthpromo .textblock.animate h2 a,
.fullwidthpromo .textblock.animate p a,
.promomore .moreblock a {
	text-decoration: none;
	transition: all 1s;
	font-size: 100%;
}
.fullwidthpromo .textblock.animate h2 a:hover,
.fullwidthpromo .textblock.animate p a:hover,
.promomore .moreblock a:hover {
	transition: all 1s;
	font-size: 110%;
}
.projectpromo,
.projectgallery,
.contentblock {
	width: 90%;
	display: flex;
	align-items: center;
	padding: 0 5%;
	margin: 5rem 0;
}
.contentblock.imagetop {
	align-items: flex-start;
}
.projectpromo.promoleft,
.contentblock.promoleft {
	flex-direction: row;
}
.projectpromo.promoright,
.contentblock.promoright {
	flex-direction: row-reverse;
}
.projectpromo .image,
.contentblock .image {
	width: 60%;
	margin: 0;
}
.contentblock .image {
	width: 60%;
	margin: 0;
}
.contentblock.imagetop .image {
	margin: 5rem 0 0 0;
}
.contentblock .image img,
.projectpromo .image img {
	width: 100%;
	height: auto;
}
.contentblock .image a img,
.projectpromo .image a img {
	transition: all 1s;
	-moz-transform: scale(1,1);
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
}
.contentblock .image a:hover img,
.projectpromo .image a:hover img {
	transition: all 1s;
	-moz-transform: scale(1.05,1.05);
	-webkit-transform: scale(1.05,1.05);
	transform: scale(1.05,1.05);
}
.contentblock .text,
.projectpromo .text {
	width: 30%;
	margin: 0 5%;
}
.contentblock .image {
	width: 50%;
}
.contentblock .text {
	width: 60%;
}
.projectpromo .text h1,
.contentblock .text h1 {
	color: #79A31E;
	font-size: 2rem;
}
.contentblock .titledecorate {
	margin: 2rem auto;
	min-width: 210px;
	width: 100%;
	padding-bottom: 2rem;
	background: url('../img/assets/h1-bg.png') center bottom no-repeat;
}
.contentblock .titledecorate h1 {
	margin-bottom: 3rem;
}
.projectpromo .text h2,
.contentblock .text h2 {
	color: #79A31E;
	font-size: 1.875rem;
}
.projectpromo .text h2 {
	text-transform: uppercase;
}
.contentblock .text h3 {
	color: #0092EB;
	font-size: 1.5rem;
}
.projectpromo .text h2 a {
	color: #0092EB;
	text-decoration: none;
	transition: all 1s;
}
.projectpromo .text h2 a:hover {
	color: #666666;
	transition: all 1s;
	font-size: 110%;
}
.projectpromo .text p {
	color: #666666;
	font-size: 1.125rem;
	line-height: 150%;
}
.contentblock .text p,
.contentblock .singleline li {
	font-size: 1.125rem;
	line-height: 150%;
	font-weight: 600;
	color: #666666;
}
.contentblock .singleline {
	float: left;
	width: 100%;
	margin: 0 0 2rem 0;
	padding: 0;
}
.contentblock .singleline li:before {
	content: "\25A0  ";
	font-family:"Arial Black";
	color: #0092EB;
	padding-right: .5rem;
}
.contentblock .singleline li {
	float: left;
	margin: 0 1rem 0 0;
}
.contentblock .singleline li {
	list-style-type: none;
}
.projectpromo .text p.standfirst {
	color: #0092EB;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 1.125rem;
}
.projectmain {
	margin: 20rem 0 5rem 0;
}
.projectmain .text {
	width: 26%;
	margin: 0 5%;
	padding: 1rem 2%;
	background: #ECECEC;
}
.projectgallery.reverse {
	flex-direction: reverse;
	align-items: stretch;
	justify-content: flex-end;
}
.projectgallery .image,
.projectgallery.reverse .image {
	width: 70%;
	margin: 0;
}
.projectgallery .image.width50,
.projectgallery.reverse .image.width50 {
	width: 50%;
}
.projectgallery .image img,
.projectgallery.reverse .image img {
	display: block;
	margin: 0 auto;
}
.projectlink {
	margin: 2rem 0;
}
.projectlink .text {
	min-width: 25%;
	margin: 2rem 5%;
	padding: 1rem 2%;
	background: #ECECEC;
	float: right;
}
.projectlink .text p {
	color: #666666;
	font-size: 1.5rem;
	line-height: 120%;
	text-transform: uppercase;
	font-weight: 700;
}
.projectlink .text h3 {
	color: #0092EB;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 1.75rem;
}
.projectlink .text h3 a {
	color: #0092EB;
	text-decoration: none;
}

.contentblock .textblockcentre,
.projectpromo .textblockcentre {
	margin: 0 auto;
}
.contentblock .textfull,
.projectpromo .textfull {
	width: 90%;
	margin: 0 5%;
}

.projectpromo .textcentre h1,
.contentblock .textcentre h1,
.projectpromo .textcentre h2,
.contentblock .textcentre h2,
.contentblock .textcentre h3,
.projectpromo .text p {
	text-align: center;
}
/*********************************************************************************/
/* Enquiry Form                                                                  */
/*********************************************************************************/
#enquiryform {
	float: left;
	width: 100%;
	padding: 4rem 0 2rem 0;
	background: #ECECEC;
}
/*********************************************************************************/
/* Content Form                                                                  */
/*********************************************************************************/
.formblock {
	width: 30%;
	padding: 1rem 3%;
	margin: 0 2%;
	background: #FFFFFF;
	
}
#ajaxform {
	float: left;
	width: 90%;
	margin: 1rem 0;
}
.contentform h2 {
	font-size: 1.25rem;
	text-transform: uppercase;
	color: #79A31E;
	margin: 0 0 1rem 0;
}
.contentform p {
	font-size: 1rem;
	color: #666666;
	margin: 0 0 1rem 0;
}
.contentform p i {
	margin-right: .5rem;
}
.contentform p .darkstrong {
	font-weight: 600;
	color: #79A31E;
}
.contentform p .midstrong,
.contentform p .midstrong a {
	font-weight: 600;
	color: #79A31E;
	text-decoration: none;
}
.contentform p .midstrong a:hover {
	text-decoration: underline;
}
.contentform .smallprint {
	float: left;
	width: 100%;
}
.contentform .smallprint p {
	font-size: .875rem;
}
.contentform h3 {
	font-size: 1rem;
	text-transform: uppercase;
	color: #79A31E;
	margin: 0;
}
.contentform .formlayout {
	float: left;
	width: 100%;
	padding: 0;
}
.contentform .formlayout li {
	width: 100%;
	margin: .75rem 0;
	list-style-type: none;
	color: #666666;
}
.contentform .formlayout li.halfwidth {
	width: 50%;
}
.contentform .formobject,
.contentform .formfileobject,
.contentform textarea {
	width: 96%;
	color: #666666;
	border: 0;
	font-size: .875rem;
	padding: .5rem 2%;
	background: #ECECEC;
	font-family: 'Noto Sans JP', sans-serif;
}
.contentform .formobject::placeholder,
.contentform textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #999999;
	opacity: 1; /* Firefox */
}
.contentform .formobject:-ms-input-placeholder,
.contentform textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #999999;
}
.contentform .formobject::-ms-input-placeholder,
.contentform textarea::-ms-input-placeholder { /* Microsoft Edge */
	color: #999999;
}
.contentform .formautowidth {
	width: auto;
}
.contentform .formfileobject {
	color: #999999;
	border: 0;
}
.contentform textarea {
	resize: none; /* disables resizability */
}
.contentform .formlayout li.liselect {
	width: 100%;
	border: 1px solid #999999;
	margin: .75rem 0;
	background: #FFFFFF url("../img/assets/formarrow.png") no-repeat 95% 50%;
}
.contentform .formlayout li.halfwidth.liselect {
	width: 50%;
}
.contentform .formlayout li.liselect select {
	padding: .5rem 1%;
	width: 98%;
	border: none;
	box-shadow: none;
	background: transparent;
	background-image: none;
	-webkit-appearance: none;
	font-size: 1.125rem;
	color: #999999;
}
.contentform .formbutton {
	display: inline-block;
	background: #79A31E;
	text-decoration: none;
	color: #FFFFFF;
	padding: .75em 2rem;
	margin: 1em 0;
	border: 0;
	font-size: 1rem;
	-moz-transition: background-color ease-out .5s;
	-o-transition: background-color ease-out .5s;
	-webkit-transition: background-color ease-out .5s;
	transition: background-color ease-out .5s;
	-webkit-appearance: none;
	-webkit-border-radius:0; 
	border-radius:0;
}
.contentform .formbutton:hover {
	background: #97C123;
}
.contentform .successmsg p {
	color: #666666;
	font-weight: bold;
}
.contentform .errormsg p {
	color: #D8110E;
}
.fullwidthpromo .mapblock {
	display: inline-block;
	width: 56%;
	margin: 0 2%;
	background: #000000;
}
.fullwidthpromo .map-responsive {
	overflow:hidden;
	padding-bottom:56.25%;
	position:relative;
	height:0;
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}
.fullwidthpromo .map-responsive iframe {
	left:0;
	top:0;
	height:100%;
	width:100%;
	position:absolute;
	border: 0;
}
/*********************************************************************************/
/* Google Map                                                                    */
/*********************************************************************************/
#googleMap {
	margin: 0;
	float: left;
	width: 100%;
	height: 75%;	
	min-height: 700px;
	border: 0;
	background: #FFFFFF;
}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
#footer {
	float: left;
    width: 98%;
    margin: 0 1%;
}
#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: #666666;
	display: block;
	padding: .5em 2em;
	font-weight: 400;
}
#footermenu ul li a:hover {
	color: #FFFFFF;
}
#footer #address,
#footer #social {
	float: right;
	width: 50%;
	font-size: .65em;
	color: #666666;
}
#footer #address {
	float: left;
	width: 100%;
	font-size: .65rem;
	color: #666666;
	text-align: center;
	margin: 1rem 0;
}
#footer #social img,
#footer #social .fb-like {
	margin: .5em;
	float: right;
}
#footer #social i {
	font-size: 50px;
	color: #6AA25B;
	margin: .5rem;
	float: right;
}
#footer #logos {
	float: left;
	text-align: center;
	width: 100%;
	margin: .5em 0 .75em 0;
}
#footer #logos img {
	float: right;
	margin: 0 .5em;
	width: auto;
	height: 100%;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper a {
	color: #666666;
}
#footer #creditswrapper {
	float: left;
	width: 100%;
	margin: 1.5em 0;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper #webcredit {
	font-size: .7em;
	float: left;	
}
#footer #creditswrapper #copyright {
	width: 65%;	
}
#footer #creditswrapper #webcredit {
	width: 35%;	
	text-align: right;
}
#footer #creditswrapper #copyright a:hover {
	color: #79A31E;
}
#footer #creditswrapper #webcredit #beachshore:hover {
	/*color: #56D5FB;*/
	color: #409FBB;
}
#footer #creditswrapper #webcredit #beachshore #beachshorebold {
	font-weight: 700;
}
#footer #terms {
	margin: 0 2em;
}