@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Lora&display=swap');
/*
#204660 Darker
#397EAD Bright
#998640 Darkest
#204660 A
*/
/*********************************************************************************/
/* 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 {
	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, p, li {
	font-weight: 300;
	font-size: 1rem;
	color: #363636;
}
a {
	text-decoration: none;
	color: #204660;
}
strong {
	font-weight: 700;
}
/*********************************************************************************/
/* Fonts                                                                         */
/*********************************************************************************/
body {
	font-family: 'Lato', sans-serif;
}
/*********************************************************************************/
/* Wrappers                                                                      */
/*********************************************************************************/
.wrapper {
	max-width: 1800px;
	margin: 0 auto;
}
.page {
	float: left;
	width: 100%;
	background: #FFFFFF;
}
.flexwrapper,
.flexrow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flexrow {
	align-items: stretch;
}
.pageshade {
	float: left;
	width: 100%;
	background: #F4F4F4;
	background: #FFFFFF;
}
/*********************************************************************************/
/* Common                                                                        */
/*********************************************************************************/
.button {
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	padding: 0 20px;
	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;
	background: #A69E8F;
	color: #FFFFFF;
	font-size: 1.125rem;
}
.buttonsml {
	padding: 0 10px;
	line-height: 25px;
}
.buttonlrg {
	padding: 0 20px;
	line-height: 35px;
}
.button:hover {
	background: #C2B8A7;
}
.promote {
	background: #3EAD4D;
}
.promote:hover {
	background: #44BD54;
}
.buttonred {
	background: #CC0000;
	color: #FFFFFF;
}
.buttonred:hover {
	background: #FF0000;
}
.buttongreen {
	background: #2DB300;
	color: #FFFFFF;
}
.buttongreen:hover {
	background: #33CC00;
}
.buttonblack {
	background: #363636;
	color: #204660;
}
.buttonblack:hover {
	background: #363636;
	color: #FFFFFF;
}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/
#header {
	position: relative; /* Force to top for dropdown */
	position: fixed;
	float: left;
	width: 100%;
	background: #FFFFFF;
	z-index: 99;
	border-top: 1px solid #DCDCDC;
	border-bottom: 1px solid #DCDCDC;
}
#header .logowrapper {
	float: left;
	width: 100%;
	max-width: 300px;
}
#header .logo {
	display: block;
	width: 300px;
	height: 80px;
	background: url('../img/assets/logox300x80.png') no-repeat center;
	background-size: 100%;
	margin: 0 auto;
	/* 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%;
}
/*********************************************************************************/
/* Smaller Header                                                                */
/*********************************************************************************/
#header.smaller {
	/* 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;
	background-color: rgba(255,255,255,.95);
	
}
#header.smaller .logo {
	width: 150px;
	height: 40px;
	background: url('../img/assets/logox300x80.png') no-repeat center;
	background-size: 100%;
	margin: .25rem auto;
}
/*********************************************************************************/
/* Menu.                                                                         */
/*********************************************************************************/
#header .menuwrapper {
	float: right;
	width: 100%;
	max-width: 900px;
	margin: 1rem 0 0 0;
	background: rgba(255,255,255,.95);
}
#header .menu {
	float: left;
	width: 100%;
	text-align: center;
	margin: 4px 0 0 0;
}
#header .menu ul {
	margin: 0 auto;
}
#header .menu ul li {
	display: inline-block;
	list-style: none;
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .5px;
	line-height: 0; 
	text-transform: uppercase;
}
#header .menu ul li a {
	color: #363636;
	display: block;
	padding: 1.25rem 1rem;
	margin: 0 .25rem;
	-moz-transition: background-color ease-out .25s;
	-o-transition: background-color ease-out .25s;
	-webkit-transition: background-color ease-out .25s;
	transition: background-color ease-out .25s;
}
#header .menu ul li a:hover {
	color: #204660;
}
#header .menu ul li a.selected {
	border-bottom: solid 4px #204660;
}
.slicknav_menu {
	display:none;
}
#header #menuresp {
	display: none;
}
/*********************************************************************************/
/* Submenu                                                                       */
/*********************************************************************************/
#header .menu ul li div.submenu {
	position: absolute;
	visibility: hidden;
	margin: 0;
	padding: 1rem 0;
	z-index: 900;
	width: 100%;
	left: 0;
	background: #CECEBD;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
#header .menu ul li  div.submenu ul {
	vertical-align: top;
	display: inline-block;
	width: 31%;
	margin: 0 2% 0 0;
	padding: 1rem 0;
	border-right: solid 1px #D0D0D0;
}
#header .menu ul li  div.submenu ul.singleline {
	width: auto;
	float: right;
	padding: 0;
}
#header .menu ul li  div.submenu ul.last {
	border: none;
}
#header .menu ul li  div.submenu ul li {
	display: block;
	float: none;
}
#header .menu ul li  div.submenu ul.singleline li {
	float: left;
	margin: 1rem;
}
#header .menu ul li  div.submenu ul li a {
	margin: 0;
	text-align: left;
	font-size: 1rem;
	color: #363636;
	padding: 1.25rem 0;
	text-transform: none;
	background: none;
}
#header .menu ul li  div.submenu ul li a:hover {
	text-decoration: underline;
	border: 0;
	padding-top: solid .3125em #CCCCCC;
	color: #204660;
}
#header .menu ul li  div.submenu ul li h3 {
	margin: 0;
	text-align: left;
	font-size: 1.125rem;
	color: #363636;
	padding: 1.25rem 0;
	font-weight: 400;
}
#promospecial {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
#promospecial img {
	width: 100%;
	height: auto;
}
/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/
#bannerouter {
	float: left;
	width: 100%;
}
#bannerwrap {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
#bannerwrap.homebanner #banner {
	width: 66%;
	float: left;
}
#bannerwrap.homebanner #bannerpromo {
	float: left;
	width: 32%;
	margin-left: 2%;
}
#bannerwrap.homebanner #bannerpromo .textblock {
	width: 98%;
	background: #F9BE00;
	padding: 1rem 1%;
}
#bannerwrap.homebanner #bannerpromo .textblock {
	width: 90%;
	background: #F9BE00;
	padding: 1rem 5%;
}
#bannerwrap.homebanner #bannerpromo .textblock p {
	font-size: 2.25rem;
	color: #FFFFFF;
	font-weight: 700;
}
.slider,
.sliderres,
#contentbanner {
	float: left;
	background: #F6F4EE;
	width: 100%;
	position: relative;
	display: inline-block;
}
.slider img,
#contentbanner img {
	width: 100%;
	overflow: hidden;
	position: relative;
	float: left;
}


.slider .captionwrapper .caption h1,
.slider .captionwrapper .caption h2,
#contentbanner .captionwrapper .caption h1,
#contentbanner .captionwrapper .caption h2 {
	display: inline-block;
	vertical-align: middle;
	color: #FFFFFF;
	font-size: 2rem;
	text-transform: uppercase;
	font-weight: 700;
	text-align: left;
	margin: auto;
	line-height: 100%;
	background: #204660;
}
.slider .captionwrapper .caption h1 .subtitle,
.slider .captionwrapper .caption h2 .subtitle,
#contentbanner .captionwrapper .caption h1 .subtitle,
#contentbanner .captionwrapper .caption h2 .subtitle {
	font-size: 1.125rem;
	text-transform: none;
}
.slider .captionwrapper .caption a,
#contentbanner .captionwrapper .caption a {
	color: rgba(255,255,255,1.00);
}
.slider .captionwrapper .caption h2 a:hover {
	text-decoration: underline;
}
/* New format banner */
#bannerwrap.homebanner #banner.bannerwide {
	width: 100%;
	float: left;
	margin-top: 150px;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem {
	display: flex;
	width: 100%;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
	margin: 0 0 2rem 0;
}
.banneritem .imagewrapper {
	width: 66%;
}
.banneritem .imagewrapper img {
	width: 100%;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper {
	float: none;
	position: relative;
	width: 32%;
	max-width: none;
	margin: 0;
	height: auto;
	left: auto;
	right: auto;
	z-index: auto;
	display: flex;
	align-items: center;
	background: #204660;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption {
	background: none;
	position: relative;
	top: auto;
	bottom: auto;
	height: auto;
	left: auto;
	width: 94%;
	padding: 1rem 3%;
	color: #FFFFFF;
	z-index: auto;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption h2,
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption h3,
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption p {
	font-size: 2.25rem;
	color: #FFFFFF;
	font-weight: 700;
	line-height: 115%;
	margin: 0 0 1rem 0;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption h3 {
	font-size: 1.75rem;
}
#bannerwrap.homebanner #banner.bannerwide .banneritem .captionwrapper .caption p {
	font-size: 1.25rem;
}
/*********************************************************************************/
/* Content Header                                                                */
/*********************************************************************************/
.contentheader {
	float: left;
	width: 100%;
	margin: 3rem 0 0 0;
	border-bottom: solid 20px #397EAD;
}
.contentheader h1 {
	font-size: 2.5rem;
	font-weight: 900;
	color: #397EAD;
	color: #B88C00;
	margin: 0 0 1rem 0;
}
/*********************************************************************************/
/* Breadcrumb                                                                    */
/*********************************************************************************/
#breadcrumb {
	float: left;
	width: 100%;
	margin: 1rem 0 2rem;
	border-bottom: solid 1px #F6F4EE;
}
#breadcrumb p {
	font-size: .875rem;
}
#breadcrumb p,
#breadcrumb p a {
	color: #363636;
}
#breadcrumb p a:hover {
	color: #204660;
}
/*********************************************************************************/
/* Content                                                                       */
/*********************************************************************************/
.content {
	float: left;
	width: 100%;
	margin: 0;
}
.contentsection {
	float: left;
	width: 98%;
	padding: .5em 1%;
	margin: 0 0 2rem 0;
}
.content h2 {
	font-size: 2rem;
}
.content h3 {
	font-size: 1.5em;
}
.content h4 {
	font-size: 1.125rem;
	font-weight: 400;
}
.content h2, .content h3, .content h4 {
	width: 100%;
	margin: 0 0 .5em 0;
	font-weight: 700;
}
/* .full class allows the header tag to have an ID to jump to */
.content h2.full, .content h3.full, .content h4.full {
	float: left;
}
.content p,
.content blockquote {
	font-size: 1.125rem;
	color: #363636;
	line-height: 145%;
	margin: 0 0 1rem 0;
	font-weight: 400;
}
.content p.small {
	font-size: 1rem;
}
.content p.price {
	font-size: 1.25rem;
	font-weight: 700;
}
.content p.price .small {
	font-size: .75em;
}
.content .standfirst {
	font-size: 1.5em;
	color: #204660;
	font-weight: 700;
}
.content blockquote {
	font-size: 1.25rem;
	font-style: italic;
	margin: 1.5rem 5%;
	width: 90%;
}
.content blockquote .attributed {
	font-size: .875rem;
	font-style: normal;
}
.contentsection p {
	font-size: 1.125rem;
}
.contentsection img.full {
	float: left;
	max-width: 100%;
	height: auto;
}
.content .sectionwrap {
	float: left;
	width: 100%;
	margin: 0 0 1rem 0;
}
.contentmed h2 {
	font-size: 1.5em;
}
.contentmed p {
	font-size: .875em;
}
.content .sectionwrap.marginmed,
.marginmed {
	margin: 1.5rem 0;
}
.content .highlight {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
.content .highlight p {
	font-size: 1rem;
	font-style: italic;
}
.content .highlight p em {
	font-weight: 700;
}
.content .highlightcentre {
	text-align: center;
}
.content .highlightborder {
	border: solid 1px #CCCCCC;
}
.content .highlightborderh {
	border-top: solid 1px #CCCCCC;
	border-bottom: solid 1px #CCCCCC;
	padding: 1rem 0;
}
.content .jumpto {
	float: left;
	width: 98%;
	padding: 1rem 1%;
	margin: 1rem 0;
	background: #e9e9e2;
}
.content .jumpto p {
	font-weight: 700;
}
.content .jumpto ul {
	list-style-type: none;
}
.content .jumpto ul li {
	margin: 0 0 1rem 0;
	font-weight: 700;
}
.content .jumpto ul li a:hover {
	text-decoration: underline;
}
/*********************************************************************************/
/* Content Centre                                                                */
/*********************************************************************************/
.content .contentcentre .subheadblock {
	float: left;
	width: 98%;
	padding: .5rem 1% 0 1%;
	background: #363636;
	margin: 1rem 0;
}
.content .contentcentre .subheadblock h2 {
	color: #397EAD;
}
.contentcentre 	.shadeblock {
	float: left;
	width: 98%;
	padding: 1rem 1%;
	margin: 1rem 0;
}
.contentcentre .block50 {
	float: left;
	width: 50%;
}
.contentcentre .block50.pad {
	width: 48%;
	margin: 0 1%;
}
.contentcentre p.fullwidth {
	float: left;
	width: 100%;
}
.contentcentre .profilewrap h3 {
	float: left;
	width: 100%;
	font-size: 1.25rem;
}
.contentcentre .profilewrap .profilebanner {
	float: left;
	width: 100%;
	margin-bottom: 1rem;
}
.contentcentre .profilewrap .profilebanner img {
	width: 100%;
	height: auto;
}
.contentcentre .profilewrap .profilebanner.maxheight img {
	height: 100%;
	width: auto;
	max-height: 500px;
	margin: 0 auto;
}
.contentcentre .profilewrap .profilebanner.fullsize img {
	height: auto;
	max-width: 100%;
	width: auto;
	margin: 0 auto;
}
/*********************************************************************************/
/* Content Image Handling                                                        */
/*********************************************************************************/
.content .imgwrapleft,
.content .imgwrapright {
	float: left;
	max-width: 50%;
	margin: 0 5% 1rem 0;
}
.content .imgwrapright {
	float: right;
	margin: 0 0 1rem 2%;
}
.content .imgwrapleft img,
.content .imgwrapright img {
	float: left;
	width: 100%;
	height: auto;
	border: solid 1px #363636;
	margin: 0 0 .5em 0;
}
.content .imgwrapleft p,
.content .imgwrapright p,
.content .imgwrapcentre p {
	text-align: center;
	font-size: .75em;
}
.content .imgleft,
.content .imgright {
	float: left;
	max-width: 50%;
	height: auto;
	margin: 0 2% 1rem 0;
	border: solid 1px #363636;
}
.content .imgright {
	float: right;
	margin: 0 0 1rem 2%;
}
.content .imagewrap {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
.content .imagewrapcentre {
	float: none;
	display: block;
	text-align: center;
	width: 100%;
	margin: 1rem 0;
}
.content .imagewrap img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	/* ---- Quick fix to prevent large images */
	max-height: 500px;
	width: auto;
	/* ---- */
}
.content .imagewrap img.imageborder {
	border: solid 1px #363636;
}
.content .imagewrap p {
	text-align: center;
	font-size: .875em;
}
.content .width33 {
	max-width: 33%;
}
.content .profileimage {
	float: left;
	width: 25%;
	margin: 0 5% 1rem 0;
}
.content .profileimage img {
	border-radius: 50%;
	width: 100%;
	height: auto;
}
/*********************************************************************************/
/* Gallery                                                                       */
/*********************************************************************************/
.gallerythumbholder {
	float: left;
	width: 100%;
}
.content .contentcentre .gallerythumbwrapper {
	float: left;
	width: 98%;
	background: #F9F7F4;
	padding: 1rem 1%;
	margin: 1rem 0;
}
.content .contentcentre .gallerythumbwrapper .gallerythumbs {
	float: left;
	width: 100%;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.content .contentcentre .gallerythumbwrapper .gallerythumbs li {
	list-style-type: none;
	flex-basis: 23%;
	margin: .5em 1%;
}
.content .contentcentre .gallerythumbwrapper .gallerythumbs li img {
	width: 100%;
	height: auto;
	border: 1px #666 solid;
}
.content .contentcentre .gallerythumbwrapper .gallerythumbs li p {
	font-size: .875em;
	margin: .5em 0;
	line-height: 125%;
}
/***************************************/
/* Content List                        */
/***************************************/
.content ul.contentlist,
.content ol.contentolist,
.contentcentre #cmscontent ul {
	float: left;
	width: 92%;
	margin: .5em 4% 1rem 4%;
	list-style-position: inside;
}
.content ul.contentlist li,
.content ol.contentolist li,
.contentcentre #cmscontent ul li {
	margin: 0 0 1rem 0;
	padding-left: 1rem;
	text-indent: -1rem;
	font-size: 1.125rem;
	color: #363636;
	line-height: 145%;
	width: 100%;
	font-weight: 400;
}
.content ul.contentlist li,
.contentcentre #cmscontent ul li {
	list-style-type: none;
}
.content ul.contentlist li:before,
.contentcentre #cmscontent ul li:before {
	content: "\25A0";
	font-family:"Arial Black";
	color: #397EAD;
	padding-right: .5em;
}
.content ul.contentlist li a,
.contentcentre #cmscontent ul li a {
	color: #204660;
}
.content ul.contentlist li a:hover,
.contentcentre #cmscontent ul li a:hover {
	text-decoration: underline;
	color: #204660;
}
/***************************************/
/* Read More List                      */
/***************************************/
.content ul.readmore {
	float: left;
	width: 98%;
	margin: .5em 0 1rem 2%;
	list-style-position: inside;
}
.content ul.readmore li {
	font-size: 1.125rem;
	color: #363636;
	margin: 0 0 .5em 1rem;
	font-weight: 400;
	list-style-type: none;
}
/* Triangle bullet */
.content ul.readmore li:before {
	content: "";
	border-color: transparent #111;
	border-style: solid;
	border-width: 0.35em 0 0.35em 0.45em;
	display: block;
	height: 0;
	width: 0;
	left: -1rem;
	top: 0.9em;
	position: relative;
}
.content ul.readmore h3 {
	font-size: 1.25rem;
	color: #204660;
	font-weight: 400;
	margin: 0 0 .5em 0;
	border: none;
}
.content p a,
.content ul.readmore li a {
	color: #204660;
}
.content p a:hover,
.content ul.readmore li a:hover {
	text-decoration: underline;
	color: #397EAD;
}
.content p a.stronglink {
	font-weight: 700;
}
/***************************************/
/* Half Width Blocks                   */
/***************************************/
/*.contentrow {
	float: left;
	width: 100%;
	margin: 0 0 2rem 0;
}
.content .contentrow .halfwidth,
.content .contentrow .halfwidthright {
	position: relative;
	width: 47%;
}
.content .halfwidth {
	margin: 0 1% 0 0;
}
.content .halfwidthright {
	margin: 0 0 0 1%;
}
.contentsection .wrap50 {
	float: left;
	width: 50%;
}
.contentsection .marginleft {
	margin: 0 0 0 2%;
	width: 48%;
}
.content .contentrow .halfwidth .marginbot,
.content .contentrow .halfwidthright .marginbot {
	margin-bottom: 1rem;
}
.flexwrapper .wrap50,
.flexwrapper .wrap50full {
	float: none;
	position: relative;
	width: 49%;
	margin: 0 .5%;
}
.flexwrapper .wrap50full {
	width: 99%;
}
.content .flexrow .halfwidth {
	float: left;
	position: relative;
	width: 47%;
	margin: 0 .5%;
}
*/
.contentrow {
	float: left;
	width: 100%;
	margin: 0 0 2rem 0;
}
.content .contentrow .halfwidth,
.content .contentrow .thirdwidth,
.content .contentrow .halfwidthright,
.content .contentrow .thirdwidthright {
	position: relative;
	width: 47%;
	display: flex;
	flex-flow: column;
}
.content .contentrow .thirdwidth,
.content .contentrow .thirdwidthright {
	width: 31% !important;
}
.content .halfwidth {
	margin: 0;
}
.content .halfwidth h2 {
	margin: 0;
}
.content .halfwidth h2 a.black {
	color: #363636;
}
.contentsection .wrap50 {
	float: left;
	width: 50%;
}
.contentsection .marginleft {
	margin: 0 0 0 2%;
	width: 48%;
}
.content .contentrow .halfwidth .marginbot,
.content .contentrow .halfwidthright .marginbot {
	margin-bottom: 1rem;
}
.flexwrapper .wrap50,
.flexwrapper .wrap50full {
	float: none;
	position: relative;
	width: 49%;
	margin: 0 .5%;
}
.flexwrapper .wrap50full {
	width: 99%;
}
.content .flexrow .halfwidth {
	float: left;
	position: relative;
	width: 48%;
	margin: 0;
	padding: 0;
}
.sectionwrap.sectionpad {
	width: 96%;
	padding: 1rem 2%;
}
.sectionwrap.sectiongrow {
	flex-grow: 1;
}
.sectionwrap .productpromo {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
.sectionwrap .productpromo img {
	width: 22%;
	height: auto;
	float: left;
	margin: .5rem 1.5%;
}
/***************************************/
/* Third Width Blocks                  */
/***************************************/
.contentflex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2rem 0;
	float: left;
	position: relative;
}
.contentflex .thirdwidth {
	width: 31%;
	display: flex;
	flex-direction: column;
	position: relative;
	background: #CECEBE;
}
.contentflex .quarterwidth {
	width: 23%;
	display: flex;
	flex-direction: column;
	position: relative;
	background: #CECEBE;
}
.contentsection .title {
	float: left;
	width: 100%;
	padding: .75rem 0;
}
.contentsection .title h2 {
	font-size: 1.75rem;
	font-weight: 700;
	color: #363636;
	margin: 0;
}
.contentsection .title a {
	color: #363636;
}
.contentsection .image {
	float: left;
	position: relative;
	z-index: 98;
	width: 100%;
	max-height: 400px;
	overflow: hidden;
}
.contentsection .image img {
	width: 100%;
	height: auto;
}
.contentsection .image.imagesquare {
	text-align: center;
	display: block;
	float: none;
	background: #BDBDA8;
}
.contentsection .image.imagesquare a {
	width: 100%;
	float: left;
	margin: 0 auto;
}
.contentsection .image.imagesquare img {
	width: auto;
	height: 100%;
	max-height: 320px;
	margin: 0 auto;
	display: inline-block;
	float: none;
}
.contentsection.thirdwidth,
.contentsection.quarterwidth {
	margin: 0;
	padding: 0;
}
.contentsection.quarterwidth .image {
	width: 80%;
	padding: 0 10%;
	background: #A7A78B;
}
.contentsection.quarterwidth .image img {
	width: 100%;
	height: auto;
	max-height: none;
}
.contentsection .contentwrap {
	position: relative;
	float: left;
	width: 96%;
	padding: 1rem 2%;
}
.contentsection .contentwrap h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #363636;
}
.contentsection .contentwrap p.readmore {
	font-weight: 700;
	color: #204660;
}
.contentsection .contentwrap p.readmore i {
	margin: 0 1rem 0 0;
}
/***************************************/
/* Wide Blocks                         */
/***************************************/
.contentwide {
	float: left;
	width: 100%;
	padding: .5em 0;
	margin: 0 0 2rem 0;
}
.contentwide.spacetop {
	margin-top: 3rem;
}
.contentwide.padboth {
	padding: 2rem 0;
}
.contentwide .wrapperwide {
	width: 100%;
	margin: 0 auto;
	max-width: 1800px;
}
.contentwide .flexwrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contentwide .flexwrapper::after {
	content: "";
	flex: auto;
}
.contentwide .flexwrapper.flexstart {
	justify-content: flex-start;
}
.contentwide .content {
	width: 100%;
	margin: 0%;
}
.content h2 {
	font-weight: 700;
	color: #363636;
	font-size: 1.5rem;
}
.content h2.float {
	float: left;
	width: 100%;
}
.contentwide .contentblock {
	float: left;
	width: 21%;
	margin: 1rem 1%;
	padding: .5em 1%;
}
.flexwrapper .contentblock {
	float: none;
	position: relative;
	padding: 1rem 1%;
	margin: 1rem 1%;
}
.flexwrapper .contentblock.nospace {
	padding: 1rem 0;
	margin: 1rem 0;
}
.contentwide .contentblock .content {
	float: left;
	width: 100%;
	margin: 0 0 1rem 0;
}
.contentwide .contentblock .content h3 {
	font-weight: 700;
	font-size: 1.125rem;
	border-bottom: solid 2px #363636;
	margin-bottom: 1rem;
	color: #363636;
}
.contentwide .contentblock .content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 145%;
	margin: 0;
}
.contentwide .contentblock .content .image {
	float: left;
	width: 100%;
	margin: .5rem 0;
}
.contentwide .contentblock .content .image img {
	width: 100%;
	height: auto;
}
.contentwide .contentblock .readmore {
	/*
	position: absolute;
	bottom: 0;
	*/
	padding: 1rem 0;
}
.contentwide .contentblock .readmore p {
	font-weight: 400;
	font-size: 1rem;
	padding: 1rem 0;
}
.contentwide .contentblock .readmore p a:hover {
	text-decoration: underline;
}
/***************************************/
/* Table                               */
/***************************************/
.contenttablewrap {
	float: left;
	width: 100%;
}
.contenttablewrap.scroll {
	overflow-x: scroll;
}
.contenttable {
	float: left;
	margin: 1rem 0;
	border-spacing: 2px;
	border-collapse: separate;
}
.contenttablefull {
	width: 100%;
}
.contenttable .row1,
.collection table .row1 {
	background: #ebe9e0;
}
.contenttable .row2,
.collection table .row2 {
	background: #f5f4f0;
}
.contenttable th,
.contenttable td {
	padding: .25rem;
	border-spacing: 0;
	color: #5c563d;
	text-align: left;
}
.contenttablerowborder th,
.contenttablerowborder td,
.contenttdborder {
	border-bottom: solid 1px #CCCCCC;
}
.contenttablemed th,
.contenttablemed td {
	font-size: .875em;
}
.contenttablesml th,
.contenttablesml td {
	font-size: .75em;
}
.contenttablewrap {
	float: left;
	width: 100%;
}
.contenttable.scroll {
	overflow-x: scroll;
}
.contenttable.fixedwidth td {
	font-family: Courier, monospace;
}
/*********************************************************************************/
/* Content Collections                                                           */
/*********************************************************************************/
.homepromo,
.contentpromo {
	float: left;
	width: 98%;
	margin: 1rem 0;
	padding: .5em 1%;
	background: #204660;
}

.homepromo h2, .contentpromo h2 {
	color: #FFFFFF;
	border: 0;
	font-size: 2rem;
	font-weight: 700;
}
.homepromo p, .contentpromo p {
	color: #FFFFFF;
	font-size: 1.25rem;
}
.homepromo p a, .contentpromo p a,
.homepromo p a:hover, .contentpromo p a:hover {
	color: #FFFFFF;
}
.homepromo.textsmall {
	font-size: 90%;
}
.contentpromo .videowrap {
	float: left;
	width: 70%;
	margin: 0 15%;
}
.contentpromo .videowrap video {
	width: 100%;
	height: auto;
}
/*********************************************************************************/
/* Content Collections                                                           */
/*********************************************************************************/
.collection {
	float: left;
	width: 98%;
	padding: .5em 1%;
	margin: 1rem 0 2rem 0;
	background: #F4F4F1;
}
.collection .text {
	float: left;
	width: 74%;
	margin: 0 0 0 4%;
}
.collection .text.noimage {
	float: left;
	width: 74%;
	margin: 0 0 0 24%;
}
.product .text {
	float: left;
	width: 80%;
	margin: 0 2%;
}
.collection .textfull {
	float: left;
	width: 100%;
	margin: 0;
}
.collection .textbreak {
	margin: .5em 0;
}
.collection .text h2 {
	font-size: 1.25rem;
	border-bottom: solid 2px #333333;
}
.collection .text h2 a {
	color: #B88C01;
}
.collection img {
	float: left;
	width: 20%;
	height: auto;
}
.collection.product img {
	float: left;
	width: 20%;
	height: auto;
	border-radius: 0;
}
.collection.grayscale img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
.collection .image {
	float: left;
	width: 10%;
}
.collection .image img {
	width: 100%;
	height: auto;
}
.collection .image.imagesquare {
	float: left;
	width: 20%;
	overflow: hidden;
}
.collection .image.imagesquare img {
	width: 100%;
	height: auto;
	border-radius: inherit;
}
.collection.imagesmall .image {
	width: 10%;
}
.collection.imagesmall .text {
	float: left;
	width: 80%;
	margin: 0 2%;
}
.collection .image.grayscale img {
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}
.collection table {
	float: left;
	width: 100%;
	margin: 1rem 0;
}
.collection table th,
.collection table td {
	text-align: left;
	font-size: .875em;
	padding: .25em 1%;
}
.collection table .small {
	font-size: .75em;
}

/*********************************************************************************/
/* Map and Times                                                                 */
/*********************************************************************************/
#mapwrapper {
	float: left;
	width: 98%;
	margin: .5%;
	min-height: 700px;
	border: 1px solid #000;
}
.googleMapwrapper {
	margin: 2rem 0;
	float: left;
	width: 100%;
	height: 50%;
	min-height: 310px;
}
#googleMap {
	float: left;
	width: 98%;
	margin: 0 1%;
	height: 50%;
	min-height: 310px;
	border: solid .0625em #999;
}
.googleMapwrapper p {
	font-size: .75em;
	margin: .5em 1% 0 1%;
}
/*********************************************************************************/
/* Content News and Events                                                       */
/*********************************************************************************/
.content .articlewrapper {
	float: left;
	width: 100%;
	margin: 0 0 1rem 0;
}
.content .articlewrapper .articlethumb {
	float: left;
	width: 20%;
	margin-right: 2%;
	border: solid 1px #CCCCCC;
}
.content .articlewrapper .articlethumb img {
	width: 100%;
	height: auto;
	margin: 0;
}
.content .articlewrapper .articleindextext {
	float: left;
	width: 75%;
}
.content .articlewrapper .articleindextext h3 {
	font-size: 1.25rem;
	margin: 0;
}
.content .articlewrapper .articleindextext p {
	font-size: 1rem;
	margin: 0;
}
.content .articlewrapper .articleindextext p.strong {
	font-weight: 700;
}
.content .articlewrapper .articleindextext p.date {
	font-size: 1rem;
	margin: 0 0 1rem 0;
}
.content .articlewrapper .articleindextext p.small {
	font-size: .875em;
}
.content .articlewrapper .articleindextext p.margin {
	margin: .5em 0;
}
.content .pager {
	float: left;
	list-style-type: none;
	margin: 2rem 0;
}
.content .pager li {
	float: left;
	margin: 1rem 1rem 1rem 0;
	font-weight: bold;
}
.content .pager li a {
	background: #ECECEC;
	color: #363636;
	padding: .5em 1rem;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.content .pager li a.selected,
.content .pager li a:hover {
	background: #204660;
	color: #FFFFFF;
}
.content .commentswrap {
	float: left;
	width: 98%;
	padding: 1rem 1%;
	background: #f9f9f9;
	margin: 1rem 0;
}
.content .commentswrap .commentgroup {
	float: left;
	width: 100%;
	margin: 0 0 1rem 0;
}
.content .commentswrap .commentitem {
	float: left;
	width: 98%;
	padding: 1rem 1%;
	background: #FFFFFF;
	margin: 1rem 0;
}
.content .commentswrap .commentitem .comment p,
.content .commentswrap .commentitem .commentby p {
	font-size: 1rem;
	line-height: 150%;
}
.content .commentswrap .commentitem .commentby p {
	font-weight: 700;
	font-style: italic;
	margin: .5rem 0 0 0;
}
/*********************************************************************************/
/* Testimonial                                                                   */
/*********************************************************************************/
.content.testimonial {
	padding: 1rem 1%;
	width: 98%;
}
.content.testimonial .contentwrap {
	padding: 1rem 5%;
	width: 90%;
}
.content.testimonial .contentwrap .quotelarge {
	float: left;
	width: 19%;
	margin: 0 1% 0 0;
}
.content.testimonial .contentwrap .quotelarge i {
	font-size: 5rem;
	color: #397EAD;
}
.content.testimonial .contentwrap .text {
	float: left;
	width: 80%;
}
.content.testimonial .contentwrap .text i {
	margin: 0 1rem 0 0;
	color: #397EAD;
}
.content.testimonial .contentwrap .text h3,
.content.testimonial .contentwrap .text p {
	font-family: 'Lora', serif;
}
.content.testimonial .contentwrap .text p.author {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: .875rem;
}
/*********************************************************************************/
/* Content Form                                                                  */
/*********************************************************************************/
.contentform .formlayout {
	float: left;
	width: 100%;
}
.contentform .formlayout li {
	width: 100%;
	float: left;
	margin: 1rem 0;
	list-style-type: none;
	font-size: 1.125rem;
	font-weight: 400;
}
.contentform .formlayout li.nomargin {
	margin: .25rem 0;
}
.contentform .formlayout li.halfwidth {
	width: 50%;
}
.contentform .formobject,
.contentform .formfileobject,
.contentform textarea,
.contentform #mce-EMAIL,
.contentform #mce-FNAME,
.contentform #mce-LNAME {
	width: 98%;
	border: solid 1px #E6E6E6;
	font-size: 1.125rem;
	padding: .5em 1%;
	background: #F9F9F9;
	font-family: 'Lato', sans-serif;
}
.contentform #mce-EMAIL,
.contentform #mce-FNAME,
.contentform #mce-LNAME {
	margin: .5rem 0;
}
.contentform .formautowidth {
	width: auto;
}
.contentform .formfileobject {
	color: #363636;
	border: 0;
	-webkit-appearance: none;
	-webkit-border-radius:0;
	border-radius:0;
}
.contentform textarea {
	resize: none; /* disables resizability */
}
.contentform select {
	padding: .5rem 1%;
	color: #363636;
}
.contentform .formbutton,
.contentform #mc-embedded-subscribe {
	display: inline-block;
	background: #204660;
	text-decoration: none;
	color: #FFFFFF;
	padding: .5rem 2rem;
	margin: 1rem 0;
	border: 0;
	font-size: 1.125rem;
	-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.nomargin,
.contentform #mc-embedded-subscribe.nomargin {
	margin: 0 0 1rem 0;
}
.contentform .formbutton:hover,
.contentform #mc-embedded-subscribe:hover {
	color: #FFFFFF;
	background: #397EAD;
}
.contentform .successmsg p {
	color: #A69E8F;
	font-weight: bold;
}
.contentform .errormsg p {
	color: #CC0000;
}
.contentform .indicates-required {
	margin-bottom: 2rem;
}
.contentform .mc-field-group.input-group ul li {
	list-style-type: none;
	margin: .5rem 0;
}
.contentform .mc-field-group.input-group ul li input {
	margin-right: 1rem;
}
.contactblock .contentform .formlayout li {
	margin: .5rem 0;
}
.contentform .formlayout label {
	font-size: 1.125rem;
	font-weight: 400;
}
.contentform .formobject.formcheckbox {
	width: auto;
	margin: .5rem;
}
/*********************************************************************************/
/* Content Submenu                                                               */
/*********************************************************************************/
#submenuwrap {
	float: left;
	width: 27%;
	margin: 0 3% 2rem 0;
	text-align: left;
}
.contentcentre {
	float: left;
	width: 70%;
	padding: 0;
	margin: 1rem 15%;
	background: #FFFFFF;
}
#submenuwrap #submenu {
	background: #CECEBF;
	width: 90%;
	padding: 1rem 5%;
}
#submenuwrap #submenu ul {
	margin-top: 1rem;
	list-style: none;
}
#submenuwrap #submenu ul li {
	margin: 1rem 0;
	padding: 0;
	font-weight: 700;
	font-size: 1.125rem;
}
#submenuwrap #submenu ul li a {
	color: #686859;
}
#submenuwrap #submenu ul li a:hover,
#submenuwrap #submenu ul li a.selected {
	color: #535346;
}
#submenuwrap .profileimg {
	background: #FFFFFF;
	width: 80%;
	padding: 1rem 10%;
}
#submenuwrap .profileimg img {
	width: 100%;
	height: auto;
}
#submenuwrap .profileimg.grayscale img {
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}
#submenuwrap .subheadblock {
	float: left;
	width: 90%;
	padding: 1rem 5%;
	background: #363636;
}
#submenuwrap .subheadblock p {
	font-size: 1.125rem;
	line-height: 100%;
	margin: 0;
	font-weight: 700;
}
#submenuwrap .subheadblock p,
#submenuwrap .subheadblock p a {
	color: #397EAD;
}
#submenuwrap .subheadblock p a:hover {
	color: #FFFFFF;
	text-decoration: none;
}
/*********************************************************************************/
/* Colour Variants                                                               */
/*********************************************************************************/
.bgnormal {
	background: #397EAD;
}
.bgdark1 {
	background: #204660;
}
.bgdark2 {
	background: #998640;
}
.bgpalegrey {
	background: #F9F9F9;
}
.bgwhite {
	background: #FFFFFF;
}
.textwhite,
.textwhite a {
	color: #FFFFFF;
}
.revcol h2 {
	border-bottom: solid 3px #FFFFFF;
}
.content .revcol ul.readmore li:before {
	border-color: transparent #FFF;
}
.content .revcol .contentform .formbutton {
	background: #EEEADE;
	color: #363636;
}
.content .revcol .contentform .formbutton:hover {
	background: #F6F4EE;
}
.contentcentre h2, .contentcentre h3, .contentcentre h4 {
	color: #204660;
}
.contentcentre h2.nocolour, .contentcentre h3.nocolour, .contentcentre h4.nocolour {
	color: #363636;
}
/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
#footer {
	float: left;
	width: 100%;
	padding-top: 2rem;
	margin-top: 2rem;
	border-top: solid 1px #204660;
}
#footermenu {
	float: left;
	margin: 0 1% 2rem 1%;
	width: 98%;
}
#footermenu ul {
	text-align: center;
	padding:0;
	z-index: 999;
}
#footermenu ul li {
	display: inline-block;
	list-style:none;
	font-size: .875em;
}
#footermenu ul li a {
	text-decoration: none;
	color: #999999;
	display: block;
	padding: .5em 1.5em;
	font-weight: 400;
}
#footermenu ul li a:hover {
	color: #363636;
	text-decoration: underline;
}
#footer #address,
#footer #social,
#footer #logos,
#footer #footerlogo {
	float: left;
	width: 100%;
	margin: 0;
	text-align: center;
}
#footer #footerlogo {
	height: 150px;
	margin: 0 auto;
	background: url('../img/assets/footerlogo.png') center no-repeat;
}
#footer #social {
	margin: 1rem 0;
}
#footer #social img,
#footer #logos img {
	display: inline-block;
	margin: .5rem;
	max-height: 75px;
	width: auto;
}
#footer #social i {
	font-size: 3rem;
	margin: .5rem;
	color: #204660;
}
#footer #social a:hover i {
	color: #397EAD;
}
#footer #logowrapper #logos img {
	margin: 0 .25em;
	display: inline-block;
	width: auto;
	height: 100%;
	max-height: 50px;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper a {
	color: #999999;
}
#footer #footnotewrapper p {
	color: #999999;
	text-align: center;
	font-size: .875rem;
	line-height: 145%;
	font-weight: 400;
}
#footer #creditswrapper,
#footer #footnotewrapper {
	float: left;
	width: 98%;
	margin: 1rem 1%;
}
#footer #creditswrapper #copyright,
#footer #creditswrapper #webcredit,
#footer #footnotewrapper #vat {
	font-size: .875rem;
	float: left;
}
#footer #footnotewrapper #vat {
	width: 100%;
}
#footer #creditswrapper #copyright {
	width: 100%;
	text-align: center;
}
#footer #creditswrapper #webcredit {
	width: 100%;
	font-size: .75rem;
	margin: 1rem 0;
	text-align: center;
}
#footer #creditswrapper #copyright a:hover {
	text-decoration: underline;
}
#footer #creditswrapper #webcredit #beachshore:hover {
	color: #0077B3;
}
#footer #creditswrapper #webcredit #beachshore #beachshorebold {
	font-weight: 700;
}
/*********************************************************************************/
/* Div Table                                                                     */
/*********************************************************************************/
.tablecontainer {
	display: table;
}
.tablecontainer .row  {
	display: table-row;
}
.tablecontainer .row div {
	display: table-cell;
}
.tablecontainer .row div.fullwidth {
	width: 100%;
	float: left;
}
