/*
Theme Name: Tessellate
Theme URI: http://www.tessellate.co.uk
Author: Tessellate Design Studio
Version: 1.0
*/
/* Global */
html{
	background-color: #fff;
}
body{
	font-family: "museo", arial, sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #6a747b;
	font-size: 16px;
}

ol {
    padding: 0 0 0 18px;
}
ul {
    padding: 0 0 0 18px;
    list-style: circle;
}
.fullwidthwrapper {
	width: 100%;
	position: relative;
	float: left;
	overflow: hidden;
}
.centrewrapper {
	width: 100%;
	max-width: 1400px;
	padding: 0 40px;
	margin: 0 auto;
	position: relative;
}
.fullwidthimagewrapper .centrewrapper{
	padding: 0;
	max-width: 2000px;
}
.slideshow .centrewrapper {
	max-width: 2000px;
}
.image100 {
	width: 100%;
	height: auto;
}
.nopadding {
	padding: 0;
}
.rowspacing80 {
	padding: 80px 0;
	position: relative;
}
.rowspacing60 {
	padding: 60px 0;
	position: relative;
}
.rowspacing40 {
	padding: 40px 0;
	position: relative;
}
.rowspacing-top {
	padding-top: 40px;
	position: relative;
}
.rowspacing-bottom {
	padding-bottom: 40px;
	position: relative;
}
.rowspacing-bottom-full {
	padding-bottom: 40px;
	position: relative;
}
.inline-block {
	float: none!important;
	display: inline-block;
}
.vertical-middle {
	vertical-align: middle;
}
@media only screen and (min-width : 768px) and (max-width : 992px) {

	.centrewrapper {
		padding: 0 30px;
	}
	.centrewrapper.nopadding {
		padding: 0;
	}

}
@media only screen and (max-width : 767px) {

	.centrewrapper {
		padding: 0 20px;
	}
	.centrewrapper.nopadding {
		padding: 0;
	}

}
/* ----------------------------- Bootstrap Tweaks ----------------------------- */
.row {
    margin-left: -30px;
    margin-right: -30px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 30px;
    padding-right: 30px;
}
@media only screen and (max-width : 767px) {

	.row {
	    margin-left: -20px;
	    margin-right: -20px;
	}
	.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
	    padding-left: 20px;
	    padding-right: 20px;
	}

}
.display-block {
	display: inline-block;
	vertical-align: top;
	float: none;
}
.display-block-middle {
	display: inline-block;
	vertical-align: middle;
	float: none;
}
/* ----------------------------- Colours ----------------------------- */
.whitebg {
	background-color: #fff;
}
.greybg {
	background-color: #6a747b;
}
.blue1bg {
	background-color: #0b6d9f;
}
.blue2bg {
	background-color: #3f8ab0;
}
.lightgreybg {
	background-color: #ededed;
}
.greenbg {
	background-color: #c1d72f;
}

.whitetext {
	color: #fff;
}
.greytext {
	color: #6a747b;
}
.blue1text {
	color: #0b6d9f;
}
.blue2text {
	color: #3f8ab0;
}
.lightgreytext {
	color: #ededed;
}
.greentext {
	color: #c1d72f;
}


/* ----------------------------- Type ----------------------------- */

a, a:hover {
	color: inherit;
	text-decoration: none;
}
strong,
span.boldtext {
	font-weight: 700;
}
span.lighttext {
	font-weight: 300;
}
span.mediumtext {
	font-weight: 500;
}
.centretext,
.centretext p {
	text-align: center;
}
.lefttext,
.lefttext p {
	text-align: left;
}
p {
	font-size: 16px;
	line-height: 1.35em;
	margin-bottom: 18px;
	font-weight: 300;
}
p a {
	font-weight: 500;
}
h1 {
	font-size: 45px;
	font-weight: 300;
	line-height: 1.3em;
	margin: 0 0 30px;
}
h2 {
	font-size: 35px;
	font-weight: 300;
	margin: 0 0 25px;
	line-height: 1.3em;
}
h3 {
	font-size: 30px;
	font-weight: 300;
	line-height: 1.3em;
	margin: 0 0 20px;
}
h3 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3em;
	margin: 0 0 15px;
}
h4 {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3em;
	margin: 0 0 10px;
}
h2.onblue1 {
	display: inline-block;
	padding: 4px 8px;
	background-color: #3f8ab0;
	clear: both;
	color: #fff;
	position: relative;
	z-index: 600;
}
h2.onlightgrey {
	display: inline-block;
	padding: 4px 8px;
	background-color: #fff;
	clear: both;
	color: #0b6d9f;
	position: relative;
	z-index: 600;
}
h2.onwhite {
	display: inline-block;
	padding: 4px 8px;
	background-color: #ededed;
	clear: both;
	color: #0b6d9f;
	position: relative;
	z-index: 600;
}
h4.onwhite {
	display: inline-block;
	padding: 3px 6px;
	background-color: #ededed;
	clear: both;
	color: #0b6d9f;
	position: relative;
	z-index: 600;
}


@media only screen and (max-width : 899px) {

	h1 {
		font-size: 40px;
	}
	h2 {
		font-size: 30px;
	}
	h3 {
		font-size: 25px;
	}
	h4 {
		font-size: 21px;
	}

}
@media only screen and (max-width : 767px) {

	h1 {
		font-size: 35px;
	}
	h2 {
		font-size: 25px;
	}
	h3 {
		font-size: 22px;
	}
	h4 {
		font-size: 20px;
	}

}
@media only screen and (max-width : 499px) {

	h1 {
		font-size: 26px;
	}
	h2 {
		font-size: 24px;
	}
	h3 {
		font-size: 22px;
	}
	h4 {
		font-size: 20px;
	}

}
/* ----------------------------- Centred Circles ----------------------------- */
img.headercircle {
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0 0 0 -15px;
}
img.footercircle {
	position: absolute;
	left: 50%;
	top: 0;
	margin: 0 0 0 -15px;
}
img.centreline {
	position: absolute;
	z-index: 500;
	left: 50%;
	top: 0;
	margin: 0 0 0 -1px;
}


/* ----------------------------- Buttons ----------------------------- */
.btn {
}
.btn-large {
	font-size: 20px;
}
.btn-extralarge {
	font-size: 28px;
}
.btn-right {
	display: block;
	float: right;
	clear: both;
}
.whitetext.btn:hover, .whitetext.btn:focus, .whitetext.btn.focus {
    color: #fff;
}
.blue1text.btn:hover, .blue1text.btn:focus, .blue1text.btn.focus {
    color: #07608c;
}

@media only screen and (max-width : 767px) {

	.btn-large {
		font-size: 16px;
	}
	.btn-extralarge {
		font-size: 18px;
	}
}

/* ----------------------------- Header ----------------------------- */
.header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 800;
	width: 100%;
	margin: 0;
	float: left;
	height: 110px;
}
.headerlogo {
	width: 220px;
	position: absolute;
	top: 0;
	left: 40px;
	z-index: 801;
	margin: 18px 0 0;
}
.navbar {
	width: 100%;
	padding: 55px 0 15px 230px;
	border: 0;
	float: left;
	border-radius: 0;
	margin: 0;
	position: relative;
	z-index: 300;
}
ul.navbar-nav {
	float: right;
    margin: 0;
}
.navbar-nav > li {
    float: left;
}
.nav {
	position: relative;
	z-index: 802;
}
.nav > li {
	z-index: 803;
	position: relative;
}
.nav > li > a {
	padding: 10px 15px;
	font-size: 18px;
	line-height: 1.1em;
	font-weight: 303;
	color: #6a747b;
	z-index: 804;
}
.nav li.current-menu-item a,
.nav li.current-page-ancestor a {
	font-weight: 300!important;
}
.nav > li > a:hover,
.nav > li > a:focus,
.nav > li:hover > a {
	text-decoration: none;
	background-color: #ededed;
}

.nav ul.sub-menu {
	display:none;
	position:absolute;
	top:40px;
	left:0;
	float:left;
	z-index:805;
	width:auto;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav ul.sub-menu ul.sub-menu {
	position: absolute;
	top:0;
	left: 100%;
	margin-left: 0;
}

.nav li li.menu-item-has-children:after {
	content: '>';
	position: absolute;
/*
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid #6a747b;
*/
	right: 15px;
	top: 8px;
}

/*
.nav ul.sub-menu ul.sub-menu a {
	color: #fff;
	background: #337ab7;
}
*/

.nav li:hover > ul.sub-menu {
	display:block;
}
.nav ul.sub-menu li{
    float: left;
    position: relative;
    z-index: 810;
    margin: 0;
    min-width: 240px;
}
.nav ul.sub-menu li a {
	background-color: #ededed;
	color: #6a747b;
	line-height:1.2em;
	padding:10px 15px;
	display: block;
	z-index: 812;
}
.headercontact {
	width: 500px;
	position: absolute;
	top: 20px;
	right: 40px;
	z-index: 802;
	margin: 0;
	font-size: 18px;
	line-height: 1.3em;
	text-align: right;
}
.contentwrapper {
	width: 100%;
	float: left;
	margin: 110px 0 0 0;
}

@media only screen and (max-width : 992px) {

	.headerlogo {
		left: 30px;
	}
	.headercontact {
		font-size: 17px;
		right: 30px;
	}
	.nav > li > a {
		padding: 10px;
		font-size: 17px;
		line-height: 1.1em;
	}
	.nav ul.sub-menu {
		top: 35px;
	}
	.nav ul.sub-menu li a {
		padding:10px;
	}

}
@media only screen and (max-width : 899px) {

	.header {
		height: 95px;
	}
	.contentwrapper {
		margin: 95px 0 0 0;
	}
	.headerlogo {
		width: 160px;
	}
	.navbar {
		padding: 45px 0 10px 180px;
	}
	.headercontact {
		font-size: 16px;
		right: 20px;
		top: 15px
	}
	.nav > li > a {
		padding: 10px;
		font-size: 16px;
		line-height: 1.1em;
	}
	.nav ul.sub-menu {
		top: 35px;
	}
	.nav ul.sub-menu li a {
		padding:10px 20px;
	}
}

@media only screen and (max-width : 767px) {

	.header {
		height: auto;
		position: relative;
		min-height: 95px;
	}
	.contentwrapper {
		margin: 0;
	}
	.headerlogo {
		margin: 19px 0;
		left: 20px;
	}
	.nav > li {
	    border-top: 1px solid #ededed;
	    clear: both;
	    display: inline-block;
	    width: 100%;
	}
	.nav > li > a {
		display: inline-block;
	}
	.nav ul.sub-menu li {
    	width: 100%;
    }
	.nav ul.sub-menu, .nav ul.sub-menu ul.sub-menu {
	    display: block;
	    position: relative;
	    top: 0;
	    left: 0;
	    width: 100%;
	    margin-left: 0;
	}
	.nav ul.sub-menu li a {
		background-color: #ededed;
	}

}


/* ----------------------------- Header Area / Intro ----------------------------- */

.pageheader {
	width: 100%;
	padding: 0 0 100px 0;
	position: relative;
	z-index: 210;
	text-align: center;
}
.pageheader.textonly {
	padding: 60px 0 100px 0;
}
.pageheader h1 {
	color: #fff;
	position: relative;
	z-index: 211;
	margin-top: 0;
	text-align: center;
	font-size: 45px;
    font-weight: 300;
    line-height: 50px;
    margin-bottom: 30px;
}
.pageheader h1 span {
	display: inline-block;
	padding: 4px 8px;
	background-color: #3f8ab0;
	clear: both;
	margin: 0;
}
.headertwolines {
	position: relative;
	margin-top: -58px;
	z-index: 200;
}
.headeroneline {
	position: relative;
	margin-top: -29px;
	z-index: 200;
}
.pageheader p.introduction {
	color: #fff;
	text-align: center;
	font-size: 32px;
	max-width: 1000px;
	margin: 0 auto;
	margin-bottom: 0;
}

@media only screen and (min-width : 768px) and (max-width : 899px) {

	.pageheader h1 {
		font-size: 40px;
	    line-height: 45px;
	    margin-bottom: 25px;
	}
	.pageheader p.introduction {
		font-size: 26px;
	}
	.headertwolines {
		margin-top: -53px;
	}
	.headeroneline {
		margin-top: -26px;
	}


}
@media only screen and (max-width : 767px) {

	.pageheader.textonly {
	    padding: 0 0 100px;
	}
	.pageheader h1 {
		font-size: 35px;
	    line-height: 40px;
	    margin-bottom: 20px;
	}
	.headertwolines {
		margin-top: -48px;
	}
	.headeroneline {
		margin-top: -24px;
	}
	.pageheader p.introduction {
		font-size: 24px;
	}

}
@media only screen and (max-width : 499px) {

	.pageheader h1 {
		font-size: 28px;
	    line-height: 34px;
	    background-color: #3f8ab0;
	    margin: 0 -20px 0 -20px;
	    padding: 8px 20px;
	}
	.pageheader h1 br {
		display: none;
	}
	.pageheader h1 span {
		display: inline-block;
		padding: 0;
		background-color: #3f8ab0;
		clear: none;
		margin: 0;
	}
	.headertwolines,
	.headeroneline {
		margin-top: 0;
	}
	.pageheader p.introduction {
		margin-top: 20px;
		font-size: 24px;
	}

}

/* ----------------------------- Page ----------------------------- */
.flexwrapper {
	position: relative;
	float: left;
	width: 100%;
	background: url(images/verticalline-small.gif) center top repeat-y #fff;
}

/* ----------------------------- Flexcontent - Image and Quote Grid ----------------------------- */

.gridsection {
	text-align: center;
	overflow: hidden;
	position: relative;
}
.gridrow {

}
.griditem {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
}
.griditem .image100 {
	position: relative;
	z-index: 10;
}
.grid50 {
	width: 50%;
}
.gridtext {
	padding: 25px;
	text-align: left;
}

.gridoverlay {
	position: absolute;
	top: 0;
	z-index: 20;
}
.gridoverlay.right {
	width: 50%;
	height: auto;
	right: 0;
}
.gridoverlay.left {
	width: 50%;
	height: auto;
	left: 0;
}
.textblue1bg,
.textblue2bg {
	color: #fff;
}
.textgreenbg,
.textlightgreybg {
	color: #6a747b;
}
.gridtext p {
	font-size: 24px;
	line-height: 1.25em;
	margin-bottom: 0;
}
/* Sets the grid to two column, with the overall width controled below */
@media only screen and (max-width :949px) {

	.gridrowlevel1.grid50 {
		clear: both;
		width: 100%;
	}
	.gridsection img.centreline {
		display: none;
	}
}
/* Sets the grid to two column, with the overall width controled below */
@media only screen and (max-width :449px) {

	.gridrowlevel2.grid50 {
		clear: both;
		width: 100%;
	}

}


@media only screen and (max-width :1249px) {

	.gridtext p {
		font-size: 24px;
	}
}
@media only screen and (max-width :1199px) {

	.gridtext p {
		font-size: 22px;
	}
}
@media only screen and (max-width :1149px) {

	.gridtext p {
		font-size: 22px;
	}
}
@media only screen and (max-width :1099px) {

	.gridtext p {
		font-size: 21px;
	}
}
@media only screen and (max-width :1049px) {

	.gridtext p {
		font-size: 21px;
	}
}
@media only screen and (max-width :999px) {

	.gridtext p {
		font-size: 20px;
	}
}
@media only screen and (max-width :949px) {

	.gridtext p {
		font-size: 20px;
	}
	.gridrow {
		display: inline-block;
		width: 75%;
	}
}
@media only screen and (max-width :899px) {

	.gridtext p {
		font-size: 18px;
	}
	.gridrow {
		display: inline-block;
		width: 80%;
	}
}
@media only screen and (max-width :849px) {

	.gridtext p {
		font-size: 17px;
	}
	.gridrow {
		display: inline-block;
		width: 85%;
	}
}
@media only screen and (max-width :799px) {

	.gridtext p {
		font-size: 16px;
	}
	.gridrow {
		display: inline-block;
		width: 90%;
	}
}
@media only screen and (max-width :767px) {

	.gridtext p {
		font-size: 16px;
	}
	.gridrow {
		display: inline-block;
		width: 100%;
	}
}
/* ----------------------- Flexcontent - Carousel ----------------------- */
.carousel {
	text-align: center;
	padding-top: 0;
}
.carousel .carousel-inner {
    padding: 0;
}
.carousel .carousel-inner .item {
	text-align: center;
}
.carousel .carousel-inner .item .carouselimage {
	width: 15%;
	display: inline-block;
	padding: 3px;
}

.carousel-control {
    background-color: transparent;
    bottom: 0;
    color: #6a747b;
    font-size: 20px;
    left: 0;
    opacity: 1;
    position: absolute;
    text-align: center;
    text-shadow: none;
    top: 0;
    width: 50px;
}
.carousel-control:hover, .carousel-control:focus {
    color: #6a747b;
    opacity: 1;
}
.carousel-control.left {
    background-image: none;
    left: -30px;
}
.carousel-control.right {
    background-image: none;
    right: -30px;
}
@media only screen and (max-width :959px) {

	.carousel .carousel-inner .item .carouselimage {
		width: 30%;
	}

}
@media only screen and (max-width :767px) {

	.carousel .carousel-inner .item .carouselimage {
		width: 49%;
	}

}
/* -------------------- Flexcontent - Our Mission ---------------------- */
.ourmission {
	text-align: center;
}
.ourmission .icon {
	width: 40%;
	max-width: 120px;
	height: auto;
	margin: 20px auto 10px;
	float: none;
	display: inline-block;
}
.ourmission h4 {
	margin-bottom: 10px;
	text-align: center;
}
.ourmission p {
	margin-bottom: 20px;
	text-align: center;
}

/* -------------------- Flexcontent - Our Mission ---------------------- */
.ourclients {
	text-align: center;
}
.ourclients .icon {
	width: 60%;
	max-width: 140px;
	height: auto;
	margin: 20px auto;
	float: none;
	display: inline-block;
}
@media only screen and (max-width :767px) {

	.ourclients .icon {
		max-width: 80px;
	}
}

/* -------------------- Flexcontent - News and Case Study Feed ---------------------- */
.casestudyfeed {
	text-align: center;
	overflow: hidden;
	position: relative;
}
.casestudyfeed h2 {
	margin-bottom: 25px;
}
h4.allcasestudieslink {
	display: block;
	position: absolute;
	top: 100px;
	right: 20px;
	color: #0b6d9f;
	font-size:
}
.casestudyfeeditem {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	position: relative;
	width: 25%;
}
.casestudyfeedtext {
	width: 100%;
	padding: 20px 25px 45px 25px;
	text-align: left;
	position: relative;
	min-height: 140px;
}
.casestudyfeedtext.newsfeed {
	min-height: 240px;
}

.casestudybg1 {
	background-color: #c1d72f;
}
.casestudybg2 {
	background-color: #ededed;
}
.casestudybg3 {
	background-color: #0b6d9f;
}
.casestudybg4 {
	background-color: #6a747b;
}
.casestudybg1 p,
.casestudybg1 h3 a{
	color: #6a747b;
}
.casestudybg2 p,
.casestudybg2 h3 a {
	color: #6a747b;
}
.casestudybg3 p,
.casestudybg3 h3 a {
	color: #fff;
}
.casestudybg4 p,
.casestudybg4 h3 a {
	color: #fff;
}
.casestudybg1 a {
	color: #6a747b;
}
.casestudybg2 a {
	color: #6a747b;
}
.casestudybg3 a {
	color: #0b6d9f;
}
.casestudybg4 a {
	color: #6a747b;
}
a.pluswhite {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	background-color: #fff;
	text-align: center;
}
a span.verticalmiddle {
	display: inline-block;
	vertical-align: middle;
	font-size: 22px;
	line-height: 1em;
	padding: 9px 0 0;
}
@media only screen and (max-width : 959px) {

	.casestudyfeedtext {
		padding: 15px 15px 45px 15px;
		min-height: 120px;
	}
	.casestudyfeedtext h3 {
		font-size: 18px;
	}
}

/* -------------------- Flexcontent - Featured Case Study ---------------------- */

.featuredcasestudy {
	text-align: center;
}
.featuredcasestudytext {
	text-align: left;
}


/* -------------------- Flexcontent - Video ---------------------- */
.videoimage {
	display: block;
	margin: 10px auto;
	width: 80%;
	max-width: 800px;
	position: relative;
}
.videoimage img {
	z-index: 220;
}
.videoimage img.videoplayoverlay {
	z-index: 221;
	position: absolute;
	width: 90px;
	height: 90px;
	left: 50%;
	top: 50%;
	margin: -45px 0 0 -45px;
}
.videoimage p.imagecaption {
	position: absolute;
	left: 0;
	bottom: -42px;
	z-index: 222;
	width: 48%;
}
@media only screen and (max-width : 767px) {

	.videoimage img.videoplayoverlay {
		width: 50px;
		height: 50px;
		left: 50%;
		top: 50%;
		margin: -25px 0 0 -25px;
	}

}


/* -------------------- Flexcontent - Introduction ---------------------- */
.introduction p {
	font-size: 24px;
	font-weight: 300;
}
.introduction.previous_1_column_text,
.introduction.previous_2_column_text,
.introduction.previous_introduction {
	padding-top: 0;
}

/* -------------------- Flexcontent - Textblocks ---------------------- */
.texblock.previous_1_column_text,
.texblock.previous_2_column_text,
.texblock.previous_introduction {
	padding-top: 0;
}
.texblock.centretext.rowspacing80.previous_whitebg.previous_1_column_text.nomaincontent {
	padding-top: 80px;
}

.texblock .onecolumntext {
	padding: 40px 0 25px;
	margin: 10px auto;
	display: block;
	max-width: 860px;
	width: 100%;
	border-top: 2px solid #0b6d9f;
	border-bottom: 2px solid #0b6d9f;
}
.texblock .onecolumntext img {
	max-width: 100%;
	height: auto;
}
/*
.onecolumntext img {
	display: none;
}
*/
@media only screen and (max-width : 767px) {

	.texblock {
		background-color: #fff;
	}
	.texblock .onecolumntext {
		border-top: none;
		border-bottom: none;
		margin: 0;
		padding: 20px 0 5px;
	}
	.texblock.centretext.rowspacing80.previous_whitebg.previous_1_column_text.nomaincontent {
		padding-top: 0;
	}
}


/* -------------------- Flexcontent - Testimonial ---------------------- */

.testimonial p {
	margin-bottom: 0;
}
.testimonial p.testimonialtext {
	font-size: 28px;
	font-weight: 300;
	margin-bottom: 20px;
}

/* -------------------- Flexcontent - 3 Column List ---------------------- */
.three_column_list h3 {
	margin-bottom: 30px;
}
.three_column_list .listitem {
	padding: 0 0 20px 18px;
	position: relative;
}
.three_column_list .listitem .listbullet {
	position: absolute;
	top: 7px;
	left: 0;
	z-index: 220;
	width: 8px;
	height: 8px;
}
@media only screen and (min-width : 768px) and (max-width :959px) {


}

@media only screen and (max-width : 767px) {


}

/* -------------------- Flexcontent - 3 Column Icon and Text ---------------------- */
.fullwidthwrapper.previous_full_width_image {
	margin-top: -90px;
	z-index: 500;
}
.iconitem {
	margin-bottom: 40px;
}
.iconitem img.icon {
	width: 100%;
	height: auto;
	max-width: 100px;
	margin-bottom: 10px;
}
@media only screen and (max-width : 767px) {

	.iconitem {
		margin-bottom: 15px;
	}
	.fullwidthwrapper.previous_full_width_image {
		margin-top: 0px;
	}
	.iconitem p {
		display: none;
	}
	.iconitem h2 {
		padding-top: 20px;
	}
	.mobileicon {
		float: left;
		margin: 0 20px 0 0;
		width: 75px;
		height: auto;
	}
}
/* -------------------- Flexcontent - 4 Images ---------------------- */
.fourimages.row {
    margin-left: -15px!important;
    margin-right: -15px!important;
}
.fourimages .col-xs-6, .fourimages .col-sm-1, .fourimages .col-md-1, .fourimages .col-lg-1, .fourimages .col-xs-2, .fourimages .col-sm-2, .fourimages .col-md-2, .fourimages .col-lg-2, .fourimages .col-xs-3, .fourimages .col-sm-3, .fourimages .col-md-3, .fourimages .col-lg-3, .fourimages .col-xs-4, .fourimages .col-sm-4, .fourimages .col-md-4, .fourimages .col-lg-4, .fourimages .col-xs-5, .fourimages .col-sm-5, .fourimages .col-md-5, .fourimages .col-lg-5, .fourimages .col-xs-6, .fourimages .col-sm-6, .fourimages .col-md-6, .fourimages .col-lg-6, .fourimages .col-xs-7, .fourimages .col-sm-7, .fourimages .col-md-7, .fourimages .col-lg-7, .fourimages .col-xs-8, .fourimages .col-sm-8, .fourimages .col-md-8, .fourimages .col-lg-8, .fourimages .col-xs-9, .fourimages .col-sm-9, .fourimages .col-md-9, .fourimages .col-lg-9, .fourimages .col-xs-10, .fourimages .col-sm-10, .fourimages .col-md-10, .fourimages .col-lg-10, .fourimages .col-xs-11, .fourimages .col-sm-11, .fourimages .col-md-11, .fourimages .col-lg-11, .fourimages .col-xs-12, .fourimages .col-sm-12, .fourimages .col-md-12, .fourimages .col-lg-12 {
    padding-left: 15px!important;
    padding-right: 15px!important;
}

@media only screen and (max-width : 767px) {

	.fourimages.rowspacing-bottom-full {
		padding-bottom: 10px!important;
	}
	.squareimage {
		padding-bottom: 30px;
	}

}

/* -------------------- News - Index ---------------------- */
.newsfeed {
	margin-bottom: 40px;
	text-align: left;
}
.newsindexitem {
	text-align: center;
	margin: 0;
	position: relative;
	display: inline-block;
	width: 50%;
	padding: 20px;
	z-index: 550;
}
.newsindexitemwithimage {
	text-align: center;
	margin: 0;
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 0;
}
.newsindexitemimage {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
	width: 40%;
	max-width: 400px;
	text-align: left;
	padding: 0;
}
.newsindexitemimage img {
	float: left;
}
.newsindexitemtext {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
	text-align: left;
	padding: 30px;
	width: 100%;
}
.newsindexitemtext.withimage {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
	text-align: left;
	padding: 30px;
	width: 60%;
}

@media only screen and (max-width : 1199px) {

	.newsindexitem {
		text-align: center;
		margin: 0;
		position: relative;
		display: inline-block;
		width: 100%;
		padding: 20px;

	}

}
@media only screen and (max-width : 549px) {

	.newsindexitemimage {
		width: 100%;
		max-width: 400px;
	}
	.newsindexitemtext.withimage {
		padding: 20px;
		width: 100%;
	}
	.newsindexitem {
	    padding: 10px 0;
    }

}


/* --------------- News - Single ---------------- */

.newsheader h2 {
	color: #fff;
	position: relative;
	z-index: 211;
	margin-top: 0;
	text-align: center;
	font-size: 30px;
    font-weight: 300;
    line-height: 35px;
    margin-bottom: 0;
	display: inline-block;
	padding: 3px 6px;
	background-color: #3f8ab0;
	clear: both;
	margin: 0;
}
.newsheader h3 {
	margin: 20px 0;
}

/* -------------------- Case Study - Index ---------------------- */
.casestudyindexheader {
	width: 100%;
	padding: 0 0 80px 0;
	position: relative;
	z-index: 210;
	text-align: center;
	min-height: 120px;
}
.casestudytextandimage {
	position: relative;
	margin-top: -29px;
	z-index: 200;
}
.casestudyindexheader h1 {
	color: #fff;
	position: relative;
	z-index: 211;
	margin-top: 0;
	text-align: center;
	font-size: 45px;
    font-weight: 300;
    line-height: 50px;
    margin-bottom: 30px;
}
.casestudyindexheader h1 span {
	display: inline-block;
	padding: 4px 8px;
	background-color: #3f8ab0;
	clear: both;
	margin: 0;
}

/* Case Study Index Items */
.casestudyindexitem {
	text-align: center;
	margin: 20px auto;
	position: relative;
	max-width: 1100px;
}
.casestudyindexitemimage {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
	width: 50%;
}
.casestudyindexitemtext {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	position: relative;
	width: 50%;
	text-align: left;
	padding: 30px;
}

@media only screen and (max-width :991px) {

	.casestudyindexitemimage {
		width: 100%;
	}
	.casestudyindexitemtext {
		width: 100%;
	}
	.casestudyfeed .centreline {
		display: none;
	}

}
@media only screen and (min-width : 768px) and (max-width : 899px) {

	.casestudyindexheader h1 {
		font-size: 40px;
	    line-height: 45px;
	    margin-bottom: 25px;
	}

}
@media only screen and (max-width : 767px) {

	.casestudyindexheader h1 {
		font-size: 35px;
	    line-height: 40px;
	    margin-bottom: 20px;
	}

}
@media only screen and (max-width : 499px) {

	.casestudyindexheader {
		padding: 0 0 100px;
	}
	.casestudyindexheader h1 {
		font-size: 28px;
	    line-height: 34px;
	    background-color: #3f8ab0;
	    margin: 0 -20px 0 -20px;
	    padding: 8px 20px;
	}
	.casestudyindexheader h1 span {
		display: inline-block;
		padding: 0;
		background-color: #3f8ab0;
		clear: none;
		margin: 0;
	}

}

/* --------------- Case Study - Single ---------------- */

.casestudyheader {
	width: 100%;
	padding: 0 0 10px 0;
	position: relative;
	z-index: 210;
	text-align: center;
	min-height: 120px;
}
.casestudyheader h2 {
	color: #fff;
	position: relative;
	z-index: 211;
	margin-top: 0;
	text-align: center;
	font-size: 45px;
    font-weight: 300;
    line-height: 50px;
	display: inline-block;
	padding: 4px 8px;
	background-color: #3f8ab0;
	clear: both;
	margin: 0;
}
.casestudyheader h1 {
	color: #fff;
	text-align: center;
	font-size: 34px;
	max-width: 1000px;
	margin: 30px auto;
	display: block;
}

.casestudytextandimage {
	position: relative;
	margin-top: -29px;
	z-index: 200;
}
.casestudyheader .icon {
	width: 40%;
	max-width: 120px;
	height: auto;
	margin: 20px auto 10px;
	float: none;
	display: inline-block;
}
.casestudyheader h4 {
	margin-bottom: 5px;
	text-align: center;
}
.casestudyheader p {
	margin-bottom: 20px;
	text-align: center;
}


@media only screen and (min-width : 768px) and (max-width : 899px) {

	.casestudyheader h2 {
		font-size: 30px;
	    line-height: 45px;
	    margin-bottom: 25px;
	}


}
@media only screen and (max-width : 767px) {

	.casestudyheader h2 {
		font-size: 25px;
	    line-height: 40px;
	    margin-bottom: 20px;
	}
	.casestudyheader h1 {
		font-size: 30px;
	}

}
@media only screen and (max-width : 499px) {

	.casestudyheader {
		padding: 0 0 100px;
	}
	.casestudyheader h2 {
		font-size: 24px;
	    line-height: 34px;
	    background-color: #3f8ab0;
	    margin: 0 -20px 0 -20px;
	    padding: 8px 20px;
	    display: block;
	}
	.casestudyheader h1 {
		font-size: 26px;
	}

}

/* =Pagination
-------------------------------------------------------------- */
.newspagination {
	float: right;
	position: relative;
	z-index: 550;
	width: 45%;
}
.newspagination .pagination {
	clear:both;
	padding:20px 0;
	position:relative;
	font-size:14px;
	line-height:15px;
	float:right;
}

.newspagination .pagination span,.newspagination .pagination a {
	display:block;
	float:left;
	margin:2px;
	padding:7px 10px 6px;
	text-decoration:none;
	width:auto;
	color:#0b6d9f;
	background:#ededed;
}

.newspagination .pagination a:hover {
	color:#fff;
	background:#0b6d9f;
}

.newspagination .pagination .current {
	padding:7px 10px 6px;
	background:#e2e2e2;
	color:#0b6d9f;
}

.casestudyfeed nav.pagination h2 {
	display: none;
}

@media only screen and (max-width : 767px) {

	.newspagination {
		float: none;
		display: inline-block;
		width: auto;
	}
}
/* --------------------------- Footer Call to action ----------------------------- */
.calltoactionpadding {
	padding-top: 100px;
	padding-bottom: 40px;
	position: relative;
	text-align: center;
}
.calltoactioncontent {
	margin: 20px 0 0;
	text-align: left;
}
.calltoaction p.ctalineintroduction,
.calltoaction p.ctalineintroduction a  {
	font-size: 22px;
}
.calltoactiontextonly {
	padding-bottom: 30px;
}
.calltoactiontextonly h2 {
	margin-bottom: 30px;
}


@media only screen and (max-width : 767px) {

	.calltoaction p.ctalineintroduction,
	.calltoaction p.ctalineintroduction a  {
		font-size: 20px;
	}

}
@media only screen and (max-width : 499px) {

	.calltoaction p.ctalineintroduction,
	.calltoaction p.ctalineintroduction a  {
		font-size: 18px;
	}

}

/* --------------------------- Footer ----------------------------- */
#footer {
	float: left;
	clear: both;
}
.footerpadding {
	padding: 50px 0 30px;
}
.subscribeform p {
	margin-bottom: 5px;
}
.socialmedialogos {
	margin: 20px 0;
}
.socialmedialogos img {
	float: right;
	width: 32px;
	margin: 0 0 6px 6px;
}
#footer p {
	font-size: 16px;
}
#footer .copyright {
	margin: 35px 0 20px;
}
#footer .copyright p {
	margin: 0 0 5px;
	font-size: 13px;
}
#footer .copyright p a {
	font-weight: 500;
}
.subscribeform input[type="email"] {
	background:none repeat scroll 0 0 #ededed;
	float:left;
	font-size:14px;
	height:32px;
	margin-top:0;
	padding:5px;
	width:133px;
	color:#006991;
	border:1px solid #ededed;
	width:70%;
	max-width: 250px;
	-webkit-appearance:none;
	border-radius:0;
}
.subscribeform input[type="submit"] {
	background:none repeat scroll 0 0 #0b6d9f;
	border:medium none;
	color:#FFF;
	float:left;
	font-size:13px;
	height:32px;
	padding:5px;
	width:32px;
	-webkit-appearance:none;
	border-radius:0;
}

@media only screen and (max-width : 767px) {

	#footer .footerpadding {
		text-align: center;
	}
	.subscribeform {
		display: inline-block;
		margin-bottom: 30px;
	}
	.subscribeform > form {
	    display: inline-block;
	}
	.socialmedialogos {
		display: inline-block;
		text-align: center;
	}
	.socialmedialogos img {
	    float: none;
	    margin: 0 5px 5px;
	    display: inline-block;
	}
}

/* --------------------------- Form Overrides ----------------------------- */
.frm_form_fields {
	padding-top: 30px;
}
.frm_style_formidable-style.with_frm_style input[type="text"], .frm_style_formidable-style.with_frm_style input[type="password"], .frm_style_formidable-style.with_frm_style input[type="email"], .frm_style_formidable-style.with_frm_style input[type="number"], .frm_style_formidable-style.with_frm_style input[type="url"], .frm_style_formidable-style.with_frm_style input[type="tel"], .frm_style_formidable-style.with_frm_style input[type="phone"], .frm_style_formidable-style.with_frm_style input[type="search"], .frm_style_formidable-style.with_frm_style select, .frm_style_formidable-style.with_frm_style textarea, .frm_form_fields_style, .frm_style_formidable-style.with_frm_style .frm_scroll_box .frm_opt_container, .frm_form_fields_active_style, .frm_form_fields_error_style, .frm_style_formidable-style.with_frm_style .chosen-container-multi .chosen-choices, .frm_style_formidable-style.with_frm_style .chosen-container-single .chosen-single {
	box-shadow: none!important;
}
.frm_style_formidable-style.with_frm_style .frm_left_container label.frm_primary_label {
	text-align: right;
}
.with_frm_style .frm_submit input[type="submit"],
.with_frm_style .frm_submit input[type="button"] {
	background-color: transparent;
	border: 0;
	box-shadow: none;
	padding: 5px 30px 5px 20px;
	font-weight: 300;
	float: right;
	clear: both;
}
@media only screen and (max-width : 767px) {

	.frm_style_formidable-style.with_frm_style .frm_left_container label.frm_primary_label {
		text-align: left;
	}
	.with_frm_style .frm_submit input[type="submit"],
	.with_frm_style .frm_submit input[type="button"] {
		float: left;
	}
}


.previous_1_column_text .ctaform, .previous_2_column_text .ctaform {
	margin-top: -92px!important;
	margin-bottom: -1px!important;
}

.previous_cta_form {
	margin-top: -90px!important;
}

.previous_cta_form .onecolumntext {
	border-top: none!important;
}

.ctaform {
	padding: 0!important;
	border: none!important;
}

.ctaform .ctaform-image {
	float: right;
	width: 25%;
}

.ctaform .ctaform-text, .ctaform .ctaform-form {
	float: left;
}

.ctaform .ctaform-form {
	padding: 20px 30px 0;
	width: 37.5%;
}

.ctaform .ctaform-form .frm_message {
	color: #fff;
}

.ctaform .ctaform-form .frm_error {
	color: #fff;
	font-size: 12px;
}

.ctaform .ctaform-form .frm_error_style {
	display: none;
}

.ctaform .ctaform-form legend {
	display: none;
}

.ctaform .ctaform-text {
	width: 37.5%;
	color: #fff;
	font-weight: 300;
	padding: 20px 0 0 30px;
}

.ctaform .ctaform-text strong {
	font-size: 20px;
	margin-bottom: 5px;
	display: block;
	font-weight: 400;
	line-height: 1.2;
}

.ctaform .ctaform-image img {
	width: 100%;
	height: auto;
	display: block;
	float: right;
	max-width: 180px;
}

.ctaform label {
	min-width: 80px;
	color: #fff;
	font-weight: 300;
	margin: 4px 5px 0 0!important;
	float: left;
}

.ctaform .frm_form_fields {
	padding-top: 0;
}

.ctaform .form-field {
	margin-bottom: 5px;
}

.ctaform input {
	border: none;
	padding: 4px 5px;
	max-width: none!important;
	width: calc(100% - 85px);
}

.ctaform button {
	padding: 5px 0 0;
	color: #fff;
	background: none;
	border: none;
	font-size: 18px;
}

@media screen and (max-width: 767px) {

	.ctaform .ctaform-text {
		width: 100%;
		padding-right: 20px;
	}

	.ctaform .ctaform-form {
		width: 66.66%;
	}

	.ctaform .ctaform-image {
		width: 33.33%;
	}

}

@media screen and (max-width: 499px) {

	.ctaform .ctaform-form, .ctaform .ctaform-image {
		width: 100%;
	}

	.ctaform .ctaform-image img {
		max-width: none;
	}

	.ctaform .ctaform-form {
		padding-bottom: 20px;
	}

}

.texblock img {
	max-width: 100%;
	height: auto;
	display: block;
}