@charset "UTF-8";
/* CSS Document */

body {
	font-family: 'Open Sans', sans-serif;
	color: #555555;
	font-size: 18px;
	font-weight: 300;
}
a {
	color: #555555;
}
a:hover {
	color: #dd0246;
	text-decoration: none;
}

/*----- Container styles -----*/
.container
{
	padding:0px;
	margin:0px;
	width:100%;
	overflow:hidden;
	}

.clear {
	clear: both;
}
	
/*----- Header styles -----*/
#header
{
	}
.logosml
{
	width:30%;
	margin-top: 0px;
	margin-bottom: -43px;
	z-index: 99;
	}
.logosml img
{
	max-width:350px;
	}
.content
{
	max-width:1200px;
	width:96%;
	height:100%;
	margin:auto;
	}
.restricted
{
	max-width:900px;
	padding-left:20px;/*was 40px*/
	padding-right:20px;/*was 40px*/
	margin:auto;
	}
	
/*----- menu styles -----*/
.top-menu
{
	width:100%;
	margin-top:-10px;
	}
.bottom-menu
{
	width:100%;
	}
	
/*----- nav styles -----*/
#nav ul, #nav ul li
{
	list-style:none;
	padding:0;
	margin:0;
	}
#nav li
{
	float:left;
	}
#nav ul
{
	margin:0px;
	}
#nav {
    padding:0 0px 0 0px;
	float:right;
	text-align:right;
	font-weight:100;
}
#nav a {
    font-size:15px;
    display:block;
    float:left;
	text-transform: uppercase;
	margin-left: 20px;
	color: #555555;
}
#nav a:hover {
    text-decoration:underline;
}	

/*-----------------drop down nav styles-------------------*/

#nav ul li ul li a{
	display: block;
	text-decoration: none;
	text-align: left;
	padding: 10px 15px 10px 15px;
	border: none;
	float: none;
	background-color:#fff;
	text-transform: none;
	opacity: 0.8;
}

#nav ul li ul li a:hover {
	text-decoration:underline;
}

#nav ul li ul li {
	float:none;
	display: block;
	margin: 0;
	padding: 0;
}

#nav ul li ul {
	position:absolute;
	left:-999em;
	z-index:100;
	margin:20px 0 0 5px;
	border-top:1px solid #ffffff;
}
#nav ul li:hover ul, #menu ul li ul:hover {
	left:auto;
}

/** Menu arrows **/
.menu li > a:after {
    content: '  ▾';
	vertical-align: 1px;
}

.menu li > a:hover:after {
    color: #444;
    content: '  ▾';
	vertical-align: 1px;
}

.menu li > a:only-child:after {
    content: '';
}

/** Responsive menu styles **/
#responsive-menu-container #responsive-menu, #responsive-menu-container #responsive-menu ul {
    padding-top: 40px;
}

		
/*----- buffer classes -----*/
.padding-topxs
{
	padding-top:10px;
	}
.padding-topsml
{
	padding-top:20px;
	}
.padding-btmsml
{
	padding-bottom:20px;
	}
.padding-btmmed
{
	padding-bottom:50px;
	}
.padding-topmed
{
	padding-top:50px;
	}
.padding-toplrg
{
	padding-top:90px; /**was 60px**/
	}
.padding-btmlrg
{
	padding-bottom:90px; /**was 60px**/
	}
.padding-right {
	padding-right: 10%;
}
.padding-left {
	padding-left: 20%;
}
.side-buffers
{
	padding-left:20%;
	padding-right:20%;
	}
.side-buffers-med
{
	padding-left:10%;
	padding-right:10%;
	}
.side-buffers-sml
{
	padding-left:5%;
	padding-right:5%;
	}
.no-padding-sides {
	padding-left: 0;
	padding-right: 0;
}
.text-center {
	text-align:center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.img-responsive {
	width: 100%;
	height: auto;
}
.float-left {
	float: left;
}

/*----- Overlaying image sections -----*/
.page-banner 
{
	min-height:500px;
	background: no-repeat;
	}
.overlay  
{  
	width:100%;
	bottom: 0;
	z-index:99;
	background-color: #dd0246;
	height: 160px;
	opacity: 0.8;
	color: #fff;
	font-size: 45px;
	font-weight: 300;
	padding-top: 40px;
	}
.overlaysml 
{  
	width:35%;
	background:rgba(255,255,255,.75);
	height:30%;
	overflow:hidden;
	top:35%;
	left: 32.5%;
	padding: 1.5% 2%;
	}
.overlay_full
{  
	width:100%;
	background:rgba(0,0,0,.55);
	height:100%;
	overflow:hidden;
	top:0;
	left: 0;
	padding: 8% 10%;
	}
.overlay h2{
	font-size: 20px;
	color: #fff;
	margin-top: 8px;
}
.overlay a{
	color: #fff;
}
.restricthght
{
	max-height:760px;
	overflow:hidden;
	}
.restricthght_med
{
	max-height:500px;
	overflow:hidden;
	}
.restricthght_sml
{
	max-height:400px;
	overflow:hidden;
	}
.restricthght_sml img, .restricthght_med img {
    height: auto;
    width: 100%;
    margin: 0;
    /*position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;*/
	margin-top:5%;
    transform: translate(0%, -50%);
}
img.fullwidthimg
{  
	width:100%;
	height:auto;
	}
img.wp-post-image
{ 	
	width:100%;
	height: auto;
}

/*----- positioning classes -----*/
.pos-rel
{
	position:relative;
	}
.pos-abs
{
	position:absolute;
	}
/*----- breadcrumbs styles -----*/
#breadcrumbs
{
	margin-bottom: 30px;
	text-align:left;
	font-size: 13px;
	}

.carousel-inner
{
	z-index:1;
	}
.arrowlink
{
	width:33px;
	height:26px;
	margin:auto;
	z-index:10;
	}
	
#mycarousel
{
	display:block;
	}
	
.carousel-caption
{
	width:100%;
	height:100%;
	}	
.carousel-caption h3 {
  display: inline-block;
  padding: 10px;
  background: #B9121B;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.full-screen {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/*
inspired from http://codepen.io/Rowno/pen/Afykb 
*/
.carousel-fade .carousel-inner .item {
  opacity: 0;
  transition-property: opacity;
}

.carousel-fade .carousel-inner .active {
  opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}

.carousel-fade .carousel-control {
  z-index: 2;
}

/*
WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
now override the 3.3 new styles for modern browsers & apply opacity
*/
@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next,
    .carousel-fade .carousel-inner > .item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.prev,
    .carousel-fade .carousel-inner > .item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.next.left,
    .carousel-fade .carousel-inner > .item.prev.right,
    .carousel-fade .carousel-inner > .item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
}

.parallax {
    /* The image used */
    background-image: url("img_parallax.jpg");

    /* Set a specific height */
    height: 650px;

    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*----------------blog styling---------------*/
.post {
	background-color: #eee;
	margin-bottom: 20px;
	float: left;
	margin-right: 1.5%;
	padding: 0;
}
.postimage {
	width: 100%;
	height: 200px;
	overflow: hidden;
	position: relative;
}
.postimage img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
}
.posttext {
	width: 100%;
	padding: 20px 5%;
}
.posttext a p {
	color: #999;
}
.posttext a:hover p {
	color: #666;
}
.post-meta {
	font-size: 13px;
	color: #999;
}

#pagination {
	width: 100%;
	text-align: center;
}
.page-numbers.current {
	background-color: #fff;
	padding: 5px 10px;
}
.page-numbers {
	padding: 5px 10px;
}
a.page-numbers:hover {
	background-color: #fff;
	text-decoration: none;
}

/*----- border styles ------*/

.borderBtm
{
	border-bottom:1px solid #EEEEEE;
	}
.borderTop
{
	border-top:10px solid #555;
	}
.borderLeft
{
	border-left:1px solid #EEEEEE;
	}
.borderAll
{
	border:1px solid #EEEEEE;
	}
/*----- bg styles -----*/
.greybg
{
	background-color:#EEEEEE;
	}
.redbg {
	background-color: #dd0246;
	color: #fff;
}
/*----- text styles ------*/
h1, h2, h3, h4 {
	color: #dd0246;
	font-weight: 300;
}
h1 {
	font-size: 30px;
	margin-bottom: 30px;
}
h2 {
	margin-bottom: 22px;
	font-size: 26px;
	font-weight: 300;
	line-height: 1.3em;
	margin-top: 35px;
}
h3 {
	margin-bottom: 22px;
	font-size: 24px;
	font-weight: 300;
	line-height: 1.3em;
}
h4 {
	font-size: 20px;
	margin-top: 20px;
}
.uppercase {
	text-transform: uppercase;
}
.small {
	font-size: 12px;
}
a.small {
	color: #555555;
}
.small_red {
	color: #dd0246;
	font-size: 15px;
}
.small_red a {
	color: #dd0246;
}
.white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h5, .white-text h6, .white-text p
{
	color:#ffffff;
	font-weight:300;
	}
.content-full-width h1, .content-full-width h2, .content-full-width h3, .content-full-width h4, .content-full-width h5, .content-full-width h6, .content-full-width p
{
	text-align:center;
	}
blockquote {
    padding: 0;
    margin: 0 0 20px;
    font-size: 17.5px;
    border-left: none;
	font-style: italic;
}
blockquote p {
	font-size: 25px;
    /*font-family: 'Patrick Hand', cursive;
	font-family: 'Shadows Into Light Two', cursive;
    font-family: 'Caveat', cursive;
    font-family: 'Delius', cursive;*/
    font-family: 'Neucha', cursive;
	font-style: normal;
	font-weight: 300;
	line-height:32px;
}

/*case study page*/
.cs_galleryImage {
	width: 32%; /*was 14.8%*/
	height: 180px;
	float: left;
	overflow: hidden;
    position: relative;
	margin-right: 2%;
	margin-top: 15px;
}
.cs_galleryImage img {
    height: 100%;
    width: auto;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
button {
	border-radius: 0;
	padding: 12px 20px 12px 20px;
	background-color: #fff;
	margin-top: 20px;
	color: #999;
	border: solid 1px #BBBBBB;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	cursor:pointer;
}
a.button:hover {
	background-color: #999;
	color: #fff;
}
button.smallbtn {
	font-size: 13px;
	color: #F55142;
	padding: 8px 15px 8px 15px;
	margin-top: 0px;
}

/*-------------gallery styles---------------*/
.bx-wrapper {
	max-width: 90% !important;
}

/*-------------image styles---------------*/
.alignright
{
	float:right;
	margin-left:10px;
	margin-bottom:10px;
	}
.alignleft
{
	float:left;
	margin-right:10px;
	margin-bottom:10px;
	}
.aligncenter
{
	clear: both;
	display: block; 
	margin-left: auto; 
	margin-right: auto;
	width: 100%;
	height: auto;
	}

/*----- case study tab styles -----*/
.tab
{
	/*width:31.3333%;
	height: 350px;*/
	width: 18%;
	height: 190px;
	float: left;
	margin-right:2%;
	padding:0px;
	overflow: hidden !important;
    position: relative;
	margin-bottom: 20px;
	}
.tab a:hover {
	opacity:0.7;
}
.tab img {
    height: auto;
    width: 100%;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
.tab_wide {
	width:31.3333%;
	height: 270px;
}
.tab_wide img {
    height: auto;
    width: 100%;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
.tab_med {
	width:23%;
	height: 222px;
	margin-right: 1%;
	margin-left: 1%;
}

.overlay_cs 
{  
	width:100%;
	background:rgba(0,0,0,.75);
	height:30%;
	overflow:hidden;
	bottom: 0;
	padding: 2%;
	}
.overlay_cs h2{
	font-size: 19px;
	color: #fff;
	margin-top: 8px;
}
.overlay_cs a{
	color: #fff;
}
	
.tab-title
{
	width:100%;
	height:105px;
	background-position:top;
	background-size:100% auto;
	}
.tab-title p
{
	color:#ffffff;
	text-align:center;
	font-size:24px;
	padding-top:10px;
	font-weight:300;
	}
.tab-text
{
	padding:20px;
	border-bottom:1px solid #DDDDDD;
	border-left:1px solid #DDDDDD;
	border-right:1px solid #DDDDDD;
	color:#666666;
	height: 220px;
	}
	
/*----- contact section 
input, textarea
{
	width:100%;
	margin-bottom:20px;
	padding:10px;
	background-color:#EEEEEE;
	color:#999999;
	border:none;
	}
textarea
{
	height:160px;
	}
	-----*/

/*----- footer links -----
.footer
{
	color: #545454;
	font-size: 13px;
	}
.footer strong
{
	color: #3f919b;
	}
.ft-info a
{
	color: #868686;
}
.ft-info p
{
	text-align: center;
	font-size:12px;
	}
.ft-info
{
	width:100%;
	}
.ft-info a img{
	opacity: 0.5;
	margin-left: 5px;
}
.ft-info a:hover img{
	opacity: 1;
}


/*----- overwritten plugin styles -----*/

/*----- metaslider -----*/
.metaslider .caption-wrap {
    position: absolute;
    left: 3% !important;
    background: none !important;
    color: #fff !important;
    opacity: 1 !important;
    margin: 0;
    display: block;
    width: 50% !important;
    line-height: 1.2em;
	font-size: 30px;
	top: 33%;
}
.metaslider .caption-wrap h1 {
	color: #fff;
	font-size: 100px;
	margin-bottom: 10px;
}
.metaslider .caption {
    padding: 12px 25px !important;
}
button.slider {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 19px;
	padding: 0px 20px 0px 20px;
	opacity: 1 !important;
}

/*----- testimonial rotator -----*/
.testimonial_rotator_quote {
	font-size: 28px;
	color: #001F52;
	font-weight: bold;
	line-height: 1.2em;
}
.testimonial_rotator.template-default .testimonial_rotator_author_info {
	font-style: normal !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 15px;
	color: #001F52;
	margin-top: 25px !important;
}

/*----- hidden template styles -----*/
.imageMax img
{
	max-width:100%;
	height:auto;
	}

/*----- HIDDEN FROM DESKTOP -----*/
.hiddenDesktop
{
	display:none;
	}



/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
/* Bigger than 2000px ----------- */
@media only screen and (min-width : 2200px) {
}
/* Smaller than 2200px ----------- */
@media only screen and (max-width : 2200px) {
}
/* Smaller than 1800px ----------- */
@media only screen and (max-width : 1800px) {
}
/* Smaller than 1750px ----------- */
@media only screen and (max-width : 1750px) {
}

/* Smaller than 1650px ----------- */
@media only screen and (max-width : 1650px) {
}
/* Smaller than 1550px ----------- */
@media only screen and (max-width : 1550px) {
.tab {
    height: 170px;
	}
}

/* Smaller than 1450px ----------- */
@media only screen and (max-width : 1450px) {
.cs_galleryImage {
	height: 150px;
}
.tab_wide {
    height: 253px;
}
.tab_med {
	height: 222px;
}
}

/* ----------- iPad Pro ----------- */
/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 1024px) 
  and (max-device-width: 1366px) 
  and (-webkit-min-device-pixel-ratio: 1.5) {
.parallax {
    background-attachment: scroll;
	background-position: center -50%;
}
}

/* Smaller than 1350px ----------- */
@media only screen and (max-width : 1350px) {
.tab {
    height: 115px;
}
.tab_med {
	height: 150px;
}
.tab_wide {
    height: 210px;
}
.overlay_cs h2 {
    font-size: 15px;
    margin-top: 5px;
}
.icon {
	margin-top: 0px !important;
}
}
/* Smaller than 1250px ----------- */
@media only screen and (max-width : 1250px) {
}
/* Smaller than 1125px ----------- */
@media only screen and (max-width : 1125px) {
.parallax {
    background-attachment: scroll;
	background-position: center -50%;
}
.hiddenDesktop
{
	display:block;
	}
/*----- HIDDEN FROM MOBILE -----*/
.hiddenMobile
{
	display:none;
	}
}
/* Smaller than 1080px ----------- */
@media only screen and (max-width : 1080px) {
.overlaysml {
    height: 40%;
    top: 30%;
}
}
/* Smaller than 1000px ----------- */
@media only screen and (max-width : 1000px) {
.logo
{
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
	}	
}
/* Smaller than 991px ----------- */
@media only screen and (max-width : 991px) {

.tab
{
	width:100%;
	max-width:307px;
	margin-bottom:20px;
	margin-right:auto !important;
	margin-left:auto;
	padding:0px;
	float: none;
	}
.tab {
    height: 220px;
}
.cs_galleryImage {
	height: 190px;
}
#header {
    min-height: 124px;
}
.tab_wide {
    height: 215px;
}
}

/* Smaller than 800px ----------- */
@media only screen and (max-width : 800px) {
#click-menu
{
	margin-top:5px !important;
	height:45px !important;
	width:45px !important;
	float:right !important;
	}
#mainnav
{
	display:none;
	}
#nav a {
    font-size: 13px;
    margin-left: 12px;
}
#header {
    min-height: 119px;
}
.overlay {
    font-size: 35px;
}
.restricthght
{
	height:228px;
	}
#responsive-menu-container {
    width: 65% !important;
}
.side-buffers {
	padding-left: 10%;
	padding-right: 10%;
}
}
/* Smaller than 767px ----------- */
@media only screen and (max-width : 767px) {
.parallax {
    height: 330px;
}

/*----- hidden from mobile -----*/
.logosml {
    width: 80%;
}
.page-banner {
    min-height: 330px;
}
.overlay {
	/*
	width: 74%;
	height: 48%;
	left: 12%;
	top: 23%;*/
	padding-top: 20px;
	font-size: 28px;
	height: 130px;
}
.overlay h1 {
	font-size: 24px;
	margin-top: 5px;
}
.overlaysml {
	width: 74%;
	height: 32%;
	left: 12%;
	top: 33%;
}
.postimage_right, .posttext_left, .postimage_left, .posttext_right {
	float: none;
	width: 100%;
	padding-top: 0;
}
.icon {
	max-width: 180px !important;
	margin-top:0 !important;
}
.mobile-left {
	text-align: left !important;
}
.overlay_cs h2 {
    font-size: 16px;
    margin-top: 5px;
}
}
/* Smaller than 700px ----------- */
@media only screen and (max-width : 700px) {
.logo {
	margin-top: 18%;
}
.ft-links
{
	float:none;
	width:90%;
	margin-right:5%;
	margin-left:5%;
	}
.ft-info
{
	float:none;
	width:90%;
	margin-right:5%;
	margin-left:5%;
	}
.ft-info p, .ft-links p
{
	text-align:center;
	}
#ftnav
{
	width:100%;
	margin-bottom:20px;
	}
#ftnav a {
    font-size:13px;
    color:#ffffff;
    display:block;
    float:none;
	font-weight:300;
	padding-bottom:5px;
	text-align:center;
}
.fullwidthimg
{
	min-height:260px;
	width:700px !important;
	}
.restricthght_sml {
	height: 600px;
	overflow: visible;
}
.restricthght_med {
	overflow: visible;
	min-height: 600px;
}
.restricthght_sml img, .restricthght_med img {
    height: 100% !important;
    width: auto !important;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
.page_testimonial {
	font-size: 19px;
	line-height: 22px;
}
#gallery-2 .gallery-item {
    float: none !important;
    width: 100% !important;
}
}

/* Smaller than 540px ----------- */
@media only screen and (max-width : 540px) {	
/*----- read more link on the coloured sections -----*/
.read-more-link
{
	position:absolute;
	bottom:0;
	right:0;
    margin-bottom: -70px;
	}
}

/* Smaller than 500px ----------- */
@media only screen and (max-width : 500px) {
input.submitbtn
{
	width:90% !important;
	margin-left:5% !important;
	margin-right:5% !important;
	float:none !important;
	}
.fullwidthimg
{
	margin-left:-20%;
	}
.restricthght_sml img {
    left: 25%;
}

}