@charset "UTF-8";
/* CSS Document */
/*********************************************************************************/
/* Below 1900px                                                                   */
/*********************************************************************************/
@media (max-width: 1900px) { 

	.wrapper {
		max-width: 1500px;
	}
	.contentwide .wrapperwide {
		max-width: 1500px;
	}
	#menuwrapper {
		padding-top: 0;
		width: 100%;
		max-width: 100%;
	}

}

/*********************************************************************************/
/* Below 1600px                                                                   */
/*********************************************************************************/
@media (max-width: 1600px) { 

	.wrapper {
		max-width: 1200px;
	}
	.contentwide .wrapperwide {
		max-width: 1200px;
	}
	.slider .captionwrapper .caption,
	#contentbanner .captionwrapper .caption {
		width: 40%;
	}
	.slider .captionwrapper .caption h1,
	.slider .captionwrapper .caption h2,
	#contentbanner .captionwrapper .caption h1,
	#contentbanner .captionwrapper .caption h2,
	.slider .captionwrapper .caption h1 .subtitle,
	.slider .captionwrapper .caption h2 .subtitle,
	#contentbanner .captionwrapper .caption h1 .subtitle,
	#contentbanner .captionwrapper .caption h2 .subtitle {
		font-size: 1.75rem;
	}
	.sectionwrap .productpromo .product .image img {
		height: 175px;
	}
	#submenuwrap {
		width: 32%;
	}
	.titlewrap h1, 
	.titlewrap h2,
	.titlewrap.home h1, 
	.titlewrap.home h2 {
		font-size: 1.5rem;
	}
	.contentcentre {
		width: 63%;
	}
	.promosplit.alt1 .textwrap {
		width: 21%;
		padding: 1rem 2%;
	}
	.promosplit .textwrap .text h2 {
		font-size: 1.5rem;
	}
	.promosplit .textwrap .text p {
		font-size: 1.125rem;
	}
	.projectpromo .project .text h2 {
		font-size: 1.25rem;
	}
	.servicepromo {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.servicepromo.reverse {
		flex-direction: column-reverse;
	}
	.servicepromo .image {
		width: 60%;
		margin: 1rem 20%;
	}
	.servicepromo .textwrap {
		width: 60%;
		padding: 1rem 20%;
	}

}

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

	.wrapper {
		max-width: 1000px;
	}
	.contentwide .wrapperwide {
		max-width: 1000px;
	}
	#header #logo {
		width: 100%;
		height: 90px;
	}
	
	#header #menu ul li a, 
	#credentials ul li a {
		font-size: 1	rem;
		padding: 1rem .5rem;
	}
	.contentform .formlayout li.halfwidth {
		width: 100%;
	}
	#credentials ul li .freepromo {
		font-size: 1rem;
	}
	.titlewrap h1, 
	.titlewrap h2,
	.titlewrap.home h1, 
	.titlewrap.home h2 {
		font-size: 1.25rem;
	}
	.newspromo .newsitem {
		width: 100%;
	}
	.servicepromo {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.servicepromo.reverse {
		flex-direction: column-reverse;
	}
	.servicepromo .image {
		width: 80%;
		margin: 1rem 10%;
	}
	.servicepromo .textwrap {
		width: 80%;
		padding: 1rem 10%;
	}
}

/*********************************************************************************/
/* Below 1000px                                                                   */
/*********************************************************************************/
@media (max-width: 1000px) { /* 1000px */

	.wrapper {
		max-width: 960px;
	}
	.contentwide .wrapperwide {
		max-width: 960px;
	}
	.contentcentre .profilewrap .profilebanner.maxheight img {
		max-height: 400px;
	}
	.promosplit .image {
		width: 45%;
	}
	.promosplit .textwrap {
		width: 45%;
		padding: 1rem 4%
	}
	
}

/*********************************************************************************/
/* Below 960px                                                                   */
/*********************************************************************************/
@media (max-width: 960px) { /* 960px */

	.wrapper {
		max-width: 840px;
	}
	.contentwide .wrapperwide {
		max-width: 840px;
	}
	.contentcentre.noside {
		margin: 0 1% 2rem 1%;
	}
	.contentform.narrow {
		width: 98%;
	}
	.contentcentre	{
		width: 98%;
		margin: 0 1% 1rem 1%;
	}
	#header.homeheader {
		margin: 0;
	}
	#header #logo {
		float: none;
		margin: 1rem auto;
	}
	.slider .captionwrapper .caption h1,
	.slider .captionwrapper .caption h2,
	#contentbanner .captionwrapper .caption h1,
	#contentbanner .captionwrapper .caption h2,
	.slider .captionwrapper .caption h1 .subtitle,
	.slider .captionwrapper .caption h2 .subtitle,
	#contentbanner .captionwrapper .caption h1 .subtitle,
	#contentbanner .captionwrapper .caption h2 .subtitle {
		font-size: 1.5rem;
	}
	#topnav #left {
	    display: none;
	}
	#topnav #right {
	    text-align: center;
	}
	#topnav #credentials {
	float: none;
	display: inline-block;
	margin: 5px 0 0 0;
	}
	
	#header {
		position: relative;
	}
	#header #logo {
		margin-bottom: 0;
	}
	#header #menu {
		display: none;
	}
	.slicknav_menu {
		display:block;
		text-align: center;
	}

	#bannerwrap {
		display: block;
		float: left;
	}
	#bannerouter {
		float: left;
		width: 100%;
		margin: 0;
	}
	#bannerwrap.homebanner #banner {
	    width: 100%;
	    float: left;
	}
	#bannerwrap.homebanner #bannerpromo {
		float: left;
		width: 100%;
		margin: 0;
	}
	.slider .captionwrapper, 
	#contentbanner .captionwrapper {
		position: relative;
		max-width: none;
		width: 100%;
		float: left;
		margin: 0;
	}
	.slider .captionwrapper .caption, 
	#contentbanner .captionwrapper .caption {
		position: relative;
		width: 90%;
		float: left;
		margin: 0;
		padding: 1rem 5%;
		background: #244457;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
	}
	.titlewrap .subtext {
		display: inline;
	}
	.promosplit .textwrap .text h2 {
		font-size: 1.125rem;
	}
	.promosplit .textwrap .text p {
		font-size: 1rem;
	}
	.promosplit .textwrap .text p.readmore {
		text-decoration: uppercase;
		font-size: .75rem;
		margin-top: .75rem;
	}
	
	#bannerwrap.homebanner #bannerpromo .textblock p {
		font-size: 2rem;
	}
	
	.content .flexrow .halfwidth,
	.contentflex .thirdwidth,
	.contentcentre .block50,
	.contentcentre .block50.pad {
	    width: 98%;
	    margin-bottom: 1rem;
	}

	.flexwrapper .contentblock {
		width: 98%;
	}
	
	.contentheader h1 {
	    font-size: 2rem;
	}
	
	#submenuwrap {
	    width: 100%;
	    margin: 0;
	}
	#submenuwrap .profileimg {
	    width: 60%;
	    padding: 1rem 20%;
	}
	#submenuwrap #submenu ul li {
	    font-size: 1rem;
	}
	.contentcentre {
	    width: 98%;
	}
	.content .contentcentre .subgalleryanchor {
		top: -50px;
	}

	
}

/*********************************************************************************/
/* Below 840px                                                                   */
/*********************************************************************************/
@media (max-width: 840px) { /* 840px */

	.wrapper {
		max-width: 640px;
	}
	.contentwide .wrapperwide {
		max-width: 640px;
	}
	#header #logo {
		width: 100%;
		height: 80px;
	}
	#bannerouter #bannerwrap #banner #contentbanner {
		overflow: hidden;
	}
	#bannerouter #bannerwrap #banner #contentbanner img {
		width: auto;
		height: 300px;
		float: right;
	}
	.contentcentre .profilewrap .profilebanner.maxheight img {
		max-height: 300px;
	}
	.promosplit {
		flex-wrap: wrap;
	}
	.promosplit .image {
		width: 100%;
	}
	.promosplit .textwrap {
		width: 90%;
		padding: 1rem 5%
	}
	.projectpromo {
		flex-wrap: wrap;
	}
	.projectpromo .project {
		width: 100%;
		margin-bottom: 1rem;
	}
	.contentwide .contentblock.newsitem {
		flex-wrap: wrap;
	}
	.contentwide .contentblock.newsitem .image {
		width: 100%;
	}
	.contentwide .contentblock.newsitem .content {
		width: 96%;
		padding: 1rem 2%;
	}
	.flexwrapper .contentblock.newsitem {
		padding: 0;
	}
	.contentwide .contentblock .readmore {
		position: relative;
		float: left;
	}
	.servicepromo .image {
		width: 90%;
		margin: 1rem 5%;
	}
	.servicepromo .textwrap {
		width: 90%;
		padding: 1rem 5%;
	}

	
}

/*********************************************************************************/
/* Below 640px                                                                   */
/*********************************************************************************/
@media (max-width: 640px) { /* 640px */

	.wrapper {
		max-width: 480px;
	}
	.contentwide .wrapperwide {
		max-width: 480px;
	}
	.newspromo .content.contenttitle, 
	.newspromo .content ul.readmore {
		width: 96%;
		margin: 0 2%;
	}
	.slider .captionwrapper .caption h1,
	.slider .captionwrapper .caption h2,
	#contentbanner .captionwrapper .caption h1,
	#contentbanner .captionwrapper .caption h2,
	.slider .captionwrapper .caption h1 .subtitle,
	.slider .captionwrapper .caption h2 .subtitle,
	#contentbanner .captionwrapper .caption h1 .subtitle,
	#contentbanner .captionwrapper .caption h2 .subtitle {
		font-size: 1.25rem;
	}
	#credentials ul li .freepromo {
		width: 98%;
		padding: 1rem 1%;
		margin: 0;
	}
	#topnav,
	#topnav #right {
		height: auto;
	}
	#header #logo {
		width: 300px;
		height: 77px;
	}
	.content .articlewrapper .articlethumb {
		width: 98%;
		margin: 1rem auto;
	}
	.content .articlewrapper .articleindextext {
		width: 100%;
	}
	.content .contentcentre .gallerythumbwrapper .gallerythumbs li {
		flex-basis: 47%;
	}

	
}

/*********************************************************************************/
/* Below 480px                                                                   */
/*********************************************************************************/
@media (max-width: 480px) { /* 480px */

	.wrapper {
		max-width: 360px;
	}
	.contentwide .wrapperwide {
		max-width: 360px;
	}
	#credentials ul li.hideresp {
		display: none;
	}
	#credentials ul li .freepromo {
		float: left;
		width: 100%;
		padding: 1rem auto;
		text-align: center;
	}
	.content .contentcentre .gallerythumbwrapper .gallerythumbs li {
		flex-basis: 98%;
	}

	
}